Matrix-Voice-ESP32-MQTT-Audio-Streamer for newbie…

Hello, I try to use my Matrix-Voice with your Matrix-Voice-ESP32-MQTT-Audio-Streamer…
Please everyone, I need help.

Sorry, my english is poor and I had never use IDE Arduino…

I do step by step…
I had copy the folder “hal” to my Arduino IDE libraries folder…
Now, it is write:
Be sure to check this pull request: This code uses disconnect(), which will cause the MatrixVoice to crash if the fix from the PR is not in it.
I’m absolutly lost.
I don’t know how do that !

And please, where the folder “MatrixVoiceAudioServer” where there are two bin files…

I had read all I found on this subject, but it’s a faillure ! I’m sure it’s easy for many of you.
Once again I’m sorry, but if you should help me…you would all my gratitude ! :slight_smile:
Thanks in advance.

Hi @Tengu,

For that step, navigate to the file async-mqtt-client/src/AsyncMqttClient.cpp once you have cloned the repo to your Arduino libraries folder, and remove line 707 in that file which is _client.send(); .

For the part below, you will have to clone @Romkabouter’s repo with the MQTT streamer that you are following, the MatrixVoiceAudioServer folder is in that repo. If you go into that folder, you will find the .bin files he is talking about. Those bin files basically configure your ESP32’s partition & bootloader. You can also build these binary files from scratch on your own if you do make menuconfig from your computer after the ESP IDF setup, but it’s much easier to just use the bin files Rom has already made for your first test!

Let us know if you have further questions!


Hello @Samreen .
Thank you very much for your help, sometimes I feel to be alone in the world and a simple question seems to be insuperable… :slight_smile:
I couldn’t remove the line 707 because there is a fix since 2 weeks.
I couldn’t find the folder “MatrixVoiceAudioServer” because I hadn’t clone it… :woozy_face:

So I had clone in “/esp”, and I continue :
new step :
Change the MQTT_IP, MQTT_PORT, MQTT_HOST, SITEID, SSID and PASSWORD to fit your needs. SSID and PASSWORD are in config.h

Could you confirm :
MQTT_IP and MQTT_HOST are : IP of raspberry
and SITEID is in /etc/snips.toml :

So, for me SITEID “raspi-tengu.local” ?

Too, if I compile arduino return that :

Plusieurs bibliothèque trouvées pour “WiFi.h”
MatrixVoiceAudioServer:49:26: error: wishbone_bus.h: No such file or directory

Utilisé : C:\Users\leten\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.2\libraries\WiFi
compilation terminated.

Non utilisé : C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\WiFi
exit status 1
wishbone_bus.h: No such file or directory

Thank you in advance.

Romkabouter is coming in my rescue … I had forget the hal folder !

Now, I have this error :

Arduino : 1.8.9 (Windows Store (Windows 10), Carte : “ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz, 4MB (32Mb), 115200, None”

C:\Users\leten\Documents\Arduino\libraries\hal\microphone_array.cpp: In member function ‘void matrix_hal::MicrophoneArray::CalculateDelays(float, float, float, float)’:

C:\Users\leten\Documents\Arduino\libraries\hal\microphone_array.cpp:138:17: error: ‘round’ is not a member of ‘std’

 int delay = std::round((it->first - min_distance) * sampling_frequency_ /


C:\Users\leten\Documents\Arduino\libraries\hal\microphone_array.cpp:138:17: note: suggested alternative:

In file included from c:\users\leten\documents\arduinodata\packages\esp32\tools\xtensa-esp32-elf-gcc\1.22.0-80-g6c4433a-5.2.0\xtensa-esp32-elf\include\c++\5.2.0\cmath:44:0,

             from C:\Users\leten\Documents\Arduino\libraries\hal\microphone_array.cpp:21:

C:\Users\leten\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.2/tools/sdk/include/newlib/math.h:278:15: note: ‘round’

extern double round _PARAMS((double));


Plusieurs bibliothèque trouvées pour “WiFi.h”
Utilisé : C:\Users\leten\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.2\libraries\WiFi
Non utilisé : C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.21.0_x86__mdqgnx93n4wtt\libraries\WiFi
exit status 1
Erreur de compilation pour la carte ESP32 Dev Module

Ce rapport pourrait être plus détaillé avec
l’option “Afficher les résultats détaillés de la compilation”
activée dans Fichier -> Préférences.

Maybe you can help me.
Thank you.

Hey @Tengu,

Have you figured this out? If not, I will test it tomorrow as I am in transit right now, and let you know if I find a solution.


Hey @Samreen ,
Thank you very much for your interest.

I managed to compile by modifying the file “microphone_array.cpp” as follows:

(a) change line 138:
int delay = round(((it->first - min_distance) * sampling_frequency_ / …

(b) add to line 80:
int round(float a) {
return (int)(std::ceil(a-0.5) == std::ceil(a)? std:ceil(a): std:floor(a));

I hadn’t written a C++ in years, but it works. If it helps someone…

That said, once all installed the audio jack output no longer seems to work. Is this normal with ESP32-MQTT-Audio-Server ?
I’m not sure how to deal with that.

If you have an idea, I’ll take it.

Thank you so much !