I have a sound card with an AES/EBU input port that I want to access with two applications simultaneously. I want to record the input to a linear WAV file in real-time while also streaming it through IceCast. If I naively try to access the same input device with both applications one tells me that it can't access the device. How can I set up ALSA in order to accomplish this? Or do I have to relay it through some external program, introducing delays?


You can use the dsnoop plugin to copy the sample data to multiple virtual capture devices.

Put something like this into your ~/.asoundrc or /etc/asound.conf, and use snooped_digital as device name in both applications:

pcm.snooped_digital {
    type dsnoop
    slave {
        pcm "hw:2,1"   # the actual device
        channels 2
        rate 48000
  • It works, but it doesn't show up on arecord -l. Do you know how to make snooped_digital show up on arecord -l? – felipeduque Oct 1 '18 at 16:26
  • @felipeduque hint.description "blah" – CL. Oct 1 '18 at 18:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.