Rhasspy offline voice assistant toolkit

OK, I need to do a lot of Rpi testing anyways so I’ll check out transcription times too. I run Rhasspy on my i7 laptop or a server with a Xeon and 24 GB of RAM, so I never notice :laughing:

2 Likes

Hi Fellas hi @synesthesiam I have a stupid question. I used Snips but As it shuts down i need an alternative and your app seems perfect BUT my hassio server is located …let’s say… not reachable for voice commands .Is there a way to install Rhasspy on the Hassio machine but use a raspberry i to talk to it? Maybe it has already been duscussed but I could not find a real answer.

The goal is to use my hassio machine (intel nuc) as server and some PI as liek satellites in the house. Would it be possible. And is there someone with a clean wirte-up for this ? Would be awesome as Snips lost all my attention due to thier steps further to commerce their “product” with sonos.

1 Like

Welcome, @thundergreen. See https://rhasspy.readthedocs.io/en/latest/hardware/#microphone for ‘remote’ options. Feel free to ask some concrete questions when you try these.

1 Like

seems a bit complaicate for my needs :slight_smile: I found this thread… might work exactly as I want it :slight_smile:

I haven’t tried this setup, but that should work fine too, yes.

I will try and report :slight_smile:

1 Like

All right …will try to set this up tonight and will revert if needed …thanks so far :wink:

Find my demo here: Rhasspy demo with HassIO

2 Likes

Hi,

thank you for the great work! I hope someone can help me with this problem… would be very gratefull! There were more files missing, but I downloaded them from github and placed them in the right folder. But I can’t find this one… As you can see on the bottom of the picture “download now” doesn’t work

1 Like

Hi @robo1, glad you’re giving Rhasspy a try! For reference, the files that need to be downloaded for the German profile are listed in its profile.json file.

The acoustic_model directory is copied from cmusphinx-de-voxforge-5.2.tar.gz, specifically from the cmusphinx-cont-voxforge-de-r20171217/model_parameters/voxforge.cd_cont_6000 directory inside it.

Do you have any information from the terminal or log about why the download is failing? Thanks!

Hi @synesthesiam, thank you very much for your reply! I’ve downloaded and placed all the files which are shown in the rofile.json. This is what the terminal gave me before I placed the files in the config.

DEBUG:RhasspyCore:Using cached /home/pi/.config/rhasspy/profiles/de/download/cmusphinx-de-voxforge-5.2.tar.gz for acoustic_model
DEBUG:RhasspyCore:Using cached /home/pi/.config/rhasspy/profiles/de/download/cmusphinx-de-voxforge-5.2.tar.gz for base_dictionary.txt
DEBUG:RhasspyCore:Using cached /home/pi/.config/rhasspy/profiles/de/download/de-g2p.tar.gz for g2p.fst
ERROR:main:Compressed file ended before the end-of-stream marker was reached
Traceback (most recent call last):
File “/home/pi/rhasspy/.venv/lib/python3.6/site-packages/quart/app.py”, line 1471, in full_dispatch_request
result = await self.dispatch_request(request_context)
File “/home/pi/rhasspy/.venv/lib/python3.6/site-packages/quart/app.py”, line 1519, in dispatch_request
return await handler(**request_.view_args)
File “app.py”, line 200, in api_download_profile
await core.download_profile(delete=delete)
File “/home/pi/rhasspy/rhasspy/core.py”, line 635, in download_profile
unpack(temp_dir)
File “/home/pi/rhasspy/rhasspy/core.py”, line 614, in unpack_default
return shutil.unpack_archive(src_path, temp_dir)
File “/usr/local/lib/python3.6/shutil.py”, line 983, in unpack_archive
func(filename, extract_dir, **kwargs)
File “/usr/local/lib/python3.6/shutil.py”, line 921, in _unpack_tarfile
tarobj.extractall(extract_dir)
File “/usr/local/lib/python3.6/tarfile.py”, line 2010, in extractall
numeric_owner=numeric_owner)
File “/usr/local/lib/python3.6/tarfile.py”, line 2052, in extract
numeric_owner=numeric_owner)
File “/usr/local/lib/python3.6/tarfile.py”, line 2122, in _extract_member
self.makefile(tarinfo, targetpath)
File “/usr/local/lib/python3.6/tarfile.py”, line 2171, in makefile
copyfileobj(source, target, tarinfo.size, ReadError, bufsize)
File “/usr/local/lib/python3.6/tarfile.py”, line 249, in copyfileobj
buf = src.read(bufsize)
File “/usr/local/lib/python3.6/gzip.py”, line 276, in read
return self._buffer.read(size)
File “/usr/local/lib/python3.6/_compression.py”, line 68, in readinto
data = self.read(len(byte_view))
File “/usr/local/lib/python3.6/gzip.py”, line 482, in read
raise EOFError("Compressed file ended before the "
EOFError: Compressed file ended before the end-of-stream marker was reached
[2019-12-19 09:37:08,820] 127.0.0.1:35410 POST /api/download-profile 1.1 500 65 1004042
INFO:quart.serving:127.0.0.1:35410 POST /api/download-profile 1.1 500 65 1004042

But now the rhasspy web console gives me this error: /home/pi/rhasspy/profiles/de/sentences.ini’ does not start with ‘/home/pi/.config/rhasspy/profiles/de’

I’m sorry to come back to you and I hope you can help me again
Cheers!

I had the same error downloading files for kaldi (speech to text)
But I thought it was because of my internet connection :woozy_face: So I’ve tried to download files several times after Rhasspy reboot. And it’s ok now
I’m using Rhasspy hass.io addon

I think what’s happening is that the download sometimes get interrupted. Rhasspy only re-downloads if the file is missing or has a size of 0 bytes, so it will be broken until a full re-download.

I’m going to try and get the file size from the server and compare before deciding to re-download.

1 Like

Hi,

I’m having some weird issues.

I’ve installed raspbian and docker and pulled down the docker image (tonight)

I goto the website and hit hold to record, it records my words and everything looks pretty good.

I got into settings and turn on wakeword with pocketspinx and now I can no longer record anything, even after turning it off and rebooting.

Using a PS3 eye as a mike

Hi, all!
Playing with Rhasspy and looking for option to pass “raw_text” to hass. Is there any way?

There is now! I added two new slots to the HA event:

  • _text
  • _raw_text

These let you get at the text and raw_text properties of the recognized intent :slight_smile:

1 Like

Great! I’ve just tested! And it’s working as I expected. I use _raw_text for reverse play by TTS. I want to know, what exactly Rhasspy had heard from me! And I have to say - Rhasspy recognize so good!!! Thank You!

After tests my complex configuration I’m going to share it!

1 Like

I’ve tried setting this up with remote rhasspy bit there’s no good docs how to get this working .I saw a write-up here but failed. Would it be possible to get a nice write-up with rhasspy on hassio with raspberry as client ?

1 Like

I’ve also just :boom: realized (this evening) that MQTT is not required for Rhasspy to integrate with Home Assistant. What I’d love to know is, how to enable detailed logging in Home Assistant for the Rhasspy module? Thanks in advance!

Something like this:

# Provide diagnostic information
logger:
  default: info
  logs:
    homeassistant.components.generic: debug
    pychromecast: debug
1 Like

Hi,
I do not want to bother you but do you have a solution for this maybe? Re-downloading did not solve it for me … Cheers!