Convert the text to WAV data and use “hermes/audioServer/< siteId>/playBytes/< requestId>” or you use the http endpoint “/api/say” where you post the text or send the text to “Hermes/tts/say” on your rhasspy server with the correct satellite site id.
Edit:
The app doesn’t handle “hermes/tts/say” for the following reason:
When receiving “hermes/tts/say” in app and using mqtt for text-to-speech then the app has to call “hermes/tts/say” by itself to enable the base to do the text-to-speech operation. But this would result in a loop because the app itself would also receive the command.
Therefore you have to send “hermes/tts/say” with the siteId from the app, this will be consumed by the rhasspy base, it will do the text-to-speech operation and call “hermes/audioServer/< siteId>/playBytes/< requestId>” with the given siteId, this then results in the app playing the sound.
I decided to support “Hermes/tts/say” with the newest Release because it simplifies app usage. It uses a specific sessionId so there won’t be a loop when also using mqtt as text-to-speech service.
Note that this endpoint expects a JSON string as input as described here Reference - Rhasspy
Jeah it’s already planned.
Mostly I would need to do testing as well as thinking about how I make file selection.
Most AndroidTVs don’t have a File App therefore I think about a download dialog in order to eg use custom porcupine wakewords.
Also I would need to do some testing just to make sure everything works as expected.
Right, is it possible to change voices for TTS playback?
Also, How to manage multiple satellites that we may be hearing the same command? So e.g. with Google speakers, only one of them responds at one point in time even though they all heard the wake word.
Also, Also, Any way of integrating with local AI for conversation? may be via Home Assistant?
For tts the selected System (http or mqtt) is used, you need to change the voice there. Another possibility is to process the command in Home assistant eg via nodered and the use some tts service and send only the audio to the app.
In order to have only one satellite react to a wakeword I think Mqtt dialog might be the way to go. You would need to listen to the wake word message and then tell only one satellite to react.
Maybe they found/will found a solution for this with rhasspy3/Wyoming protocol and I currently work on supporting it in the app.
Hi there! I am quite new to Rhasspy and Mobile app seems to be very promising. However I can not get it to work. I am not sure where problem is but I suspect that I can not record the speech for some reason. I can activate microphone by pressing or by wake word but the listening time expires and no record is made. At least if I press Play Recording nothing happens. In Dialog section I am getting RecordingIntentState > SendAudioCaptured: false, asrtext Null, AsrTeimeoutError. I have allowed microphone recording to this app. Besides wake word works fine so the mic is accesible to the app. Installed it on other Android device - it is the same.
Hi VilnisRadio,
I know that Nailik will probably respond soon, if you look at my thread on Wall Panel, HA App, etc. Nailik has been incredibly gracious in offering support. Just as an FYI, I’m in the same boat, however, I’ve been able to get things to work by using the old Rhasspy Mobile App from Razzo04 (GitHub - Nailik/rhasspy_mobile: Rhasspy is a voice assistant software. This repository implements the functionality of a Rhasspy satellite, with local wake word recognition.) and a docker container running the OpenWakeWord (GitHub - dalehumby/openWakeWord-rhasspy: openWakeWord for Rhasspy). However, as Nailik pointed out, the platform to update the old Rhasspy android app is a tough one, and it hasn’t been updated in a long time. So, there’s some quirks with the old app, like requiring a user name / pw for the mosquitto broker, even if you don’t have that set up, and it doesn’t have the ability to be brought to the foreground on activation. Anyway, hope this helps; as I said working for me for now, I don’t have the $ to buy hardware that support the new voice platform for HA now, so this is good enough for now (can turn on/off lights, respond to specific queries built in HA automations.
Jeff
Hi!
Actually I have to apologize, especially to Nailik. I carefully studied on Tutorials page how the satelites architecture is built and the difference between mqqt and http solution. My problem was that I did not properly set up master and satellites mixing between mqqt and http and master and sattelites. Once I put all settings to mqqt it worked just perfectly. I just did not had enough patience to study how the voice recognition works as it was my first experience for the Speech to text.
Hi VilnisRadio,
Would you mind posting your main Rhasspy config & your satellite config? I’d really like to use Nailik’s app, but I can’t get the wake word to work.
Thank you,
Jeff
I am glad you already found the issue!
When using the nightly build you should use the “Dialog” Screen to see the reason why stt was canceled/ended.
But maybe it’s also because of the bug that the Speech-to-text setting is not saved correctly.
I found the big it’s a weird race condition. I think the latest stable version saves just fine but the nightly doesn’t.
I’ll fix it in the upcoming days, not sure if I got enough time today.
And also thank you for using it. Currently my focus was on supporting Rhasspy3 and with it there are also some more changes, simplifying the code and hopefully also the usage. I just had a break but seeing some more users definitely is nice .
Hi Nailik,
Thank you so very much for continuing work on the app!! I’ve been doing a lot of reading about the new HA Assist & Voice, which is exciting, but it seems it really requires a lot of hardware to work well. I’m very happy with my Rhasspy 2.5 running on a raspberry pi, and my HA running as a docker in a very old unraid NAS using Kaldi as the TTS engine. My goal is to use an android satellite (check out this thread for the hardware, very nice looking, and inexpensive: Is this the perfect standalone tablet for HA? - Share your Projects! - Home Assistant Community ) in a part of my house where the current raspberry pi microphone coverage isn’t good. And yes, I understand about version checking I’ve actually tried different versions of your app, as well as the old one and, I’d really, really like to use yours, much more elegant of an implementation, but I just can’t get it configured correctly. I’ll be patient, I promise…
Jeffrey
Please excuse my ignorance, but even after a lot of reading, I still don’t understand what this app does.
Is it a mean to command my Android mobile to do things, by using voice commands?
Or is it a replacement for Whisper & Piper so that I don’t need those to use voice commands in Home Assistant?