Rhasspy (pronounced RAH-SPEE) is an open source, fully offline voice assistant toolkit for many languages that works well with Home Assistant, Hass.io, and Node-RED.

You specify voice commands in a template language:

[LightState]
states = (on | off)
turn (<states>){state} [the] light

and Rhasspy will produce JSON events that can trigger actions in home automation software or Node-RED flows:

{
    "text": "turn on the light",
    "intent": {
        "name": "LightState"
    },
    "slots": {
        "state": "on"
    }
}

Rhasspy is optimized for:

Getting Started

Ready to try Rhasspy? Follow the steps below and check out the tutorials.

  1. Make sure you have the necessary hardware
  2. Choose an installation method
  3. Access the web interface to download a profile
  4. Author your custom voice commands and train Rhasspy
  5. Connect Rhasspy to Home Assistant or a Node-RED flow

Getting Help

If you have problems, please stop by the Rhasspy community site or open a GitHub issue.

Supported Languages

Rhasspy supports the following languages:

  • English (en)
  • German (de)
  • Spanish (es)
  • French (fr)
  • Italian (it)
  • Dutch (nl)
  • Russian (ru)
  • Greek (el)
  • Hindi (hi)
  • Mandarin (zh)
  • Vietnamese (vi)
  • Portuguese (pt)
  • Swedish (sv)
  • Catalan (ca)

Intended Audience

Rhasspy is intended for advanced users that want to have a voice interface to Home Assistant, but value privacy and freedom above all else. There are many other voice assistants, but none (to my knowledge) that:

  1. Can function completely disconnected from the Internet
  2. Are entirely free/open source
  3. Work well with Home Assistant, Hass.io, and Node-RED

If you feel comfortable sending your voice commands through the Internet for someone else to process, or are not comfortable with rolling your own Home Assistant automations to handle intents, I recommend taking a look at Mycroft.