ODAS + Matrix Voice + SNIPS in the same raspi

I want to use ./odaslive service and snips-audio-server. But both systems required are connected to “MATRIXIO-SOUND: - (hw:2,0)”, and they can’t get mic information at the same time.
I tried to use command dnsoop but not works.
And I tried to connect snips with card Dummy (por example to mic0). In this way snips-audio-server runs and record data, but only record noise.
Is there any solution?

Hi @evagonf,

Welcome to the community!

Updating the MATRIX kernel modules to allow dsnoop is a feature on our roadmap, and is not currently implemented.

One solution that could work is creating a pipe for microphone data from MATRIX HAL, reading that pipe from ALSA, assigning one mic for Snips, and the rest of the mics for ODAS. I will try this and let you know how it goes.

If you want to get started with it yourself, you can follow the Microphone Array Record to Pipe section here. You will likely have to edit an ODAS file, my guess is this one for MATRIX Voice or this one for MATRIX Creator to use 7 mics instead of 8. One of the MATRIX Voice mics is in the middle of the board, so ODAS will probably work better using 7 mics for that one. With the MATRIX Creator, it may have a dead zone, but I’m not sure about that since I haven’t tested!


Thx @Samreen,

I tried to use a pipe but the quality of the sound is not enough to recognize hotword using HAL.