Alsa Loopback Devices for Fun, but not yet profit...
Written by
on
in
Tuxedo.
So you want to be able to capture the output of N Alsa "devices" (think N separate programs). It seems like the correct solution to this should be an Alsa loopback device... so, here's how to create them.
- Add snd-aloop to your /etc/modules
- Add a file named /etc/modprobe.d/alsa-aloop.conf (content below)
- Create a .asoundrc that makes it easy to reference the loopbacks...
The aloop conf file looks much like a dummy conf file:
options snd-aloop index=1,2,3,4,5,6,7,8 enable=1,1,1,1,1,1,1,1 pcm_substreams=4,4,4,4,4,4,4,4 id=Loopback0,Loopback1,Loopback2,Loopback3,Loopback4,Loopback5,Loopback6,Loopback7
Okay, now your .asoundrc looks something like this (See how to control the default alsa device for an explanation of the default stanza):
pcm.spk0 { type dmix ipc_key 328210 slave.pcm "hw:Loopback0,0,0" } pcm.monitor0 { type dsnoop ipc_key 686590 slave.pcm "hw:Loopback0,1,0" } pcm.!default { @func getenv vars [ DISPLAY_ALSA_DEVICE ] default spk0 }
Repeating the pcm.spk and pcm.monitor stanzas for each of Loopback0 through Loopback7.
That's all working quite nicely, I get all of the loopback devices, and the audio does show up when I ask gstreamer to read monitor0 , but it's garbled somehow. So, a nice little bit of fun, but nothing useful yet.
Pingbacks
Pingbacks are closed.
Comments
Comments are closed.