-
Notifications
You must be signed in to change notification settings - Fork 227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Snowboy stop development #630
Comments
We are evaluating some alternatives. |
We don't have much options at the moment, there is still porcupine but its not open source. With the next Kalliope release we are able to use mycroft precise trigger which is open source, I'm already played a bit with precise, but to create a good wake word, it need to take a lot of training but its not very user friendly. We need at least a good Kalliope wake word, therefore we need to collect some voice samples from the community then it needs a lot of datasets (for example I have downloaded 50GB from the mozilla common voice datasets) to train my wake word. I'm going to push a community based precise trigger after the next release of Kalliope. |
a few resources since i was just researching this:
you mention porcupine is not open source, do you mean the models? |
Maybe this one as well: https://github.com/alphacep/vosk-api ? |
So, the best option is porcupine? |
I did take a look into vosk mentioned by @Miloune, it looks promising and at least in the german dataset the word "kalliope" is recognized. I don't have much time lately but a first try with a simple script for a single keyword worked pretty good. |
Their is also the Snips project implementation. Used by Rhasspy. |
So for porcupine we cannot generate model for RPI, and generated models need to be recreated every 30 days if I understand well. |
if you are considering vosk, i'd recommend taking a look at mozilla deepspeech which i found to be both easier to configure and considerably more accurate. they also have examples for streaming transcription in python and bulk transcription in python |
I thought they were more stt engines than wake word engines. |
@Sispheor -- that's right, including vosk. i'm not sure if either is a good fit for a snowboy replacement, but if you're going to go that direction i think deepspeech is a better target from my limited experiments. |
snips looks promising but appears to have been acquired by Sonos. i couldn't find the platform source https://github.com/snipsco?q=platform&type=&language=&sort= and their usage docs have been removed. the closest available is https://github.com/snipsco/snips-record-personal-hotword |
Another similar project has created a list of wake work engine here. |
I have tried all and i prefer mycroft-precise, with good accuracy. |
The problem with Mycroft is mainly that the only supported arm proc is armv7l. |
Vosk is working pretty good so far, but its slow, with a small dataset it takes about 1-1.5 seconds until the word is recognize. For an Stt it would be a good offline alternative but as a trigger, may not.
@khimaros I already played around with deepspeech but for more than a year ago, I guess they did some improvements since then, so I guess I will take new look.
@Sispheor Hopefully soon there will come a good alternative to snowboy or wake work training on precise will get much easier... Edit: Not all x86 CPU's are supported by precise, AVX is required for the default tensorflow package, but most modern CPU's support AVX. |
@corus87 this might be an issue with setup or an old version. Which model/language are you using here? We have updated some of our models couple months ago: English, German. We have also updated the code for much faster latency of the answer. Please try to recheck with latest setup.
There will be a keyword spotter in Vosk soon, couple weeks. Stay tuned. |
@nshmyrev Thanks for your input! Those are great news you are working on a native keyword spotter, I'm looking forward to it! I just started earlier this week with Vosk, so I'm using the latest pip version and model you provide here . I'm running those tests on x86 with a ryzen 4800h, I guess there should be enough CPU power. |
Which model version exactly please? 0.15?
We do not recommend pyaudio exactly due to latency issues.
Ok, let me check too |
I tried
Thanks. |
hi i just try to install following website instruction. |
that's closed since ages |
The guys from rhasspy built a docker container to run a local web server where you can easily create your own pmdl wake word for snowboy. https://github.com/rhasspy/snowboy-seasalt Just install docker and run the command in the readme, it will download the container and starts the web server. Then you can access the interface on http://localhost:8000 and create a wake word in 2 minutes. |
Sorry for refloating this old issue, but since I haven't found any recent related issue or article on the matter, may I suggest to support TeachableMachine? It's opensource and easy to use. Don't know if there is an official alternative to Snowboy, I haven't found any. |
I have been using Precise quite happily for years. However, I currently have an openwakeword trigger, hacked from the precise code, that is sort of functional. Unfortunately, it does not seem to release the microphone after a key word is spotted. In addition to that, there seems to be a mis-match between the precise buffer system and openwakeword giving weird, but reliable, detection values. Sigh, there are advantages to analog when dealing with sound. YMMV |
I have a fully functional openwakeword trigger for Kalliope. It is much, much better than my precise trigger. All the default wake words are easily recognized, using any voice. Prototype code can be accessed at https://github.com/1001111github/kalliope-trigger-openww. In addition Home Assistant offers a huge number of word models. Local STT using the openai-whisper model and code at https://github.com/1001111github/kalliope-stt-whisperer. The only major drawback in Kalliope, was the dependence on "foreign" STT. CMUSphinx was never really an option. Whisper just works. I did have to remove punctuation. This module is not suitable for mobile, lol, as it does require some CPU and memory. Again prototype code, very little testing of edge cases or review And finally, another TTS, again fully open source using piper. https://github.com/1001111github/kalliope-tts-piper. The biggest advantage is there is no need to execute a system level program anymore. An added bonus is a lot of modern voices. While working with piper I found that most of my "Device not available OS Error 9985" was caused by pulseaudio and could be prevented by running pavucontrol in the background. I guess my next search is "python pulseaudio control" All feedback and ideas welcome HTH |
KITT.AI announces: on December 31, 2020 stop the development of all their products
Have you thought of an alternative?
The text was updated successfully, but these errors were encountered: