Recording a Skype conversation on Linux

I've seen several rather convoluted methods to record a Skype conversation on Linux, some requiring more than one computer, or using special software packages not typically available in standard distribution repositories. This method is very simple, works on budget sound cards with only one channel (e.g. using the snd_intel8x0 driver), and requires no special software.

What you need

  • ALSA utilities, specifically alsamixer which in Ubuntu is provided by the alsa-utils package.
  • Audio recording software which uses ALSA. The gnome-sound-recorder works fine, and you can also use the command line arecord tool. The popular Audacity software recently added ALSA support, but you will probably have to change the preferences to enable this (it uses the deprecated OSS by default).
  • A version of Skype which supports ALSA. At time of writing, this means using the version 1.3 beta release.

Configuration

  1. Make sure Skype is set to use the ALSA drivers. In Tools [menu] -> Options -> Sound Devices -> Audio system to use, set ALSA.
  2. Set up the mixer:
    • Open a terminal and run alsamixer in it.
    • Use the cursor keys to set the microphone input level. If there are a lot of channels and/or your terminal is quite narrow, you can just keep hitting the right cursor key to scroll right.
    • Optionally set the Mic Boos option. This is done by highlighting the option with the cursor keys and pressing the M key to toggle the option.
    • Use the TAB key to change the view to [Capture] options.
    • Use the horizontal cursor keys to highlight the Mix channel, and press the SPACE key to select it. A red L R CAPTUR should appear above the option name.
    • Use the cursors to move to the Capture option, press SPACE to select this (you should see the red L R CAPTUR indicator here too), and choose a good level.
    • Press ESC to close alsamixer
  3. Run gnome-sound-recorder
  4. Set Record from input to Capture

Now you're ready to record. It might be best to do a test before you record an important conversation like an interview for your podcast. I like to use the Skype Sound Test user for this. The account name is echo123.

Here's a recording of my test (OGG format).

Adjusting the levels, caveats

The quality of your recording will depend on the levels which are set in the mixer. To adjust the volume of the remote party, use the PCM control. To adjust the volume of your voice change the MIC level.

The main problems with this setup are that you can't use audacity to do the recording. I know a lot of people use this software for recording podcasts, and switching to the gnome sound recorder for recording whole shows might not be desirable. I wish someone would implement ALSA support for Audacity!

Another problem is that there is a potential for conflict in the setting of the Mic volume. The remote party in your Skype calls have have a preference for a different setting than that which is optimal for recording levels.

Finally, a weirdness. Sometimes when I record I end up with the audio from the mic on one ear, and the rest of the audio in the other ear, but not always. To be honest, I'm at a bit of a loss to explain it. I think it has something to do with changing recording modes from 8 to 16 bit, and the sample frequency. I don't know. I suspect it is something peculiar to the snd_intel8x0 driver, although this is just a hunch based on a better known problem with Audacity sometimes freaking out unless stereo channels are used. If someone can describe to me how to control this, I would be very grateful.

Using KDE

Setting up the mixer is actually somewhat simpler using kmix than alsamixer by virtue of it having a nicer, GUI interface. The reason for describing the alsamixer method above is that the gnome volume control program doesn't appear to allow setting the Mix option.

To record, you can use the krecord program. This is not installed in Kubuntu by default, but there is a package in the repositories with the name krecord. This is not to be confused with krec which as far as I can tell doesn't support recording directly from ALSA.

Enjoy