Rhasspy offline voice assistant toolkit

Great, I’m gonna look into it. Thank you!

Did the bump to 2.17.1 help? I don’t have a hass.io system readily available to test on.

Yes! But it asked me to download profile again and keeps asking :smiley:

Crumbs :frowning:

Only for non EN though, I have set the language to NL

OK, this should be fixed now. I re-wrote the download piece of Rhasspy for the latest version, and forgot to create intermediary directories.

Version 2.17 is now out (with some bug fixes)! I’m trying to focus the new few releases of Rhasspy on “quality of life” improvements instead of new features – fixing bugs and improving the user experience.

Here’s what new:

  • Added the porcupine wake word system (way better than the others)
    • There are a bunch of pre-trained keyword files available, but you have to pick the right one for your platform (desktop/laptop vs. raspberry pi)
    • You can train your own keyword, but it only lasts 30 days (you can just train it again, though)
  • Added a “Problems” tab to the web interface that tries to help with common Rhasspy problems. It only shows up if a problem is detected at start up. I’ll add more checks over time.
  • Re-wrote the profile download logic to be triggered by specific profile settings. Files are now only downloaded when absolutely needed.
  • Lots of bug fixes

One thing I forgot to mention from the last release: language model mixing. You can “open up” your voice commands to include general words/phrases from your language without adding it to sentences.ini. This makes training/recognition take a lot longer, but gives you a lot more flexibility in how you say things.

1 Like

Great new features and indeed a good idea to stablize now :slight_smile:
But I am already on 2.17?

Sorry, I see 2.17.2 now :slight_smile:

2.17.2? Also, multiple MQTT sites should work (comna separated).

The “Problems” tab is really helpful! I like the way the project is going to, with many improvements in usability.

But is there a way to ‘remove’ a problem message once it is solved? Now a red warning sign stays there while I already solved the problem.

Thanks!

Is the Problems tab gone? The warning sign should only be there if the tab is present, but I may have gotten it wrong. It checks the new (undocumented) /api/problems endpoint, which should have a list of every actor and their associated errors (if any).

The Problems tab is still there, complaining about “Unable to reach your Home Assistant server at http://pow:8123. Is it running?” I fixed the problem with Home Assistant and Rhasspy is now able again to talk to my Home Assistant server, but the problem message stays in the tab.

I have the same warning in the problems tab, but all works ok.
One thing: {tags} are now always returns as lowercase in the eventdata.
Something to keep in mind when things stop working :slight_smile:

I’m GET-ing the /api/ endpoint on Home Assistant to check if it’s up. The “fix” I just pushed adds in all the security stuff to that GET request (Hass.IO token, etc.). It worked fine on mine without that, but maybe your guys’ Home Assistants are more locked down?

The warning disappeared in the newest Docker release.

1 Like

Same here!

I am gonna try porcupine soon!

1 Like

Pocupine sounds very intresting. The biggest problem i had at the moment with snowboy and pocketsphinx were false positives while just talking or listening to radio/tv in the same room. Because of this my girlfriend banned my sattelite back to my office until this is sorted out :smiley:

As war as i understand with x86_64 you can generate a new keyword just using a cronjob every 3 weeks and you should be fine? Does rhasspy then needs a restart if the keyword file changed?

Cant wait to play arround with this.

But can i play it for testing?

It will, yes, because the Porcupine recognizer will have the old file loaded into memory. You could use curl in your cronjob to restart Rhasspy by POST-ing to the /api/restart endpoint and have it completely automated :slight_smile:

curl -X POST 'http://your-rhasspy-ip:12101/api/restart'

I’m not sure I understand exactly what you’re asking. If you upload a WAV file to Rhasspy, it will “play it back” internally as if a voice command was spoken and do all the stuff you would expect (contact your Home Assistant server, output to the websocket, etc.).

Is this what you mean?