gather: do not set utterance_end_ms on Deepgram if endpointing is explicitly turned off, and also in that case return transcripts when is_final is true

This commit is contained in:
Dave Horton
2024-04-17 14:10:10 -04:00
parent 9cf9d4f587
commit cd06fa2049
2 changed files with 3 additions and 2 deletions

View File

@@ -351,7 +351,8 @@ class TaskGather extends SttTask {
/* some special deepgram logic */
if (this.vendor === 'deepgram') {
if (this.isContinuousAsr) this._doContinuousAsrWithDeepgram(this.asrTimeout);
if (this.data.recognizer?.deepgramOptions?.shortUtterance) this.shortUtterance = true;
if (this.data.recognizer?.deepgramOptions?.shortUtterance ||
this.data.recognizer?.deepgramOptions?.endpointing === false) this.shortUtterance = true;
}
const opts = this.setChannelVarsForStt(this, this.sttCredentials, this.language, this.data.recognizer);

View File

@@ -692,7 +692,7 @@ module.exports = (logger) => {
...('endpointing' in deepgramOptions) &&
{DEEPGRAM_SPEECH_ENDPOINTING: deepgramOptions.endpointing === false ? 'false' : deepgramOptions.endpointing,
// default DEEPGRAM_SPEECH_UTTERANCE_END_MS is 1000, will be override by user settings later if there is.
DEEPGRAM_SPEECH_UTTERANCE_END_MS: 1000},
DEEPGRAM_SPEECH_UTTERANCE_END_MS: deepgramOptions.endpointing === false ? null : 1000},
...(deepgramOptions.utteranceEndMs) &&
{DEEPGRAM_SPEECH_UTTERANCE_END_MS: deepgramOptions.utteranceEndMs},
...(deepgramOptions.vadTurnoff) &&