From cd4917f8145f4dddee5f9544b569dc83838e5579 Mon Sep 17 00:00:00 2001 From: Steve Dodier-Lazaro Date: Mon, 3 May 2021 11:07:13 +0200 Subject: [PATCH] feat: Aggregate most confident results to return a summary in the result event (#37) --- src/core/SpeechRecognitionWrapper.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/core/SpeechRecognitionWrapper.js b/src/core/SpeechRecognitionWrapper.js index e393b2f..adac57b 100644 --- a/src/core/SpeechRecognitionWrapper.js +++ b/src/core/SpeechRecognitionWrapper.js @@ -105,7 +105,21 @@ class SpeechRecognitionWrapper { let additionalArgs = [] if (eventType === SpeechRecognitionWrapper.eventTypes.RESULT) { if (!!event.results && event.results.length > 0) { - additionalArgs.push(event.results[0][0].transcript) + const transcripts = [] + for (let i = 0; i < event.results.length; ++i) { + let mostConfident = { confidence: 0, transcript: '' } + for (let j = 0; j < event.results[i].length; ++j) { + if ( + event.results[i][j].confidence > mostConfident.confidence || + // Programmatic use (instance.say(...)) returns no confidence. + event.results[i][j].confidence === undefined + ) { + mostConfident = event.results[i][j] + } + } + transcripts.push(mostConfident.transcript) + } + additionalArgs.push(transcripts.join('')) } }