Add option to speech-recognition streaming mode to include or not the triggers words in the message.
This commit is contained in:
parent
030424d034
commit
feb2383f64
|
@ -72,8 +72,11 @@ async function moduleWorker() {
|
|||
}
|
||||
else {
|
||||
console.debug(DEBUG_PREFIX+"Found trigger word: ", triggerWord, " at index ", triggerPos);
|
||||
if (triggerPos < messageStart | messageStart == -1) { // & (triggerPos + triggerWord.length) < userMessageFormatted.length)) {
|
||||
if (triggerPos < messageStart || messageStart == -1) { // & (triggerPos + triggerWord.length) < userMessageFormatted.length)) {
|
||||
messageStart = triggerPos; // + triggerWord.length + 1;
|
||||
|
||||
if (!extension_settings.speech_recognition.Streaming.triggerWordsIncluded)
|
||||
messageStart = triggerPos + triggerWord.length + 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -93,6 +96,16 @@ async function moduleWorker() {
|
|||
}
|
||||
else{
|
||||
userMessageFormatted = userMessageFormatted.substring(messageStart);
|
||||
// Trim non alphanumeric character from the start
|
||||
messageStart = 0;
|
||||
for(const i of userMessageFormatted) {
|
||||
if(/^[a-z]$/i.test(i)) {
|
||||
break;
|
||||
}
|
||||
messageStart += 1;
|
||||
}
|
||||
userMessageFormatted = userMessageFormatted.substring(messageStart);
|
||||
userMessageFormatted = userMessageFormatted.charAt(0).toUpperCase() + userMessageFormatted.substring(1);
|
||||
processTranscript(userMessageFormatted);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,6 +14,7 @@ class StreamingSttProvider {
|
|||
triggerWordsText: "",
|
||||
triggerWords : [],
|
||||
triggerWordsEnabled : false,
|
||||
triggerWordsIncluded: false,
|
||||
debug : false,
|
||||
}
|
||||
|
||||
|
@ -26,6 +27,10 @@ class StreamingSttProvider {
|
|||
<input type="checkbox" id="speech_recognition_streaming_trigger_words_enabled" name="speech_recognition_trigger_words_enabled">\
|
||||
<small>Enable trigger words</small>\
|
||||
</label>\
|
||||
<label class="checkbox_label" for="speech_recognition_trigger_words_included">\
|
||||
<input type="checkbox" id="speech_recognition_trigger_words_included" name="speech_recognition_trigger_words_included">\
|
||||
<small>Include trigger words in message</small>\
|
||||
</label>\
|
||||
<label class="checkbox_label" for="speech_recognition_streaming_debug">\
|
||||
<input type="checkbox" id="speech_recognition_streaming_debug" name="speech_recognition_streaming_debug">\
|
||||
<small>Enable debug pop ups</small>\
|
||||
|
@ -42,6 +47,7 @@ class StreamingSttProvider {
|
|||
array = array.filter((str) => str !== '');
|
||||
this.settings.triggerWords = array;
|
||||
this.settings.triggerWordsEnabled = $("#speech_recognition_streaming_trigger_words_enabled").is(':checked');
|
||||
this.settings.triggerWordsIncluded = $("#speech_recognition_trigger_words_included").is(':checked');
|
||||
this.settings.debug = $("#speech_recognition_streaming_debug").is(':checked');
|
||||
console.debug(DEBUG_PREFIX+" Updated settings: ", this.settings);
|
||||
this.loadSettings(this.settings);
|
||||
|
@ -66,6 +72,7 @@ class StreamingSttProvider {
|
|||
|
||||
$("#speech_recognition_streaming_trigger_words").val(this.settings.triggerWordsText);
|
||||
$("#speech_recognition_streaming_trigger_words_enabled").prop('checked',this.settings.triggerWordsEnabled);
|
||||
$("#speech_recognition_trigger_words_included").prop('checked',this.settings.triggerWordsIncluded);
|
||||
$("#speech_recognition_streaming_debug").prop('checked',this.settings.debug);
|
||||
|
||||
console.debug(DEBUG_PREFIX+"streaming STT settings loaded")
|
||||
|
|
Loading…
Reference in New Issue