Link Search Menu Expand Document Moon Sun
Table of contents
  1. What is Rhasspy?
  2. Speech To Text
  3. Text To Speech
  4. Intent Handling
  5. Intent Recognition
  6. Wake Word
  7. MQTT
  8. Voice Assistant

What is Rhasspy?

Rhasspy is an open source, fully offline voice assistant toolkit. Rhasspy combines all needed tools for a voice assistant, from wake word to intent handling.

Speech To Text

This is the primary function of Rhasspy and allows Rhasspy to convert a voice command to a JSON event. The offline transcription of voice commands in Rhasspy is handled by one of three open source systems:

  • Pocketsphinx
  • Kaldi
  • DeepSpeech (The tool we are using)

Read more about Speech To Text

Text To Speech

Some commands produce a voice feedback, this voice feedback will be created with a TTS(Text-To-Speech)-system. There are different text to speech systems, Rhasspy combines them in one MQTT API. These are available: flite (only in english), picotts, nanotts, marytts, opentts, wavenet.

Read more about Text To Speech

Intent Handling

After a successful recognition of intent, Rhasspy will send a JSON even to a home Assistant or a remote Rhasspy server. The Intent handling systems are: Home Assistant, Remote HTTP Server, external command. Rhasspy publishes intent over MQTT protocol.

Read more about intent handling

Intent Recognition

The voice command is transcripted from Text-To-Speech system and after that the intent needs to be recognized and as result, the Rhasspy will produce a JSON event. There are different intent recognition systems:

  • Fsticuffs (if you plan to recognize the voice from your training set, this will be the best)
  • Fuzzywuzzy
  • Snips-NLU (NLU -> Natural Language Understanding)
  • RasaNLU
  • Mycroft Adapt (Not supported yet in 2.5),
  • Flair (also not supported in 2.5)
  • Home Assistant Conversation(Not supported in 2.5)
  • (command and dummy)

Read more about intent recognition

Wake Word

A wake word is used to activate the voice assistant. also called “hot word”. Rhasspy can listen to a wake world through different systems. It is also possible to wake Rhasspy with a HTTP Post verb. The best system is Porcupine.

Read more about Wake Word

MQTT

MQTT is an OASIS standard messaging protocol for the Internet of Things (IoT). It is designed as an extremely lightweight publish/subscribe (one to many BI directional communication) messaging transport that is ideal for connecting remote devices with a small code footprint and minimal network bandwidth. It has tree level of quality of services, support for unreliable networks and security enable.

Read more about MQTT

Voice Assistant

Voice assistants are already being used in many parts of our live: They are used in smartphones and smart speakers, in mobile apps and operating systems, in cars, in medical care and telecommunications. Based on an input (mostly as voice command), the voice assistant will do what we asked it for. The answer can be in the form of a spoken phrase or an action. There are different voice assistants such as Siri, Alexa and Google Home. These voice assistants mentioned above all use the internet to process your commands and data on a cloud and many people are concerned about how they use private data. Other voice assistants like Rhasspy, Jasper, etc. are able to work without sharing our data over internet, and these are very interesting for people who are concerned about the privacy.