From 817b08807a67be195a5e69fc620590ee15a0e0ee Mon Sep 17 00:00:00 2001 From: jahugg <jan@huggenberg.ch> Date: Wed, 22 Mar 2023 11:01:58 +0100 Subject: [PATCH] improved voice recognition --- src/main.js | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/main.js b/src/main.js index 85d6f1f..e93a03c 100644 --- a/src/main.js +++ b/src/main.js @@ -555,13 +555,18 @@ function addVoiceControls() { recognition.start(); console.log("Voice > listening"); + // restart recognition after ended automatically + recognition.addEventListener("end", () => { + recognition.start(); + }); + recognition.onresult = function (event) { let command = event.results[0][0].transcript.toLowerCase(); let confidence = event.results[0][0].confidence; console.log(`Voice > Received "${command}" (${confidence.toFixed(2)})`); - const matchingItem = commands.find(item => command.includes(item)); + const matchingItem = commands.find((item) => command.includes(item)); if (matchingItem) { let index = commands.indexOf(matchingItem); // get index of command in array let path = availableCommands[index].path; // get corresponding path in availableCommands array @@ -574,18 +579,8 @@ function addVoiceControls() { else if (command.includes("exit") || command.includes("home")) navigateToPath("/"); else if (command.includes("back")) moveUpNavigationLevel(); - }; - - recognition.onspeechend = function () { - recognition.stop(); - - setTimeout(() => { - recognition.start(); - }, "1000"); - }; - - recognition.onnomatch = function (event) { - printLogMsg("I didn't recognise that command."); + else if (command.includes("next") || command.includes("down")) focusNextNavigationItem(); + else if (command.includes("previous") || command.includes("up")) focusPreviousNavigationItem(); }; // updating voice command list -- GitLab