448 karma · joined March 26, 2018
https://picovoice.ai/
Obviously, you can just grab the audio stream after the phrase is detected and route it to whatever you like. Google ASR or even a local one running on the device!
The voice control comes in two variations standard and tiny. The tiny one consumes even fewer resources. I provided metrics for the standard one. You can check the benchmark repo on benchmark it yourself as well :) https://github.com/Picovoice/wakeword-benchmark
We do work with a couple of SoC manufacturers and will disclose some of the results when our partners are ready. In general, we can run on any MCU with a C compiler and 200KB of RAM (maybe less if there is fast FLASH available). We already of models working on ARM Cortex-M and Cadence's HiFi4.
In reality, it is a lengthy decision tree. I do not want to put that here or on the company's website as it will just maximize the confusion. But it makes sense to put the common easy cases and then ask for contact in the rest. Which is probably the path we take as it will save us some time.
That being said I challenge you to find a company who offers similar tech and have pricing on their website. I suspect what I mentioned is the reason. I could be wrong.
1- Speech-to-Intent: It allows you to issue complex voice commands in a specific domain and in turn returns the intent. For example, in the case of a coffee maker you can say "Please may I have a single shot espresso with no milk and two sugars". The engine returns a JSON-like object with {"product": "espresso", "milk": "no", "sugar", "two", "# shots": "2"}. It is a tightly coupled domain-specific speech recognition and NLU. It is small (less than 3MB and 8% CPU usage on RPi3) and ideal for home automation, industrial application, service industry, etc.
2- Speech-to-Text: It is large vocabulary speech recognition software that runs locally. It will support all platforms currently being supported. It allows you to do large vocabulary transcription with high accuracy locally on an embedded platform.
With Picovoice you can use the voice control engine to accomplish this. Maybe something similar to this demo?
https://picovoice.ai/#voice-control-demo
The cool thing about this engine is that it is tiny. It uses less than 8% CPU on RPi3 and altogether it is less than 2MB (code, model, etc). Technically you can run it on something much smaller and cheaper than RPi.
Alternatively, the speech-to-intent engine could be a good candidate. More information on this along with an interactive demo will be released this weekend.
We will add another demo for speech-to-intent module fairly soon (over this weekend). Stay tuned!
Thanks again for sharing
Otherwise, I am thinking it could be something related to the microphone?
Take a look at this standalone demo if you like https://github.com/Picovoice/Porcupine/tree/master/demo/js
it should be a matter of tweaking a few parameters.