Wednesday, 17 October 2012

How-to: Record Sound card Output in Ubuntu


The Linux sound stack is a mind-bogglingly complex layering of ALSA and Pluse Audio and bits of legacy code all mangled by whatever combination of hardware you happen to have in your machine. We used to rant about it on the podcast all the time. But it's getting better.

Capturing the output of your soundcard used to be a hit and miss affair, but I think I've got it down...


First item is to install the PulseAudio Volume Control (PAVU) from Ubuntu Software center. This is a much more comprhensive control centre for sound than anything that ships natively.
  • Open PulseAudio Volume Control from the Unity Dash or your favourite desktop environment, dock, launcher or menus.
  • Go to the Input Devices Tab.
  • From the dropdown Show (towards bottom of the pane), select All Input Devices.
  • Select Monitor of Built-in Audio Analog Stereo as Default fall back option - clicking the check box top right.
  • You can close the PAVU.
  • Open your favourite audio recorder - Sound Recorder is universal but very basic. It should now record all sound emitted by the sound card (including notifications, alarms, default beeps). You can choose  from the Record as drop-down to select the recording format - “CD quality MP3” comes out in 128kbps. 
  • I swear by Audacity which is the Swiss Army Knife of audio. If you select Pulse as your recording source (beside the microphone icon), Audacity will record all output from the sound card and you can edit the results to your heart's content.
This works in Ubuntu 11.04, 11.10, 12.04 and 12.10. RC

3 comments:

  1. Brilliant, thank you so much! This was such a welcome relief after hours of trying other things.

    ReplyDelete
  2. Thanks. Exactly what I needed. Worked great with Peppermint OS 3 after installing pavucontrol.

    ReplyDelete
  3. Many thanks! Using KDE on the desktop for the first time in ages, and I was tearing my hair out with this problem.

    ReplyDelete

At least try to be nice, it won't kill you...