Is the AEC and De-reverberation code in side of the matrix-creator-hal?

Hi, Is the AEC and De-reverberation code in side of the matrix-creator-hal ?
I do not find it. I may want to replace it with some other algorithm for a testing.
How is the performance of AEC and De-reverberation under the high reverberation room?

Another question is that is the pre-processing algorithm such as BF/AEC/NS running at the Raspberry?
Then what is the function of FPGA, is it only for routing the mic signal to Raspberry?
How do the developer use the computing ability of the FPGA?


Hi Roy,

I have been having the same question regarding FPGA. Have you figured out the function of FPGA?
I thought the MCU should be powerful enough for all computations… So why do they use an FPGA on the board?


Can anyone answer this question please?

Hi guys,

The FPGA handles the demodulation of the 8 microphones, the signal from the actual mic is a PDM signal. This frees the users from doing that intensive process on the Pi. Also the FPGA handles the led ring output and the communication with the Pi and the MCU. Its like the heart of the Creator.
Regarding the audio features mentioned. As you know we have a basic Beamforming algorithm running on the Pi, using less than 5% of CPU. This creates an additional virtual microphone available in ALSA.
We also have examples of LP and HP filters using the lower C++ layer HAL ( link ) .
Other audio improvement algorithm like AEC and de-reverberation are being tested but are not public yet. The first goal is to have examples of those algorithms running on the Pi and eventually running on the FPGA itself. We have big plans for the FPGA.

Hope this helps,


Thanks for the clarification Yoel.

Have you guys released the verily where the PDM-PCM processing is being done?

Nobody can seem to find where this occurs in your FPGA repo on GitHub. Is that all of the FPGA code needed?