I want to use Audacity (or similar) to record audio for podcasting. The podcasts will be interviews conducted via voice-over-IP (SIP) telephone.

I came across an excellent tutorial here: http://www.linux.com/learn/tutorials/367395-weekend-project-record-from-skype-calls-and-other-apps-on-linux

It gives most of the steps I need. Most importantly, it describes how to capture both sides of the call from apps that don't support recording. "The real solution to capturing both sides of the call is to construct a virtual PulseAudio device that connects to both of them" and "Then record the null sink, capturing the merged audio in a single file."

However, I want to do one thing differently. I don't want the audio of the conversation entirely "merged." I want one side of the conversation in one channel and the other side in another channel. There is actually a hardware device that does this and that's where I got the idea. The device is the JK Audio Inline Patch found here:


It offers "a mini stereo output jack, caller on left channel, local voice on right channel." That's similar to what I want. I think I can do it like the tutorial describes without having to buy a $250 US hardware device.

The original tutorial steps are:

pacmd info
cp /etc/pulse/default.pa ~/.pulse/default.pa

then open default.pa in your favorite editor and add something like this (based on the info from pacmd info):

# set up null sink and loopbacks to record voice calls
load-module module-null-sink sink_name=mywiretap
load-module module-loopback source=alsa_output.pci-0000_00_06.1.analog-surround-40.monitor sink=mywiretap
load-module module-loopback source=alsa_input.pci-0000_00_06.1.analog-stereo sink=mywiretap

From the tutorial: What's extra nice about this setup is that PulseAudio stores the application connection details automatically, so the next time you log in, you will not have to repeat the process of connecting the recording app to the Null Output Monitor — just fire up your audio recorder, phone your [interview subjects], and start talking...

My question is, How do I capture my audio in one channel and the interview subject's audio in another channel of a stereo recording? Or how do I capture them entirely separately (if necessary) using Audacity?

I fooled around with Audacity and I cannot open two windows and record two separate sources using Audacity (at least not that I could figure out).

In case it is of interest my SIP client is Twinkle.

2 Answers 2


The solution is to use JACK Audio Connection kit (http://jackaudio.org/). I ended up installed the KX Studio distro (based on Debian/Ubuntu) and I removed PulseAudio for simplicity.

The podcasts will be interviews conducted via voice-over-IP (SIP) telephone. I want one side of the conversation in one channel and the other side in another channel.

JACK allows me to do exactly this.


Here's a solution with PulseAudio and gstreamer:

  1. Find out the gstreamer device names for your speaker monitor and your microphone by looking into the output of pactl list | grep -A2 'Source #' . These two devices correspond to the two sides of a call.

  2. Run a gstreamer command as follows, supplying your device names instead for device=…:

    gst-launch-1.0 -e \
    pulsesrc device=alsa_input.usb-046d_0819_561F63A0-02.mono-fallback \
    ! queue ! audioresample ! audioconvert \
    ! vorbisenc ! oggmux ! filesink location=recording1.ogg \
    pulsesrc device=alsa_output.pci-0000_00_1b.0.analog-stereo.monitor \
    ! queue ! audioresample ! audioconvert \
    ! vorbisenc ! oggmux ! filesink location=recording2.ogg
  3. As a result, you'll have two separate recordings recording1.ogg and recording2.ogg for the two sides of the call. They start at exactly the same time, so can be used as different tracks in Audacity for example.

The gstreamer command simply opens two separate sources and two separate sinks, and routes one source to one sink each. It can also mix multiple sources into one sink, but that's what you don't want to happen in this case.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .