As far as I can see from the code commits and several toxic threads on this forum, Matrix products have only a simple beamformer implementation so far, despite the unsubstantiated description on the official site that they support all DSPs. I personally have a Matrix Voice (esp32) board and a couple of ReSpeaker Core v2 boards.
None of these 2 provides all the DSPs out of the box. But SeeedStudio has a partnership with Alango company which ships their VEP package (wrapped into librespeaker library) with ReSpeaker Core v2 (as a separate deb package though).
I have tested mostly all the DSP algorithms on ReSpeaker Core v2, and can conclude the following:
- NS and AGC work well;
- AEC works imperfectly (they actually suppress the output: ~20dB), so you can still hear the background music; it works well if your speaker is configured to ~70% volume level and there are no bass’ peaks that affect the preprocessed audio quality; however, the peaks’ issue can be workarounded via decreasing the volume programmatically while KWS triggering;
- KWS is good (with default keywords though);
- Beamformer with DOA works well for a single audio input; but if you have several distractors (like TV), it doesn’t work as expected (focusing the beam which triggered the wake word);
- VAD doesn’t work as expected, as any noise is treated as a voice activity.
On the Matrix side, we have only a primitive beamformer that can’t handle multiple input sources as well. But you can also add KWS from wakenet. Of course, if you plan to use Matrix Voice as a Pi Hat, you can add more algorithms on your own, but it doesn’t seem like a reasonable investment.
You can find a WS streaming service that reveals mostly all the DSPs for the ReSpeaker board on my GitHub.
And the same thing, but for Matrix Voice.