Rhasspy Language Support and Adding Uncommon Words

Updated

Rhasspy supports many human languages and lets you add uncommon words or pronunciations phonetically with automated assistance. The documentation lists a "Supported Languages" section but the excerpt doesn't enumerate them, so check that page for the current list before committing to a language. Adding new words is a documented capability, not a guarantee that every word will be recognized without tuning.

What the documentation confirms

  • Rhasspy is an open source, fully offline set of voice assistant services for many human languages.
  • It is optimized for pre-specified voice commands described well by a grammar, and can also do open-ended speech recognition.
  • Voice commands with uncommon words or pronunciations are a stated optimization area.
  • New words are added phonetically with automated assistance.

How command grammar and word handling fit together

You write commands in a template language, and Rhasspy produces JSON events for home automation software. The documentation example:

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

produces:

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

The practical implication: grammar-based commands are the well-supported path. If a command contains an uncommon word, the documented route is to add it phonetically with automated assistance rather than assume the base pronunciation model covers it.

Steps to check language support and add a word

  1. Open the "Supported Languages" page on rhasspy.readthedocs.io and confirm your language is listed.
  2. Install Rhasspy using one of the documented installation methods and access the web interface to download a profile.
  3. Author your custom voice commands in the template language.
  4. For uncommon words, use the phonetic addition with automated assistance described in the docs.
  5. Train Rhasspy, then test through the web interface before connecting to Home Assistant, Node-RED, or another system via MQTT, HTTP, or Websockets.

Expected result: your command is recognized and emits a JSON intent event. Common sticking point: a word that isn't in the language's pronunciation data won't match until you add it phonetically and retrain.

Where to go next

  • Getting Started Guide for prerequisites and setup.
  • Community site or GitHub issues if a language or word addition doesn't behave as documented.
  • The web interface exposes all functionality through an HTTP API, so configuration and testing can be scripted.