Satelite - Base over shared MQTT - No audio capture and Base not reacting

Hi Folks!

I had a snips setup with multiple satellites and a base on server … and am trying to reproduce with Rhasspy. I’ve followed the tutorial in read the docs (Satelite and base with Shared MQTT), but am a little stuck.

Satellite (PiZero1) setup using Virtual environment on pizero running raspian.
Service options configured as per tutorial
udp audio ports added to try to prevent constant streaming

Base (Master) on an lxc host - Venv on Ubuntu
Service options configured as per tutorial
SateliteIds in each of the services

I start everything, state an intent. Satellite recognizes hotword:

[DEBUG:2020-09-05 14:16:43,277] rhasspywake_porcupine_hermes: -> HotwordDetected(model_id=’/home/pi/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/raspberrypi/porcupine.ppn’, model_version=’’, model_type=‘personal’, current_sensitivity=0.5, site_id=‘PiZero1’, session_id=None, send_audio_captured=None, lang=None)
[DEBUG:2020-09-05 14:16:43,282] rhasspywake_porcupine_hermes: Publishing 303 bytes(s) to hermes/hotword/porcupine/detected
[DEBUG:2020-09-05 14:16:43,346] rhasspyserver_hermes: <- HotwordDetected(model_id=’/home/pi/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/raspberrypi/porcupine.ppn’, model_version=’’, model_type=‘personal’, current_sensitivity=0.5, site_id=‘PiZero1’, session_id=None, send_audio_captured=None, lang=None)
[WARNING:2020-09-05 14:16:43,363] rhasspyserver_hermes: Dialogue management is disabled. ASR will NOT be automatically enabled.

The mqtt server sees this:

hermes/hotword/porcupine/detected {“modelId”: “/home/pi/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/raspberrypi/porcupine.ppn”, “modelVersion”: “”, “modelType”: “personal”, “currentSensitivity”: 0.5, “siteId”: “PiZero1”, “sessionId”: null, “sendAudioCaptured”: null, “lang”: null}

… and thats it. There appears to be no audio capture or sending, and the debug on my Base (Master) shows nothing.

Looking for

  1. suggestions on how to debug this further? …
  2. what is the file & location of the main config so I can see setup options outside of the gui
    and
  3. Insights into the working of the GUI (outside of settings): Am I supposed to see wakeword activity, intent recognition, etc…

Thanks in advance!

I have the exact same problem after I updated Rhasspy 2.5.2 to 2.5.5 Satelites are not working any more and I also get the same error. I use 2 raspberry pi’s and instead of porpucine I use mycroft…

Please post your base and satellite settings. Is Dialogue Management enabled on the base?

Yes, Dialog management enabled on base.

Base config:

{
“dialogue”: {
“satellite_site_ids”: “PiZero1”,
“system”: “rhasspy”
},
“home_assistant”: {
“access_token”: “mytoken…”
“pem_file”: “/etc/ssl/certs/”,
“url”: “https://ha.mydomain.ca
},
“intent”: {
“satellite_site_ids”: “PiZero1”,
“system”: “fsticuffs”
},
“mqtt”: {
“enabled”: “true”,
“host”: “mqtt.mydomain.ca”,
“password”: “pwd?”,
“port”: “2883”,
“username”: “rhasspy”
},
“speech_to_text”: {
“satellite_site_ids”: “PiZero1”,
“system”: “kaldi”
},
“text_to_speech”: {
“satellite_site_ids”: “PiZero1”,
“system”: “espeak”
}
}

Satellite config:

"intent": {
    "system": "hermes"
},
"microphone": {
    "pyaudio": {
        "device": "0",
        "udp_audio_host": "127.0.0.1",
        "udp_audio_port": "12202"
    },
    "system": "pyaudio"
},
"mqtt": {
    "enabled": "true",
    "host": "mqtt.mydomain.ca",
    "password": "pwd?",
    "port": "2883",
    "site_id": "PiZero1",
    "username": "rhasspy"
},
"sounds": {
    "system": "aplay"
},
"speech_to_text": {
    "system": "hermes"
},
"text_to_speech": {
    "system": "hermes"
},
"wake": {
    "porcupine": {
        "udp_audio": "127.0.0.1:12202"
    },
    "system": "porcupine"
}

}

Interesting discussion here (similar problem):


… I tried making all satelites “default” … but couldn’t get it to work…

Could you please try to remove 127.0.0.1 from the two UDP settings and just leave the port there?

Sure … thanks for the help!

So this is what satellite config looks like now:

{
“intent”: {
“system”: “hermes”
},
“microphone”: {
“pyaudio”: {
“device”: “0”,
“udp_audio_host”: “”,
“udp_audio_port”: “12202”
},
“system”: “pyaudio”
},
“mqtt”: {
“enabled”: “true”,
“host”: “mqtt.mydomain.ca”,
“password”: “pwd?”,
“port”: “2883”,
“site_id”: “PiZero1”,
“tls”: {
“version”: “”
},
“username”: “rhasspy”
},
“sounds”: {
“system”: “aplay”
},
“speech_to_text”: {
“system”: “hermes”
},
“text_to_speech”: {
“system”: “hermes”,
“wavenet”: {
“fallback_tts”: “espeak”
}
},
“wake”: {
“porcupine”: {
“udp_audio”: “12202”
},
“system”: “porcupine”

And response to wakeword:

[DEBUG:2020-09-07 17:03:39,847] rhasspywake_porcupine_hermes: -> HotwordDetected(model_id=’/home/pi/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/raspberrypi/porcupine.ppn’, model_version=’’, model_type=‘personal’, current_sensitivity=0.5, site_id=‘PiZero1’, session_id=None, send_audio_captured=None, lang=None)
[DEBUG:2020-09-07 17:03:39,853] rhasspywake_porcupine_hermes: Publishing 303 bytes(s) to hermes/hotword/porcupine/detected
[DEBUG:2020-09-07 17:03:39,891] rhasspyserver_hermes: <- HotwordDetected(model_id=’/home/pi/rhasspy/rhasspy-wake-porcupine-hermes/rhasspywake_porcupine_hermes/porcupine/resources/keyword_files/raspberrypi/porcupine.ppn’, model_version=’’, model_type=‘personal’, current_sensitivity=0.5, site_id=‘PiZero1’, session_id=None, send_audio_captured=None, lang=None)
[WARNING:2020-09-07 17:03:39,904] rhasspyserver_hermes: Dialogue management is disabled. ASR will NOT be automatically enabled.