synesthesiam / rhasspy
- пятница, 3 января 2020 г. в 00:18:59
HTML
Rhasspy voice assistant for Home Assistant and Hass.IO
Rhasspy (pronounced RAH-SPEE) is an offline, multilingual voice assistant toolkit inspired by Jasper that works well with Home Assistant, Hass.io, and Node-RED.
Rhasspy transcribes voice commands into JSON events that can trigger actions in home automation software, like Home Assistant automations or Node-RED flows. You define custom voice commands in a profile using a specialized template syntax, and Rhasspy takes care of the rest.
To run Rhasspy with the English (en) profile using Docker:
docker run -d -p 12101:12101 \
--restart unless-stopped \
-v "$HOME/.config/rhasspy/profiles:/profiles" \
--device /dev/snd:/dev/snd \
synesthesiam/rhasspy-server:latest \
--profile en \
--user-profiles /profiles
Then visit the web interface at http://localhost:12101 See the web interface documentation for a brief tour of what you can do.
Rhasspy currently supports the following languages:
en)de)es)fr)it)nl)ru)el)hi)zh)vi)pt)sv)ca)The table below summarizes language support across the various supporting technologies that Rhasspy uses:
| Category | Name | Offline? | en | de | es | fr | it | nl | ru | el | hi | zh | vi | pt | sv | ca |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Wake Word | pocketsphinx | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| porcupine | ✓ | ✓ | ||||||||||||||
| snowboy | requires account | ✓ | • | • | • | • | • | • | • | • | • | • | • | • | • | |
| precise | ✓ | ✓ | • | • | • | • | • | • | • | • | • | • | • | • | • | |
| Speech to Text | pocketsphinx | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| kaldi | ✓ | ✓ | ✓ | |||||||||||||
| Intent Recognition | fsticuffs | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| fuzzywuzzy | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| adapt | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| flair | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||
| rasaNLU | needs extra software | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| Text to Speech | espeak | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| flite | ✓ | ✓ | ✓ | |||||||||||||
| picotts | ✓ | ✓ | ||||||||||||||
| marytts | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||||||||||
| wavenet | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
• - yes, but requires training/customization
For more information, please see the documentation.
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:
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.
For users who are also coders, pull requests for bug fixes or new components are always welcome and much appreciated!
If you can speak/write one of the supported languages, I would love to hear your feedback about that language's profile. I only speak English, so I rely on users of Rhasspy (and Google Translate) to help me write example sentences and create test WAV files.