I've been following these instructions for recording the output of a program I wrote (that uses rtaudio to synthesize music) http://jordilin.wordpress.com/2006/07/28/howto-recording-audio-from-the-command-line/

However, when I try to use arecord I just record the microphone, not the output of my program.

Using arecord -l to list capture devices I see :

**** List of CAPTURE Hardware Devices ****
card 0: Intel [HDA Intel], device 0: ALC269VB Analog [ALC269VB Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Does this look like it's giving me the option to record the output of another program? And if so, how do I do that?

2 Answers 2


Here's what I've found to work for recording PulseAudio output. You can record multiple processes and hear what's being recorded at the same time.

You'll need Pulse Audio volume control (pavucontrol) and some software such as Audacity to record the audio.

  • Run pavucontrol.
  • Go to the Input Devices tab on pavucontrol and mute all the input devices, unless you want to record from your microphone at the same time.
  • Run audacity or another recording program. In Audacity you can monitor the output without recording, which is handy since you need to do this for PulseAudio to recognize it. I found capturing ALSA and default to work just fine.
  • Go to the Recording tab on pavucontrol and set your recording software to "ALSA Capture from Monitor of Built-in Audio Analog Software". If nothing shows up in the "Recording" tab, then make sure your capture application is actually recording.
  • Go to the Playback tab and adjust the levels for each process to your liking. You can also adjust the levels from your speakers or headphones in the "Output Devices" tab.
  • Record, edit, export, etc.
  • Don't forget to unmute your Input Devices if you did that earlier.

I get just about same output from arecord -l. I've used audacity to record a song from a website (yes, I tried to buy the song from the site, but...). Need to get the right adjustment of muting the microphone (if possible) and then cleaning up any static/background noise. So for you, I would start audacity, start your program, set to record to a new project and then perform the functionality the you want to record.

  • I tried Audacity too. But same problem. I'm not recording any of the output of my program at all. I'm just getting the microphone.
    – interstar
    Dec 29, 2011 at 2:34
  • Try this: from the mixer, go to capture and ensure that microphone's volume is down and the others are up.
    – Arcege
    Dec 29, 2011 at 3:25
  • Nothing I'm afraid. I just don't think that ALSA (or PulseAudio not quite sure which is running the show) knows about the program as a potential input source. Alsamixer doesn't have a "mix" as an input option. Pavucontrol shows me a "Monitor of Internal Audio Analogue Stereo" and I've set that to 100% but it has no effect.
    – interstar
    Dec 29, 2011 at 3:37

You must log in to answer this question.

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