UDP Wakeword detection with Rhasspy mobile app

Hi, I’m trying to set up the udp wakeword detection for hours now but I can’t get it to work. I followed the rhasspy docs but it isn’t clear for me what to do.

  • I’m running on docker and opened the port 12202 (looking at portainer)
  • in the app I entered the ip of the rhasspy base : port (192.168.178.40:12202)
  • in rhasspy base under audio recording I selected pyaudio and entered ip:192.168.178.40 port:12202
  • in rhasspy base under wakeword I selected porcupine and entered the port 12202
    but it still doesn’t work.

One thing I noticed is, if I enter 192.168.178.40:12101 in the app at the first line (not under wakeword)
I get a cannot connect with rhasspy message
Could anyone help? Thanks

You don’t need to set up a recording system on the rhasspy base as the app will provide audio data. on wake word you might try to put the ip of the docker container. however it is strange that the app can not connect to rhasspy even if this does not affect the wake word. To check if the app is not working or there is some other problem you can try to set a rhasspy satellite to send udp packet to rhasspy base.

Thanks for the reply,
I tested again and for some reason the app can connect now but the wakeword still does not work. I think I’ve tried every combination of docker host ip, docker container ip and phone ip on both sattelite and base but it still does not work. Detection over mqtt works. Do I have to open a port on my phone too as the docs say:

For this case, set both microphone.<MICROPHONE_SYSTEM>.udp_audio and wake.porcupine.udp_audio to the same free port number on your satellite

I try to explain the wake word configuration more clearly.

First, we open a UDP port to the container. Add in the docker run command “-p 20000:20000/udp” (in my example I will use the port number 20000) you must open a UDP no TCP port. So we can now check portainer.
image
In the app we enable wake word over UDP in the text field we put ip of the machine where rhasspy is running and after a colon the port we have opened previously. in my case 192.168.1.10:20000.


in the rhasspy base under Wake Word in UDP Audio (Input) first put the ip address of docker container:the port we have opened previously: siteId which was set in the app. in my case 172.17.0.2:20000:telefonovirtuale

now if everything worked by pronouncing the wake word the microphone symbol of the app should turn red indicating that it is listening for a command.

1 Like

Thank you very much for that detailed explanation. Turns out that I entered everything right but restarting rhasspy from the web UI didn’t apply the changes. I had to restart the whole container in order to apply them.
Thanks for the help.

1 Like