New Rhasspy Mobile App - Beta

A question related to the Porcupine (Local) implementation. If my Internet connection is down for some reason, will that cause the wake word functionality to fail because it couldn’t verify the license?

And a question about having text read to me on the satellite. I was able to get that working last night. But it sounds very robotic. Is it possible to change to a different speaking voice?

Porcupine only requires Internet access when verifying the license.

The robotic voice has nothing to do with the app, the app just plays sound and uses the server to generate the audio. There are various other options like certain homeassistant addons to generate better audio from text.

And when does that check happen? What happens if that check fails (internet is down)?

When it doesn’t work the wake word service shows an error.
It’s done after saving the configuration, when microphone permission is enabled. Else the wake word configuration shows and enable microphone permission button - after you click that it will verify the key. When you don’t click it it will be verified the first time it’s listening for a wake word + microphone permission is given.

When the phone or does it run as a service is restarted, do I need to start the app again manually? Will Porcupine need to do this verification again then?

If I don’t have to worry about the wake word not working just because the internet is down, I would be fine with their licensing scheme.

Once wake word is working correctly I’m just about ready to deploy this (get more satellites).

Related to that: is there a way to export and import my settings? That would be very helpful – I wouldn’t have to enter these settings on every phone I’m using as a satellite.

I have to check if porcupine needs to run the verification again, as far as i know it’s only done once.

You can go into Settings-> Save and Restore Settings → Save to create a full backup.

When I set it to MQTT, the red outline around the speaker button goes away, like it’s not listening for the wake word. I have wakeword setup on the base station and the site id added to it.

Setting it to UDP, it still shows the red outline, but it doesn’t work. Is there anything extra I need to do for this setup?

Why is a license required if it doesn’t use the internet to recognize the wake word? It’s not needed when using porupine in a normal rhasspy setup.

About MQTT not showing a red line: I will look into it.
UDP definitely works, depending what your server runs on you might need port forwarding, for example on a Synology Nas.

Rhasspy server uses an old version of porcupine that doesn’t require an authkey. I could try to add the latest version that doesn’t require an auth key as secondary option if it is still available.

1 Like

I have to correct how the MQTT wake word service works:

It waits for an incoming mqtt message to wake up just like rhasspy does normally Wake Word - Rhasspy

When it works, it works well. But I’m having reliability issues.

It sometimes gets into a funk where it acknowledges that I want to make a request then stops listening before I can actually make the request.

Please take a look at this short video (20 seconds) to see what I mean.

Is there a way to fix this?

https://youtu.be/e7P5DhYO7w0

What kind of silence detection do you use? Via MQTT or via the app (in the app settings)?
And please tell me what device you are using and on which android API level

In the app. I’m still figuring this out and didn’t even know mqtt was an option there. Which is better?

It’s a TCL 30 running Android 12.

After answering your question, I decided to try increasing the sensitivity. I’ll see if that helps.

Jeah when you use MQTT as speech to text service then the server will recognize the silence.
In the app it checks that the audio is below the audio level for the desired time. I could add a minimum length to a voice command, I think that would help.

I’ll investigate the MQTT option.

Tinkering with the sensitivity didn’t seem to have any effect at all.

Before reaching out, it was set to somewhere around 45.

I tried increasing it to the MAXIMUM and when that had no effect, I brought it way down to 5 and there was still no change.

https://youtu.be/qVI6MNL3ZE4

Can you test the “test Audi level” button and make a video ? That would help me to investigate the issue.

I did two test videos. In the first one, I’m trying to speak very softly. I’m trying to emulate someone speaking in the background without Rhasspy trying use those sounds too.

https://youtube.com/shorts/9NG8vP0I5Yc?feature=share

In the second video, I just spoke normally as if I wanted RHASSPY to do something – I just didn’t use the wake word.
https://youtu.be/b4oIwPMckWM

For me it looks like there might be some sort of exception happening, causing the recording to stop.
On the weekend there will be a new version with some bugfixes and also a setting to set a minimum time for the recording duration.

Hi.

I need some more help, sorry.
I followed the instruction Tutorials - Rhasspy to setup the satellite (mobile APP) with a base (Docker container in raspeberry pi ) but after several cobinations I couldn’t execute the intent and play the answer sound in mobile APP. When I used only the base station I used TTS and STT of google (STT with local command).

In the tutorial neither the satellite nor the base set the intent handle and don’t work for me. I set the intent handle in mobile APP (to Home Assistant) and I set the satellite id in the actived services of base station. The automation on Home assistant is fired, but the answer doesn’t play in mobile APP.

The current combination is this:


I triend publishing a message on hermes/dialogueManager/endSession or/and hermes/tts/say but nothing work (in actually combination I can’t load the sessionId from intent, in other’s combinations I could load but doesn’t work anyway)

I followed too the configuration of @ledz1996 but doesn’t work for me.
What are doing wrong? :sob:

Thanks