How to record audio from multiple mixer(8) devices simultaneously
Date: Fri, 25 Apr 2025 21:01:25 UTC
Hi! I'm running FreeBSD 14-STABLE on ThinkPad X220 and I want to record sound from the integrated microphone and the system sound (sound from applications) at the same time. So far, I've figured how to record only one of them at a time: I can do this by means of setting the recording device in mixer(8). If I want to record from microphone, I do: mixer monitor.recsrc=set, and if I want to record the desktop sound, I do: mixer mic.recsrc=set. As I understand, recording device sets the device, which output I will get when I read from /dev/dsp. Actually, I want to record an audio for screencast, which I do with: ffmpeg -f x11grab -i :0 -f oss -i /dev/dsp -vcodec libx264 -preset fast out.mkv. So, I guess I need to find a way to make both sound from microphone and system sound go into /dev/dsp. But I don't know how to do this, since as I can see in mixer(8), only _one_ device can be used for recording. Here's the output of /dev/sndstat: Installed devices: pcm0: <Conexant CX20590 (Analog 2.0+HP/2.0)> (play/rec) default pcm1: <Intel Cougar Point (HDMI/DP 8ch)> (play) pcm2: <Intel Cougar Point (HDMI/DP 8ch)> (play) pcm3: <Intel Cougar Point (HDMI/DP 8ch)> (play) No devices installed from userspace. The output of mixer: pcm0:mixer: <Conexant CX20590 (Analog 2.0+HP/2.0)> on hdaa0 (play/rec) (default) vol = 1.00:1.00 pbk pcm = 1.00:1.00 pbk speaker = 1.00:1.00 pbk mic = 1.00:1.00 rec rec = 1.00:1.00 pbk monitor = 0.37:0.37 rec src Is the thing I want to do is even possible? If yes, how can I do that? Thank you, Artem