Rhasspy mobile app

That was a fast response :slight_smile:
I can set a text in the homeassistant intent which will then go through the text to speech and played by the jack output of the pi.
For example: What’s the temperatur in the the living room? -> Pi starts talking: There are 22°C in the living room. But that speaker is located in the living room. So having this audible feedback from the mobile would be great.
So Im clicking the microphone. Speak the request and will get an audible response from the mobile.

This feature is implemented I use the app with home assistant, send the intent through the events then thanks to Appdaemon send an Endsession or Continuesession after that the text is spoken by the app. If you can share additional information about your configuration so I can understand what is the problem.

Hey I really like your app, so far its working on my end :). But I wasn’t able to figure out how the wake word feature works… I have started the wake word feature but when I use the wake word nothing happens. Do you have a guide or sth that can help me out here?

For now the wake work consistenze only in send udp packet contents audio data so the detection is not done locally, but in this way you can use all the wake word detectors available in rhasspy just insert in the app ip and the port to which you want to send the audio and on Rhasspy add in UDP Audio (Input) ip (of machine where is rhasspy):port:siteId. if you are on docker you have to open an additional port before run the container “-p port:port/udp”.

1 Like

Hey @razzo04 congratulations on the wonderful idea and application. Could you please share your Rhasspy setting (profile) or or some simple guide? Im trying to use your app, rhasspy and node-red. App connected to rhasspy api and to mqtt without issues. Speech to text working, but i have a problem with intend handling and text to speech.

EDIT: When i set siteid as default in the your application, i can hear a voice output from the Rhasspy, but still get error message “no one managed the intent…”

I added an explanation for how to configure the app. Be patient with my bad English.
However the app gives the error “no one managed the intent” if within 4 seconds after receiving the intent doesn’t receive an endSession or continueSession message from rhasspy.

1 Like

Thanks for explanation, i have to check wheres the problem with endSession or continueSession. Maybe its because i use api/text-to-speech for responses in the node-red.

Yes it is possible, I have never tried the app with node-red and api/text-to-speech since I used python and MQTT but in the future I will run further tests to improve compatibility.

Did you try to implement local wake word?

I haven’t tried yet, but in the future I’ll try.

1 Like

@MihataBG
I noticed that with the latest versions of rhasspy has been modified messages
endSession and continueSession removing the field siteId so sometimes the app showed
the message “no one managed the intent” even if this had arrived correctly. Let me know if the problem is solved with the latest version of the app.

@razzo04 With the latest version of app and version 2.5.6 of Rhasspy im still receiving the message, but i think that the problem is from using api/text-to-speech. Maybe i have to check how can use python and MQTT in my case. What topic you use for text-to-speech?

I don’t send text-to-speech manually but sending from AppDaemon endSession or continueSession rhasspy takes care of sending the request for text pronunciation. if you want to send the request manually you can do it through the topic “hermes/tts/say” and as payload

{
"text":"",
"siteId":"" // must be the same in the app settings
}

Hi, I really appreciate your work. But I’m having the same issue like MihataBG. I have to type in the siteid of the rhasspy base in order to get tts to work. My assumption is that if I use nodered (or the web UI), the message first goes through rhasspy and because of that has the siteid (in my case) “base” and not the one the app would react to. Does anyone knows a way to tell the tts service what siteid it should use or am I understanding something wrong?

browsing the code I found that the text-to-speech api accepts the siteId as a parameter so you can specify on which satellite to play the message through the url http://localhost:12101/api/text-to-speech?siteId=yourSiteId.

Thanks, that worked well. It’s all written in the docs you just have to know what to search for.
Here is a list of possible http endpoints:

Thank you sharing your wonderful aplication!
Since updating to rhasspy 2.5.7 I have recognized a problem with german “umlaute” in the mobile application.
Instead of “wie spät ist es” “wie spät ist es” comes out of the voice recognition, therefore the intent recognition fails. With a previous version of rhasspy I had no problems with “umlaute” in the mobile app.
Do you have any ideas on this problem?

I avoided that problem from the beginning by avoiding Umlaute at all. My slots and sentences in rhasspy all use ue oe ae instead of ü ö ä :slight_smile:

I have to try this app very soon. Might be super useful.

I don’t know I’ve never tried the app with german language since it’s not my native language.
Does the problem disappear with previous versions of the app or does the situation remain unchanged?

Yes that workes. Thank you for this tip. Simple and effective :wink:

1 Like