First, since it’s my first post, I’d like to say HY!
Here is my situation,
I have a working rhasspy instance using docker on a proxmox VM, this will be my basestation (since it had more resources). I’d like to add a satellite (for my bedroom)
The satellite uses a PiZero2W and a Respeaker2Mic HAT.
I got the audio part working, (PiOs + Drivers).
I installed rhasspy using docker.
After configuration, I can wake up the satellite and issue commands, the commands are sent to the base and executed properly.
Now here is my issue, the response is played on the base station speakers instead of the satellite speaker.
As example:
- Saying the satellite wakeup word, I can hear the confirmation chime (from the satellite speaker)
- Asking the satellite “what’s the time?” I can see the request (web interface) and that it’s forwarded to the base station.
- Then the base station says what’s the time.
logs (from the example above) :
Satelite (sat1)
[DEBUG:2022-11-27 18:07:58,835] rhasspyserver_hermes: Sent 455 char(s) to websocket
[DEBUG:2022-11-27 18:07:58,827] rhasspyserver_hermes: <- NluIntent(input='what time is it', intent=Intent(intent_name='GetTime', confidence_score=1.0), site_id='sat1', id=None, slots=[], session_id='sat1-porcupine_raspberry-pi-58b452ce-75b8-47e8-885f-98db89e3fc4f', custom_data='porcupine_raspberry-pi', asr_tokens=[[AsrToken(value='what', confidence=1.0, range_start=0, range_end=4, time=None), AsrToken(value='time', confidence=1.0, range_start=5, range_end=9, time=None), AsrToken(value='is', confidence=1.0, range_start=10, range_end=12, time=None), AsrToken(value='it', confidence=1.0, range_start=13, range_end=15, time=None)]], asr_confidence=None, raw_input='what time is it', wakeword_id='porcupine_raspberry-pi', lang=None)
[DEBUG:2022-11-27 18:07:57,775] rhasspyserver_hermes: Handling AudioPlayBytes (topic=hermes/audioServer/sat1/playBytes/c570916f-3e1a-4261-973e-9d71bf387087, id=a09e79a2-911c-4557-bafd-9948e5899964)
[DEBUG:2022-11-27 18:07:55,373] rhasspyserver_hermes: Handling AudioPlayBytes (topic=hermes/audioServer/sat1/playBytes/e59a8e90-3f48-462b-9140-43d645f9b40b, id=a09e79a2-911c-4557-bafd-9948e5899964)
[DEBUG:2022-11-27 18:07:55,333] rhasspyserver_hermes: <- HotwordDetected(model_id='/usr/lib/rhasspy/.venv/lib/python3.7/site-packages/pvporcupine/resources/keyword_files/raspberry-pi/porcupine_raspberry-pi.ppn', model_version='', model_type='personal', current_sensitivity=0.5, site_id='sat1', session_id=None, send_audio_captured=None, lang=None, custom_entities=None)
Base station (base)
[DEBUG:2022-11-27 18:08:01,325] rhasspyserver_hermes: Handling TtsSayFinished (topic=hermes/tts/sayFinished, id=6fb8c777-f22b-4292-8de9-2f0d6920b682)
[DEBUG:2022-11-27 18:07:59,249] rhasspyserver_hermes: Handling AudioPlayBytes (topic=hermes/audioServer/base/playBytes/94c5f27e-31f4-4e8d-aa5e-e723aed4093c, id=6fb8c777-f22b-4292-8de9-2f0d6920b682)
[DEBUG:2022-11-27 18:07:58,769] rhasspyserver_hermes: Publishing 138 bytes(s) to hermes/tts/say
[DEBUG:2022-11-27 18:07:58,769] rhasspyserver_hermes: -> TtsSay(text='The time is 18 7', site_id='base', lang=None, id='94c5f27e-31f4-4e8d-aa5e-e723aed4093c', session_id='', volume=1.0)
[DEBUG:2022-11-27 18:07:58,766] rhasspyserver_hermes: TTS timeout will be 30 second(s)
[DEBUG:2022-11-27 18:07:58,750] rhasspyserver_hermes: Sent 367 char(s) to websocket
[DEBUG:2022-11-27 18:07:58,749] rhasspyserver_hermes: Handling NluIntent (topic=hermes/intent/GetTime, id=656f3b47-d3c8-4279-904a-40ef1743b313)
[DEBUG:2022-11-27 18:07:58,697] rhasspyserver_hermes: Publishing 268 bytes(s) to hermes/nlu/query
[DEBUG:2022-11-27 18:07:58,697] rhasspyserver_hermes: -> NluQuery(input='what time is it', site_id='sat1', id='e18eb494-ada3-4d22-b497-83f77c6c7fe2', intent_filter=None, session_id='e18eb494-ada3-4d22-b497-83f77c6c7fe2', wakeword_id=None, lang=None, custom_data=None, asr_confidence=None, custom_entities=None)
[DEBUG:2022-11-27 18:07:57,717] rhasspyserver_hermes: Handling AsrTextCaptured (topic=hermes/asr/textCaptured, id=b7702cae-c118-4d36-9bed-33dad531b63b)
[DEBUG:2022-11-27 18:07:57,591] rhasspyserver_hermes: Publishing 71 bytes(s) to hermes/asr/stopListening
[DEBUG:2022-11-27 18:07:57,591] rhasspyserver_hermes: -> AsrStopListening(site_id='sat1', session_id='dca49ab0-f57d-4db1-a643-b76f6c10a0c4')
[DEBUG:2022-11-27 18:07:57,590] rhasspyserver_hermes: Sent 40540 byte(s) of WAV data
[DEBUG:2022-11-27 18:07:57,589] rhasspyserver_hermes: Publishing 178 bytes(s) to hermes/asr/startListening
[DEBUG:2022-11-27 18:07:57,588] rhasspyserver_hermes: -> AsrStartListening(site_id='sat1', session_id='dca49ab0-f57d-4db1-a643-b76f6c10a0c4', lang=None, stop_on_silence=False, send_audio_captured=True, wakeword_id=None, intent_filter=None)
And the configurations
Satelite
{
"dialogue": {
"satellite_site_ids": "sat1",
"system": "rhasspy",
"volume": "0.5"
},
"intent": {
"remote": {
"url": "http://192.168.100.171:12101/api/text-to-intent"
},
"system": "remote"
},
"microphone": {
"arecord": {
"device": "default:CARD=seeed2micvoicec"
},
"pyaudio": {
"device": "0"
},
"system": "arecord"
},
"mqtt": {
"site_id": "sat1"
},
"sounds": {
"aplay": {
"device": "default:CARD=seeed2micvoicec",
"volume": "0.5"
},
"system": "aplay"
},
"speech_to_text": {
"remote": {
"url": "http://192.168.100.171:12101/api/speech-to-text"
},
"satellite_site_ids": "sat1",
"system": "remote"
},
"text_to_speech": {
"remote": {
"url": "http://192.168.100.171:12101/api/text-to-speech"
},
"satellite_site_ids": "sat1",
"system": "remote"
},
"wake": {
"porcupine": {
"keyword_path": "porcupine_raspberry-pi.ppn"
},
"system": "porcupine"
}
}
Base Station
{
"dialogue": {
"satellite_site_ids": "base,sat1",
"system": "rhasspy"
},
"intent": {
"satellite_site_ids": "sat1",
"system": "fsticuffs"
},
"microphone": {
"arecord": {
"device": "dmix:CARD=CameraB409241,DEV=0"
},
"pyaudio": {
"device": "0",
"siteId": "base,sat1"
},
"system": "pyaudio"
},
"mqtt": {
"site_id": "base"
},
"sounds": {
"aplay": {
"device": "default"
},
"system": "aplay"
},
"speech_to_text": {
"satellite_site_ids": "base,sat1",
"system": "vosk"
},
"text_to_speech": {
"larynx": {
"vocoder": "vctk_small"
},
"satellite_site_ids": "base,sat1",
"system": "larynx"
},
"wake": {
"porcupine": {
"keyword_path": "jarvis_linux.ppn"
},
"satellite_site_ids": "base,sat1",
"system": "porcupine"
}
}
I’ve tried scouring the forum and the dockumentation but I’ve been unable to find what’s wrong or misconfigured. .
Thanks in advance for your help.