Recording sound output of a program (was Re: Capture audio from the FreeBSD sound system)

Aymeric Mansoux aymeric at kuri.mu
Thu Sep 25 12:11:09 UTC 2014


sergio de Almeida Lenzi said :
> > Is there a way to record the audio output of a software using the
> > default sound system?
> > 
> > I'm trying to figure out if I can avoid installing audio/jack and only
> > stick with what sound, pcm and snd have to offer with snd_hda.
> > I have a program that produces sound via the default PCM audio
> > infrastructure and I would like to record it from the command line.
> > 
> > Is it possible out of the box (or nearly)?
>
> I use audacity in the ports, works pretty well...
> my setup is:
> 2 mics
> 1 xenyx 802
> a FreeBSd10 with cd/tape on the mixer going to mic/phone on the computer
> 
> a philips phone in the PHONE out of the Xenyx802
> 
> works pretty well

For external sound via mic/line of an internal or external soundcard,
this is straight forward yes, but I'm trying to record the sound
produced by a software without any external setup.

playback software -> PCM audio infrastructure -> recording software

For instance, you could have one mpv playing an mp3 file,
while ffmpeg would be recording the audible result directly. Using
something like JACK makes it easy for software that support JACK to
connect with each others. But I'd like to do that with whatever is
directly sending something to /dev/dsp.

I thought it would be possible to do it by using the internal audio
loopback of my soundcard, but regardless of which source I set as
recording device (Line, Mix, Mic, Monitor) I only get sound from the
mic. I tried setting the source from mixer, aumix, audacity and it's all
the same. Recording from audacity and ffmpeg, same result. 

My mixer output lists the following devices:

Mixer vol      is currently set to  76:76
Mixer pcm      is currently set to  80:80
Mixer speaker  is currently set to   0:0
Mixer speaker  is currently set to   0:0
Mixer line     is currently set to   0:0
Mixer mic      is currently set to   0:0
Mixer mix      is currently set to   0:0
Mixer rec      is currently set to 100:100
Mixer igain    is currently set to   0:0
Mixer ogain    is currently set to   0:0
Mixer monitor  is currently set to  84:84
Recording source: monitor

So I am wondering if this is bug or if I am doing something wrong,
or if this is simply not possible, or if I should use OSS 4.2 instead
(there are oss_userdev or oss_audioloop that I believe could be
relevant) 


a.
--
http://log.bleu255.com


More information about the freebsd-questions mailing list