It should work when your server has added the client Side Id in the wakeword site Ids list.
It works by sending small packages to your server all the time (this floods mqtt a little bit), so i would advice you to either create multiple porcupine accounts or use udp instead.
For udp you add the server address in the app and then in your server u add the docker container ip address as udp audio input. Like 172.17.0.2:20000, you can use multiple devices as udp input by naming them like so: 172.17.0.2:20000:mobile1 … (i haven’t tried that yet)
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.