Rhasspy is an offline voice assistant toolkit for Home Assistant. It was inspired by Jasper, but uses more modern libraries and tools (e.g., spaCy , snowboy).
You install rhasspy by adding custom components to Home Assistant (wake word detector, speech to text, etc.) and then train it on your own tagged sentences. This customizes the speech recognizer (pocketsphinx) and intent recognizer (rasaNLU), and then lets you handle intents with
intent_script right inside Home Assistant to do whatever you want.
I’m in the process of documenting everything, but I hope there’s enough for people to get started and see if it’s useful for them. It should be possible to use it on a Raspberry Pi 3, on a desktop/laptop, or in a client/server model where the heavy lifting (speech/intent recognition) is done on a server while wake+recording happens on a Pi.
There are a few things I plan to add in the near future:
- More documentation and quick starts
- A way to automatically generate training sentences for all the switches in your configuration.yaml file (these work with the built-in HassTurnOn/Off intents)
- An intent handler that lets you ask about the state of any named sensor (e.g., “Is the garage door open?”)
- A chat plugin for driving rhasspy via text instead of speech from your phone (probably using matrix chat).
Let me know if you have any questions or comments!