I’ve installed rhasspy on a pi4 from the debian package, and using a seeed ReHat 2 for audio. I’m able to both record and play sound using aplay/arecord and also using the python utitlies provided from Seeed studio (PyAudio library). My problems start when trying to use Rhasspy as both audio recording and audio playing don’t seem to work. My rhasspy profile is as follows
{
“dialogue”: {
“system”: “rhasspy”
},
“intent”: {
“system”: “fsticuffs”
},
“microphone”: {
“pyaudio”: {
“device”: “12”
},
“system”: “pyaudio”
},
“sounds”: {
“aplay”: {
“device”: “plughw:3,0”
},
“system”: “aplay”
},
“speech_to_text”: {
“system”: “kaldi”
},
“text_to_speech”: {
“larynx”: {
“default_voice”: “southern_english_female”,
“vocoder”: “vctk_small”
},
“nanotts”: {
“language”: “en-GB”
},
“system”: “larynx”
},
“wake”: {
“system”: “porcupine”
}
}
with the device ID’s being set to what worked for aplay and PyAudio record.
I’m testing playing of audio using the tts function. When I type text and then select speak, I can see a .wav file is created in the larynx cache directory, but I hear nothing played and I see no errors in the logs. I can use aplay and play the wav file which has correctly been created.
Log File:
DEBUG:2022-12-31 21:42:30,305] rhasspyserver_hermes: Handling TtsSayFinished (topic=hermes/tts/sayFinished, id=102694f3-9760-44f5-8ac6-8c166496a5e8)
[DEBUG:2022-12-31 21:42:26,561] rhasspyserver_hermes: Handling AudioPlayBytes (topic=hermes/audioServer/default/playBytes/3c0c345b-023e-42e4-8c19-94133cd3b5dd, id=102694f3-9760-44f5-8ac6-8c166496a5e8)
[DEBUG:2022-12-31 21:42:24,665] rhasspyserver_hermes: Publishing 207 bytes(s) to hermes/tts/say
[DEBUG:2022-12-31 21:42:24,665] rhasspyserver_hermes: → TtsSay(text=‘Would this be faster on better hardware, that is the question’, site_id=‘default’, lang=‘southern_english_female’, id=‘3c0c345b-023e-42e4-8c19-94133cd3b5dd’, session_id=‘’, volume=1.0)
[DEBUG:2022-12-31 21:42:24,661] rhasspyserver_hermes: TTS timeout will be 30 second(s)
For testing the micropone from the Rhasspy gui, I’m using the wakeup button on the home screen, and expecting it to identify the intent I speak, but no intent is flagged and eventually I get a timeout error. The log file for this is;
ERROR:2022-12-31 21:53:16,469] rhasspyserver_hermes:
Traceback (most recent call last):
File “/usr/lib/rhasspy/usr/local/lib/python3.7/site-packages/quart/app.py”, line 1821, in full_dispatch_request
result = await self.dispatch_request(request_context)
File “/usr/lib/rhasspy/usr/local/lib/python3.7/site-packages/quart/app.py”, line 1869, in dispatch_request
return await handler(**request_.view_args)
File “/usr/lib/rhasspy/rhasspy-server-hermes/rhasspyserver_hermes/main.py”, line 943, in api_listen_for_command
async for response in core.publish_wait(handle_intent(), [], message_types):
File “/usr/lib/rhasspy/rhasspy-server-hermes/rhasspyserver_hermes/init.py”, line 995, in publish_wait
result_awaitable, timeout=timeout_seconds
File “/usr/lib/rhasspy/usr/local/lib/python3.7/asyncio/tasks.py”, line 449, in wait_for
raise futures.TimeoutError()
concurrent.futures._base.TimeoutError
[DEBUG:2022-12-31 21:52:46,450] rhasspyserver_hermes: ← HotwordDetected(model_id=‘default’, model_version=‘’, model_type=‘personal’, current_sensitivity=1.0, site_id=‘default’, session_id=None, send_audio_captured=None, lang=None, custom_entities=None)
[DEBUG:2022-12-31 21:52:46,442] rhasspyserver_hermes: Waiting for intent (session_id=None)
[DEBUG:2022-12-31 21:52:46,441] rhasspyserver_hermes: Publishing 199 bytes(s) to hermes/hotword/default/detected
[DEBUG:2022-12-31 21:52:46,440] rhasspyserver_hermes: → HotwordDetected(model_id=‘default’, model_version=‘’, model_type=‘personal’, current_sensitivity=1.0, site_id=‘default’, session_id=None, send_audio_captured=None, lang=None, custom_entities=None)
My current thought is that perhaps this is a python version issue as currently have 3.9.2 installed and it looks like rhasspy using 3.7. I’ve also tried a docker version of Rhasspy. With docker I could get audio out to work, but not audio in still. I’d prefer to use the package install so appreciate if anyone has any ideas on what the issue is, or further information required to troubleshoot this.
Many thanks in advance.