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.
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.
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?
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.
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
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 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.
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.
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.
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)