Rhasspy offline voice assistant toolkit


I have followed your instructions reconfigured
I started to see that error

Ok, thanks for trying. Does HassOS produce a log that we could see? I’m surprised that wav_aplay doesn’t load especially, since it has no dependencies (besides aplay being in the PATH).

I checked and rebooted
and i delete nlu in my configuration
then the report is valid and I restarted the message as follows


Here is my log file

Are you able to upload the entire text log?

After some more searching, it looks to me like Hass.IO only supports “official” components and dependencies. Rhasspy absolutely needs some packages to be installed via apt-get before it will function, so you may need Hassbian to make this work for now.

ok ,thank you
I’m used to it Hass.IO
do not want to move Hassbian

Thank you! That sounds very interessting…

I am running it in an Ubuntu VM on a NUC where also Home Assistant is installed. As microphone I attached a Jabra Speak 510 USB device.
I followed your single machine guide and outside of HA I can record with arecord and play files with aplay.
In the UI I have the hotword listening (haven’t used your customizing):

image

No error mesages in the log, but nothing happens when I speak. I would expect at least a confirmation sound after hotword detection (entries are valid in automations.yaml).
I guess my hotword_precise service is running according to the UI.
So maybe there’s something wrong with my sound setup.
Is there a possibility to check if speech input is being sent to the hotword_precise service?

You’re welcome! There is a way to test Mycroft’s precise using a tool called precise-listen that gets installed into your HA virtual environment. If you activate the virtualenv and then run precise-listen /path/to/okay-rhasspy.pb it should listen with the default microphone and print !!! when you say the wake word (“okay rhasspy”).

You might also try the hotword_snowboy and hotword_pocketsphinx components to see if either of those works. hotword_pocketsphinx isn’t as good (lots of false positives) but it does let you select a specific audio device in the configuration.

Could this work on hassio?

1 Like

@fernandex00 it seems not:

When I run precise-listen, I get the following error:

Traceback (most recent call last):
File “/home/rhasspy/.homeassistant/deps/bin/precise-listen”, line 7, in
from precise.scripts.listen import main
ModuleNotFoundError: No module named ‘precise’

Is there any additional installation necessary to have that module ‘precise’? Maybe that is the reason why it does not detect the hotword…

It could work on Hass.IO in principle, but it would require re-architecting rhasspy into a set of Docker containers. Are most people using Hass.IO these days?

I bumped the version of mycroft-precise to 0.2.0 inside hotword_precise.py (it was 0.1.1). It needs another Python library called precise-runner that is also listed in hotword_precise.py, but maybe the versions were mismatched.

Ir could be good to use this on hassio, most people uses hassio

1 Like

I don’t know if anyone knows the true answer to that but it is certainly the direction anyone new to HA is guided down.

This looks very intresting, thanks for the great work.
I will need a server/client setup tho as my home assistant installation is running on my nas server and there is no good way to get a microphone to this setup that will be useable in the rest of my home.

But i like the idea of simple raspberrz pis which work as client only, maybe combined with a speaker for tts output that i could place around the the flat.

A front-end/back-end type setup would also allow for multiple microphones (with real cheap low-end hardware) in multiple rooms around the house, while the “heavy” lifting could be done by the back-end.

Course, then you start potentially running into multiple microphones hearing you…

i just found the client server documentation on github, missed that.
But as far as i understand this requires home assistant on both machines or is this still incomplete?

Optimal setup would be exactly like mrand described, minimal microphone client that will only record and just sends the audiodata to my much more powerfull server.

The audio data is just POSTed via HTTP to the server, so it would be pretty straightforward to adapt the existing code to run without Home Assistant.