finds.dev← search

// the find

rhasspy/rhasspy

★ 2,746 · Shell · MIT · updated Apr 2025

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.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →