// the find
rhasspy/rhasspy
Offline private voice assistant for many human languages
Rhasspy is a set of offline voice assistant services that turn spoken commands into JSON intents for home automation tools such as Home Assistant and Node-RED. It suits technically comfortable users who want voice control without sending audio to a cloud provider. This repo is the top-level install and build tree that ties together dozens of sibling repos, and its last push was in April 2025.
- Commands are declared in a plain-text sentences.ini grammar with slots and optional words, and each match produces a fixed JSON intent. That makes behaviour predictable and easy to diff in version control.
- Services talk over MQTT using a superset of the Hermes protocol, so wake, ASR, NLU, TTS and dialogue can be swapped out or run on separate machines.
- Unknown words can be added phonetically with Phonetisaurus instead of retraining the whole model. That matters for names and local place words that no stock acoustic model handles.
- Many of the MQTT messages are also available over the HTTP and websocket APIs, so scripts can drive it without wiring up a full MQTT client.
- The last push was April 2025, and nothing in the repo shows a maintainer still steering it. Expect to fix problems yourself rather than wait on upstream.
- DeepSpeech is no longer maintained upstream, and the Hermes protocol takes its name from Snips.AI, a company that was acquired and whose products were wound down. Anyone adopting this stack inherits both dependencies.
- This repo is mostly shell build scripts and docs. The real logic lives in separate repos with their own issue trackers, so a bug often spans several projects.
- Setup is heavy: Kaldi and Phonetisaurus builds, a Python environment per service, and an MQTT broker. The Docker images help, but a single-room setup still takes real operational effort.