Speech from Base to Satellite

I want to do all my processing on the base – Rhasspy running on a Pi 4 with Hassio add-on – with recording/wake from a satellite on a Pi Zero w/ 2-mic respeaker hat. I’ve been partially successful with the wake word, so I know it is working, but I’m not able to enter text on the Base Rhasspy and have it speak on the satellite. I can do text to speech on the satellite from the web ui.

I can’t put more than 2 links and 1 picture attachment because of my account’s age… so please see the full post on the github issue, here: https://github.com/rhasspy/rhasspy/issues/222

The webUI is per instance. So pressing wake will only wake the server.
Speak will also only output to the server.

If you want speech to the satellite, you must post it to the text-to-speech endpoint on the server with siteId=satZero1 as querystring.
See the reference: https://rhasspy.readthedocs.io/en/latest/reference/#http-api

1 Like

Thanks, that makes sense, but I still think it should be an option since it’s basically just changing the MQTT topic slightly to use the Satellite’s ID.

For anyone that finds this in the future, I am determined to use MQTT instead of POSTing an audio file and I have my first working POC using another program I’ve created: https://github.com/LostSoulfly/PC2MQTT/commit/a41c2b7a2f80bbffb07b685dc515e367b96a4619

In essence, this simply copies the MQTT message for the base station’s hermes/audioServer/[baseId]/playBytes to the Satellite’s playBytes MQTT topic. And it works! I can now send speech from the base station quickly and easily. I may have to visit the playFinished topic and see if it matters, though.

edit: I plan to expand this to also wake the satellites, set the satellite volume, etc. If anyone else has any input or ideas I’d love to hear them!

Nice solution, although I have never actually used the speak option.
If I’d wanted to have a satellite say something, I just publish a message to hermes/tts/say via MQTT.
You can post a text and a satId and do not even need to use the Rhasspy webUI.
But if it works for you, good solution :slight_smile:

That’s even better! I’ll have to check that out. Good thing my POC only took about 30 minutes :stuck_out_tongue:

If you use Home Assistant, you could also implement it as a service and call it from the frontend or in an automation :wink: