limit utterance_end_ms to (1000,5000) per discussion with Deepgram (#740)

This commit is contained in:
Dave Horton
2024-05-02 13:19:14 -04:00
committed by GitHub
parent 7bcbab5b74
commit 56b8f0623b

View File

@@ -265,6 +265,20 @@ class SttTask extends Task {
_doContinuousAsrWithDeepgram(asrTimeout) { _doContinuousAsrWithDeepgram(asrTimeout) {
/* deepgram has an utterance_end_ms property that simplifies things */ /* deepgram has an utterance_end_ms property that simplifies things */
assert(this.vendor === 'deepgram'); assert(this.vendor === 'deepgram');
if (asrTimeout < 1000) {
this.notifyError({
msg: 'ASR error',
details:`asrTimeout ${asrTimeout} is too short for deepgram; setting it to 1000ms`
});
asrTimeout = 1000;
}
else if (asrTimeout > 5000) {
this.notifyError({
msg: 'ASR error',
details:`asrTimeout ${asrTimeout} is too long for deepgram; setting it to 5000ms`
});
asrTimeout = 5000;
}
this.logger.debug(`_doContinuousAsrWithDeepgram - setting utterance_end_ms to ${asrTimeout}`); this.logger.debug(`_doContinuousAsrWithDeepgram - setting utterance_end_ms to ${asrTimeout}`);
const dgOptions = this.data.recognizer.deepgramOptions = this.data.recognizer.deepgramOptions || {}; const dgOptions = this.data.recognizer.deepgramOptions = this.data.recognizer.deepgramOptions || {};
dgOptions.utteranceEndMs = dgOptions.utteranceEndMs || asrTimeout; dgOptions.utteranceEndMs = dgOptions.utteranceEndMs || asrTimeout;