Audio mixer settings for recording with a microphone

Polytropon freebsd at
Mon Nov 25 11:13:12 UTC 2019

On Sun, 24 Nov 2019 21:00:41 +0100, Tomasz CEDRO wrote:
> On Sun, Nov 24, 2019 at 7:01 PM Polytropon wrote:
> > It's sad to see that several things stop working during the
> > course of advancement of FreeBSD, things that worked reliably
> > for decades... :-/
> Indeed, we also got into the point where Kernel API changes from
> release to release and the graphics driver crashes your machine in an
> endless loop :-(

And I won't start ranting about how vt is far inferior to sc
(which worked for decades), that vt lets you choose from a few
unreadable ant-tiny fonts and blurry colors, and can't even
properly display umlauts... :-/

> In Hangouts (web video chat client) I had to change input device to
> "Monitor of /dev/dsp1" in order to get the built-in microphone
> working. I have following devices:
> /dev/dsp1
> /dev/dsp2
> Monitor of /dev/dsp0
> Monitor of /dev/dsp1
> Monitor of /dev/dsp2
> My WindowManager Enlightenment uses PulseAudio for sound routing..

I only have WindowMaker (no desktop environment). For mixer
control, I occassionally use simple "xmixer", but for now, the
CLI "mixer" provided by FreeBSD is my choice. For recording,
I use Audacity.

What I found out: There has to be a specific setting of non-zero
values for more than one mixer channel in order to get things
working: the input device (mic, line), a recording device, and
the input gain, and in addition, the monitor channel, if desired.
Should one involved be zero, recording probably won't work.

> Hope that helps..

I discovered the following wisdon: A sufficient amount of obstacles
eventually leads to "do not want". ;-)

Now I have the following "solution", which is far from perfect, but
allows me to use the microphone - a thing that worked decades ago:
Microphone -> mixer -> line-in. I won't mention the additionally
needed adapters and connectors for this mess. :-)

So now I have both permanent independent (!) input monitoring _and_
the ability to adjust the input level of the microphone. The mixer
also creates "poor man's stereo" (mic channel both on L and R).

The mixer settings are as follows (relevant things marked, I need
to see which values lead to best results):

% mixer -f /dev/mixer0
Mixer vol      is currently set to  50:50
Mixer pcm      is currently set to 100:100
Mixer line     is currently set to 100:100	<---
Mixer mic      is currently set to   0:0
Mixer cd       is currently set to   0:0
Mixer rec      is currently set to 100:100	<---
Mixer igain    is currently set to 100:100	<---
Mixer monitor  is currently set to   0:0
Recording source: line				<---

The "monitor" channel has to stay zero so I don't have that
annoying high-pitch tone interference. It also doesn't affect the
actual monitoring (line audio can be heared on headphones) or
recording (line audio is recorded and "visible" in Audacity).

Those two seem to be totally irelevant:

% mixer -f /dev/mixer1
Mixer rec      is currently set to   0:0
Mixer monitor  is currently set to   0:0
Recording source: monitor

% mixer -f /dev/mixer2
Mixer vol      is currently set to   0:0
Mixer pcm      is currently set to   0:0

NB: I don't seem to have any /dev/dsp* devices, no idea why. But
everything else "works".

In case I need to record with a mike more often, I'll probably
build a little pre-amplifier, with a battery, power switch and LED,
connectors 3.5mm (so no more adapters needed), level adjustment,
and maybe a little VU meter for input control. For now, the
"solution" mentioned above should be fine.

That must be the "smart modern AI big data computing experience"
everyone keeps talking about! ;-)

Magdeburg, Germany
Happy FreeBSD user since 4.0
Andra moi ennepe, Mousa, ...

More information about the freebsd-questions mailing list