From 56b8f0623bcdf7cafd46d271668851301a37ae5e Mon Sep 17 00:00:00 2001 From: Dave Horton Date: Thu, 2 May 2024 13:19:14 -0400 Subject: [PATCH] limit utterance_end_ms to (1000,5000) per discussion with Deepgram (#740) --- lib/tasks/stt-task.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/lib/tasks/stt-task.js b/lib/tasks/stt-task.js index be96f44e..11394bd6 100644 --- a/lib/tasks/stt-task.js +++ b/lib/tasks/stt-task.js @@ -265,6 +265,20 @@ class SttTask extends Task { _doContinuousAsrWithDeepgram(asrTimeout) { /* deepgram has an utterance_end_ms property that simplifies things */ 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}`); const dgOptions = this.data.recognizer.deepgramOptions = this.data.recognizer.deepgramOptions || {}; dgOptions.utteranceEndMs = dgOptions.utteranceEndMs || asrTimeout;