Virtual audio cables
This is another post about the mess that is Linux audio. To follow along you may want to read the previous one first.
The goal this time
This time I want to create a virtual audio cable. That is, I want one application to be able to select a “speaker”, which then another application can use as a “microphone”.
The reason for this is that I want to use GNURadio to decode multiple channels at the same time, and route the audio from the channels differently. Specifically my goal is to usy my ICom 7300 in IF mode (which gives me 12kHz of audio bandwidth) tuned to both the FT8 and JS8 HF frequencies, and then let wsjtx listen on a virtual sound card carrying FT8, and JS8Call listen to a virtual sound card carrying JS8.
Creating virtual cables
We could use modprobe snd_aloop to create loopback ALSA devices in
the kernel. But I’ve found that to be counter intuitive, buggy, and
incompatible (not everything application supports the idea of
subdevices). It also requires root, obviously. So this is best solved
in user space, since it turns out it’s actually possible to do so.
Another way to say this is Continue reading


