<div dir="ltr">Hi folks,<div><br></div><div>I just spent a while figuring out how to solve a particular need and want to save it in the mailing list for posterity.</div><div><br></div><div>I'm an amateur radio operator, and we make extensive use of external sound cards for interfacing computers with radios for digital communication modes. I was experiencing a problem where I really wanted to record received audio (RX) to the left channel of a file, and transmitted audio (TX) to the right channel. Doing so would let me hear exactly what the modem program heard and sent.</div><div><br></div><div>After much fussing, I found an arrangement that worked: set up a null-sink to represent the rx-tx stream I wanted, then use two loopbacks, one each for RX and TX. Once that was set up, recording the file was simple.</div><div><br></div><div><span style="font-family:monospace"># </span><span style="font-family:monospace">BurrBrown </span><span style="font-family:monospace">chipset used in SignaLink USB</span></div><div><font face="monospace">SOUND_CARD="BurrBrown" <br></font></div><div><font face="monospace">RADIO_RX=$(pacmd list-sources | egrep "input.*$SOUND_CARD" | grep -oP "<\K[^ >]+")<br>RADIO_TX=$(pacmd list-sources | egrep "output.*$SOUND_CARD.*monitor" | grep -oP "<\K[^ >]+")<br></font></div><div><font face="monospace">pactl load-module module-null-sink sink_name=rxtx sink_properties=device.description=RXTX<br></font></div><div><font face="monospace">pactl load-module module-loopback source=$RADIO_RX sink=rxtx channels=1 channel_map=left<br></font></div><div><font face="monospace">pactl load-module module-loopback source=$RADIO_TX sink=rxtx channels=1 channel_map=right</font><br></div><div><br></div><div><img src="cid:ii_kuroobec0" alt="Radio Interface Source_Sink.jpg" width="542" height="128"><br></div><div><br></div><div>Hopefully this will help someone in the future looking to record both the input and output to a sound card!</div><div><br></div><div>Chris Keller, K0SWE</div></div>