We have purchased two Respeaker USB 4-mic array devices for our “voice assistant” project. Respeaker is expected to support proper AEC functionality so that a user can ask questions while the assistant is still answering the previous one.
The target system is Ubuntu 22.04.
We set up and tested the Respeaker devices according to the manual provided at the following link, and used the 6_bin firmware file for flashing:
To simultaneously route the audio output from the PC to Respeaker, we used the following configuration:
Digital Stereo (EIC958) Output + Multichannel Input
and
simultaneous output
for PulseAudio as described here:
https://linuxconfig.org/how-to-enable-multiple-simultaneous-audio-outputs-on-pulseaudio-in-linux
In this configuration, the AEC function works correctly on one Respeaker device (device A). However, on the second device (device B), we encounter the following issue:
AEC works correctly for about 90–120 seconds (see file #1), and then audio from channel #5 (playback) starts leaking into the resulting channel #0. The signal is strong enough that our ASR module starts recognizing the assistant’s voice — in other words, AEC stops functioning after a while.
Device A, unlike device B, operates correctly under the exact same Ubuntu 22.04 environment and identical acoustic conditions.
We are planning to adopt the Respeaker USB 4-mic array as a permanent solution for our project, but the inconsistent behavior of devices A and B, as described above, is currently blocking that decision. Therefore, we kindly ask for your assistance in clarifying the following:
- What could be the reason for the different behavior between devices A and B?
- How can we diagnose and configure device B more deeply than described in the provided manual?
- Is it necessary to reflash the XMOS chipset on the Respeaker?
- Should we try a different firmware version (not 6_bin) that still supports AEC?
- Could one of your specialists connect remotely to help diagnose device B?
- Could the behavior of device B be due to hardware damage caused by improper transportation?
- Does the difference in output/input volume levels (in dB), configured via PulseAudio, affect AEC quality?