Audio garbled when using Multi plugin to record from 2+ USB soundcards on Raspberry Pi

alsa-project/alsa-lib issue #472 was edited from TommyKaneko:
I have been trying to use the multi plugin to record multiple channels from multiple soundcards on the Raspberry Pi. The results are a garbled mess.
==== EDIT 26/08 ====
Having probed the issue some more, I would like to add more detail:
The devices and drivers I try to use are: `**** List of CAPTURE Hardware Devices **** card 0: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: Device_1 [USB PnP Sound Device], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 ` ...Curiously, I have actually had success using the multi plugin to record using a pro audio interface AND ONE `USB PnP Sound Device`, in this set up `**** List of CAPTURE Hardware Devices **** card 0: Device [USB PnP Sound Device], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: USB [Scarlett 2i2 USB], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0`
HOWEVER, if I try to add another `USB PnP Sound Device` to the multi setup, then the result is a garbled mess. My conclusion is that the multi plugin works generally, but it does NOT work for two or more `USB PnP Sound Device`. Something tells me that the plugin cannot differentiate the addresses of the audio frames held in two or more of these cheap USB microphones.
I have a more verbose post of my issue here: https://www.reddit.com/r/linuxaudio/comments/1m24po8/recording_on_multiple_u...
===EDIT 26/08 The following diagnosis was wrong: I have diagnosed the reasons as thus: - current raspberry Pi OS uses alsa v1.2.8+rpt1 - the "fix" for the multi plugin was implemented in v1.2.9 : https://github.com/alsa-project/alsa-lib/commit/369df322577034ea872978d6470e...
I am aware that the multi plugin was not meant to be used on multiple soundcards that are not in sync, however if the clock drifts over time, this is ok for my application.
I am here to seek advice on how I should go about creating a workaround. The limitations are that I need to use cheap USB microphones (it is a weight issue).
Without going along the microcontroller route, I thought one way was to make an [external plugin](https://www.alsa-project.org/alsa-doc/alsa-lib/pcm_external_plugins.html), based on the newly patched pcm_multi plugin. I am working on this, while climbing the steep learning curve. Perhaps I can contribute an external plugin for the project...
In the meantime, does a developer have a better suggestion that I might have success with? Or any tips if you are familiar with the pcm_multi plugin? @perexg ?
Issue URL : https://github.com/alsa-project/alsa-lib/issues/472 Repository URL: https://github.com/alsa-project/alsa-lib
participants (1)
-
GitHub issues - edited