UNPKG

web-wake-word

Version:

A web package for keyword detection

208 lines (149 loc) 6.71 kB
# Web Wake Word Detection / Keywords Detection by Davoice By [DaVoice.io](https://davoice.io) email: ofer@davoice.io Welcome to **Davoice Wake Words** – the premier Wake Words / keyword detection solution designed by **DaVoice.io**. ## About this package: This is a **"wake word"** package for React.js, Javascript, Angular, Vue.js, Svelte, Next.js, Nuxt.js, Gatsby, Ember.js, Backbone.js and Mithril.js. A wake word is a keyword that activates your device, like "Hey Siri" or "OK Google". "Wake Word" is also known as "keyword detection", "Phrase Recognition", "Phrase Spotting", “Voice triggered”, “hot word”, “trigger word” It also provide **Speech to Intent**. **Speech to Intent** refers to the ability to recognize a spoken word or phrase and directly associate it with a specific action or operation within an application. Unlike a **"wake word"**, which typically serves to activate or wake up the application, Speech to Intent goes further by enabling complex interactions and functionalities based on the recognized intent behind the speech. For example, a wake word like "Hey App" might activate the application, while Speech to Intent could process a phrase like "Play my favorite song" or "Order a coffee" to execute corresponding tasks within the app. Speech to Intent is often triggered after a wake word activates the app, making it a key component of more advanced voice-controlled applications. This layered approach allows for seamless and intuitive voice-driven user experiences. ## New Major version changes to 2.x.x due to massive reduction in library size and new API ## Features - **High Accuracy:** We have succesfully reached over 99% accurary for all our models. **Here is on of our customer's benchmarks**: ``` MODEL DETECTION RATE =========================== DaVoice 0.992481 Top Player 0.874812 Third 0.626567 ``` - **Platforms:** Web, JS, Angular, React etc' - **Easy to deploy:** Check out our example to enabled your web app. - **Low Latency:** Experience near-instantaneous keyword detection. # Using specific path to wasm file: If you need to the wasm file path, you can add another variable to KeywordDetector constructor. Below is an example of adding path to chrome extension path: ``` const keywordDetector = new KeywordDetector( modelsPath, 'model.onnx', threshold, bufferCount, onKeywordDetected, 'chrome-extension://<EXT_ID>/assets/wasm/' ); ``` ## Installation and Usage # Next.js Next.js requires static paths. You can run environment flags for the path such as below. Otherwise on Next.js the default path would be './' MODEL_FOLDER_PATH="/static/your-lib/" WASM_BASE_PATH="/static/your-lib/" AUDIO_WORKLET_PATH="/static/your-lib/" npm run build # Example cd example npm install npm run build # Test it in a browser: You can run use https server to test the wake words. Here is an example: npm install -g http-server http-server . -p 8080 --ssl --cert cert.pem --key key.pem or "npm run start" ## If you do not have cert.pem and/or key.pem: you can create them as follow: nopenssl genrsa -out key.pem 2048 nopenssl req -new -key key.pem -out csr.pem nopenssl x509 -req -days 365 -in csr.pem -signkey key.pem -out cert.pem ### Next steps Open a browser with the following URL https://192.168.1.218:8080 <br> See that it is working for you.<br> Integrate it to your life website/app.<br> # Wake word generator ## Create your "custom wake word"" In order to generate your custom wake word you will need to: - **Create wake word mode:** Contact us at info@davoice.io with a list of your desired **"custom wake words"**. We will send you corresponding models typically your **wake word phrase .onnx** for example: A wake word ***"hey sky"** will correspond to **hey_sky.onnx**. - **Add wake words to javascript project:** Simply copy the new onnx files to models directory make sure this directory it copied to the targer such as "dist/model". - **In JS code add the new onnx files to your configuration** In example.js change ``` const modelToUse = "need_help_now.onnx"; ``` To ``` const modelToUse = "hey_sky.onnx"; // or your_model.onnx ``` ## Contact us If you need any help contact us: ofer@davoice.io ## Githhub examples: ### Checkout examples on: https://github.com/frymanofer/Web_WakeWordDetection https://github.com/frymanofer/Web_WakeWordDetection/tree/main/example ## FAQ: ### What is a wake word? A wake word is a keyword that activates your device, like "Hey Siri" or "OK Google". "Wake Word" is also known as "keyword detection", "Phrase Recognition", "Phrase Spotting", “Voice triggered”, “hot word”, “trigger word” ### What is a Speech to Intent? Speech to Intent refers to the ability to recognize a spoken word or phrase and directly associate it with a specific action or operation within an application. Unlike a "wake word," which typically serves to activate or wake up the application, Speech to Intent goes further by enabling complex interactions and functionalities based on the recognized intent behind the speech. For example, a wake word like "Hey App" might activate the application, while Speech to Intent could process a phrase like "Play my favorite song" or "Order a coffee" to execute corresponding tasks within the app. Speech to Intent is often triggered after a wake word activates the app, making it a key component of more advanced voice-controlled applications. This layered approach allows for seamless and intuitive voice-driven user experiences. ### How accurate is the platform? Our platform ensures 99%+ accuracy in various environments. ``` MODEL DETECTION RATE =========================== DaVoice 0.992481 Top Player 0.874812 Third 0.626567 ``` ### Key words DaVoice.io javascript "Voice commands" "Wake words" "Voice to Intent" "keyword detection". "Wake word detection github" "Wake Word" "keyword detection" "Phrase Recognition" "Phrase Spotting" “Voice triggered” “hot word” “trigger word” "react.js wake word", "Angular wake word", "js wake word", "javascript wake word", "angular wake word", "Vue.js wake word", "Wake word detection github", "Wake word generator", "Custom wake word", "voice commands", "wake word", "wakeword", "wake words", "keyword detection", "keyword spotting", "speech to intent", "voice to intent", "phrase spotting", "react native wake word", "Davoice.io wake word", "Davoice wake word", "Davoice react native wake word", "Davoice react-native wake word", "wake", "word", "Voice Commands Recognition", "lightweight Voice Commands Recognition", "customized lightweight Voice Commands Recognition",