Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

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?

share|improve this question

2 Answers 2

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.

share|improve this answer
    
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 '11 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 '11 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 '11 at 3:37

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.
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.