• This repository has been archived on 31/Aug/2020
  • Stars
    star
    938
  • Rank 47,645 (Top 1.0 %)
  • Language
    HTML
  • License
    MIT License
  • Created over 5 years ago
  • Updated almost 4 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Rhasspy voice assistant for offline home automation

Rhasspy has moved and improved!

This repository contains code for an older version of Rhasspy (2.4).


Rhasspy (pronounced RAH-SPEE) is an offline voice assistant toolkit inspired by Jasper that supports many languages. It works well with Home Assistant, Hass.io, and Node-RED.

A newer version of Rhasspy (2.5) is available at https://github.com/rhasspy/rhasspy

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.

Supported Languages

Rhasspy currently 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)

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.

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.

Contributing

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.

More Repositories

1

voice2json

Command-line tools for speech and intent recognition on Linux
Python
1,077
star
2

opentts

Open Text to Speech Server
Python
837
star
3

homeassistant-satellite

Streaming audio satellite for Home Assistant
Python
185
star
4

docker-mozillatts

Docker image for Mozilla TTS server
Python
180
star
5

old-custom-components

A voice assistant toolkit for Home Assistant
Python
75
star
6

magicpy

An autostereogram (MagicEye) image generator written in Python
Python
68
star
7

coqui-docker

Docker images for Coqui AI
Shell
54
star
8

hassio-addons

My Hass.IO add-ons
Shell
43
star
9

docker-marytts

MaryTTS text to speech server and a collection of voices for various languages
Shell
31
star
10

voice-recorder

Simple tkinter application for recorded voice samples with text prompts
Python
17
star
11

eyecode

Python library for analyzing gaze data from programmers
JavaScript
17
star
12

jsgf-gen

Tool for generating tagged sentences from JSGF grammars
Java
12
star
13

voice2json-profiles

Speech models and artifacts for voice2json
Python
10
star
14

jsgf2fst

Python
9
star
15

pt-br_pocketsphinx-cmu

Portuguese voice2json profile based on Pocketsphinx
Python
7
star
16

homeassistant-pipeline

Websocket client for Assist audio pipeline
Python
7
star
17

en-us_deepspeech-mozilla

U.S. English profile for Mozilla DeepSpeech
Python
7
star
18

openwakeword-satellite

Basic satellite for Home Assistant running openWakeWord locally
Python
6
star
19

zh-cn_pocketsphinx-cmu

Mandarin voice2json profile based on Pocketsphinx
Python
6
star
20

ru_pocketsphinx-cmu

Russian voice2json profile based on Pocketsphinx
Python
6
star
21

novice

Special Python image submodule for beginners
Python
5
star
22

eyecode-tools

A collection of tools for analyzing data from my eyeCode experiment
Python
5
star
23

en-us_kaldi-zamia

U.S. English voice2json profile based on Kaldi
Python
5
star
24

en-us_pocketsphinx-cmu

U.S. English voice2json profile based on Pocketsphinx
Python
5
star
25

de_deepspeech-aashishag

German profile using Mozilla's DeepSpeech and Aashishag Model
Python
5
star
26

el-gr_pocketsphinx-cmu

Greek voice2json profile based on Pocketsphinx
Python
5
star
27

mnemofy

Python utility to convert between words and mnemonic numbers
Python
4
star
28

rhasspy-profiles

Language-specific profiles for Rhasspy Hass.io add-on
Makefile
3
star
29

motion-sensor

Wakes/sleeps a Raspberry Pi display using a PIR sensor
Python
3
star
30

pl_julius-github

Polish voice2json profile based on Julius
Python
3
star
31

de_kaldi-zamia

German voice2json profile based on Kaldi
Python
3
star
32

artwork

Some of my art (for some definition of art)
Makefile
3
star
33

docker-deepvoice3

DeepVoice3 web server with pre-trained English models
Python
2
star
34

rhasspy-asr-kaldi

Automated speech recognition library for Rhasspy using Kaldi
Shell
2
star
35

pt-synesthesiam

CMU Sphinx acoustic model for Portugese (pt-br)
Jupyter Notebook
2
star
36

word2phonemes

Grapheme to phoneme guesser using PyTorch
Python
2
star
37

vi_kaldi-montreal

Vietnamese voice2json profile based on Kaldi
Python
2
star
38

esphome-nabu

C++
2
star
39

nexus

A collection of Cognitive Science experimental games
C#
2
star
40

wav-chunk

Read or write INFO chunks in WAV files
Python
2
star
41

fr_kaldi-guyot

French profile for voice2json using Kaldi with Paul Guyot's TDN 250 model
Python
2
star
42

hi_pocketsphinx-cmu

Hindi voice2json profile based on Pocketsphinx
Python
1
star
43

mycroft-precise-trainer

Text to speech wake word training scripts for Mycroft Precise
Python
1
star
44

sv_kaldi-montreal

Swedish voice2json profile based on Kaldi
Python
1
star
45

public-domain-sounds

Compressed WAV files from Public Domain Sounds
1
star
46

de_pocketsphinx-cmu

German voice2json profile based on Pocketsphinx
Python
1
star
47

pocketsphinx-python

Version of Python Pocketsphinx without sound
Python
1
star
48

es_pocketsphinx-cmu

Spanish voice2json profile based on Pocketsphinx
Python
1
star
49

2014-03-10-uva

Software Carpentry repository for University of Virginia bootcamp
Python
1
star
50

epub3-marytts

MaryTTS voice project builder for pre-aligned EPUB 3 audio e-books
Python
1
star
51

lutz

C++ library to compute Lutz complexity of a graph
C++
1
star
52

coqui-tts-tests

Test sound files for Coqui TTS
HTML
1
star
53

nl_kaldi-cgn

Voice2json profile for Dutch based on Kaldi CGN model
Python
1
star
54

marytts-txt2wav

Command-line utility for text to speech with MaryTTS
Java
1
star
55

rhasspy-nlu

Intent recognition library for Rhasspy
Python
1
star
56

kaldi-docker

Dockerizing a sub-set of Kaldi
Dockerfile
1
star
57

ko-kr_kaldi-montreal

Korean voice2json profile based on Kaldi
Python
1
star
58

ca-es_pocketsphinx-cmu

Catalan voice2json profile based on Pocketsphinx
Python
1
star
59

spatial_entropy

Computes an entropy profile for an image using moving averages
Python
1
star
60

kz_pocketsphinx-cmu

Kazakh voice2json profile based on Pocketsphinx
Python
1
star