[pulseaudio-discuss] Mic input volume controls
david.henningsson at canonical.com
Wed Dec 1 05:55:31 PST 2010
The way we control mic input is quite broken. I've tested here with both
IDT codecs and Realtek codecs (the two most common HDA Codecs AFAIK) and
as far as I see they're both broken in the same ways.
Let's assume that we have an internal mic and an external mic jack, with
autoswitching in the kernel. We have a "Mic Boost" affecting the
external mic jack, a "Front Mic Boost" affecting internal mic, and a
"Capture" control affecting both.
"Mic Boost" and "Front Mic Boost" go from 0 to 60 dB in 20 dB steps, and
"Capture" goes from 0 to 22.5 dB in 1.5 dB steps.
The first problem is PA is unable to combine both of them correctly: for
the first 0 to 22.5 dB, PA moves the "Capture" control only. After that
say at 25 dB, "Mic Boost" moves to +20 dB, keeping "Capture" at 22.5 dB,
then using softvol to compensate, instead of lowering "Capture". I've
been suggested that changing the order of "Mic Boost" and "Capture"
improves this situation, so we should probably do that. Any objections?
The harder problem is that PulseAudio does not know whether to control
"Mic Boost" or "Front Mic Boost", since it doesn't know what path is
active at the moment. While we really need some kind of module, and
appropriate kernel support, the question is what we do before that
becomes sufficiently available. The next best solution, would probably
be to have different profiles and manual autoswitching. While I yet have
to look into the details, I guess we'll have to add different profiles
for "Mic", "Front Mic", "Rear Mic" and so on, instead of having them in
the same file as we have today. Any thoughts?
It'd be great if we could present something else than "Microphone 1",
"Microphone 2" and so on when we have more than one mic input. Any idea
of where this name actually comes from, and how we can make it better?
Thanks/credits to Vitaliy Kulikov for helping with the analysis.
David Henningsson, Canonical Ltd.
More information about the pulseaudio-discuss