@romkabouter
Thank you so much for the rewrite. I have successfully compiled the code and flashed it on my M5 Echo. I can trigger recording via the button and Rhasspy successfully recognizes and handles the intent
Somehow I cannot make the remote hotword detection work (I understood that local hotwork detection was removed) but remote should work, right?
In the Rhasspy log I have:
1611951144: New client connected from 192.168.x.x as satellite_kitchenAudio (c1, k15, u’pip’).,
1611951144: New client connected from 192.168.x.x as satellite_kitchen (c1, k15, u’pip’).
I made sure the the M5 is set to remote hotword via the webinterface
Rhasspy itself:
AudioRecording: Hermes MQTT
WakeWord: Porcupine - Satellite id “satellite_kitchen” is listed (I have also tried to add satellite_kitchenAudio as well)
I have a second satellite set up using the Android App which works fine (Hotword via UDP Audio).
Do you have any idea why it does not work with the M5 Echo?
/edit
After reboot hotword detection does not work at all for my setup anymore, hmm
yes, with button everything works fine with the M5 (leds, speech to text, recognition,…) . I have disabled Audio Recording, now Hotword works again for Android satellite, but for M5 only button works. Both satellites are listed in all active Rhasspy server settings (all but audio recording). Hmm, I will experiment a little bit… maybe sth related with UPD streaming from other satellite
for hotword detection only hotword would be needed, right? Audio Recording on Server is not needed?
Well, the software publishes audio to Hermes MQTT, so Audio Recording on your server should be set to Hermes MQTT.
Can you post some screenshots from your settings?
I think it has to do with the UDP settings somehow.
Did you try with version 7.1 are earlier?
I suggest using 22050 as google wavenet by the way. Higher than that will probably cause static sound (hissing) on the M5
Also on wakeword I see udp_audio set, might also be an issue. I do not know, never tried.
yes, version 7.1. I just managed to use the wakeword on the M5. It seems to work but quite bad. I had to put the M5 in a box to kind of isolate it and then after a few tries it picked up the wakeword. Only wakeword is that bad, the comand itself is picked up without any problems (when using the button).
Anyways, in general everything seems to work. I will try to find out whats interfering.
Thanks for your help and your great work on the code, I really appreciate it.
hostname: the IP of the device you want to use for OTA.
So, in case of the m5echo, use that IP if you want OTA. The ip is not forced, it might get a different ip on your network. Change it to the ip the device gets.
deployhost: only used for matrix voice. In that case, it is the IP of the Raspberry Pi the Matrix Voice is attached to.
I now build and upload your code to a m5echo. plattform.io shows several errors or warnings while uploading but at the end it says “success”.
Is there an easy way for testing m5echo that it is working correctly?
I can access the webserver on the m5.
I have an external mqtt server, configured in the m5 and rhasspy server.
I have wakeword detection working with the android app.
I get no response from the m5.
When it is connected to my WiFi, the LED is blue.
When i push the button, nothing changes.
The rhasspy log shows nothing when pushing the m5 Button or speaking hot word.
what is the usual way using the m5? wake word in m5 settings is on remote. when it is connected to WiFi what should be the usual behavior? should i see something in the rhasspy log when pushing the button? do i have to speak something to get a log entry? can i look somewhere at the external mqtt server for some action? is there an topic to subscribe to get some information? at the moment i dont know where to start debugging…
Yes, check the broker on the hermes/audioServer/<siteID>/audioFrame topic.
Where siteID is what you called it.
If you can acces the webserver, the flashing worked
Also, if you have it connected to the pc, open up the terminal and press the reset button.
Several messages should be printed there, like which state is being entered.
Start by checking the terminal and check the hermes/audioServer/<siteID>/audioFrame topic.
That way, you can verify that audio stream is working or not.
Oh, you fast in responding
5 minutes ago i got it working. The problem was the wifi connection over my repeater downstairs. I dont know why i can arrive the website on the m5 but the udp stream was not working. When it connects over the access point in my Living room everything works fantastic, it is realy great, very fast response.
When i use the same siteId for the rhasspy app and the m5, i can use the app for looking at the intent recognition. This is great for testing.
This is my profile in rhasspy, maybe it helps someone…
If you want Rhasspy to act as a server and the M5 as the one and only satellite, you can set the siteid of Rhasspy and the M5 the same
If you need more satellites, Satellite SiteID’;s should be a comma separated list of siteID’s in all Rhasspy server fields.
Rhasspy siteID should be called different, for which I suggest “server” or something like that.