[pulseaudio-discuss] Mic Boost on AC97 audio causes bad behavior of mic volume control

Wilck, Martin martin.wilck at ts.fujitsu.com
Mon Apr 27 04:08:45 PDT 2015


On Fr, 2015-04-24 at 13:53 +0800, Raymond Yau wrote:

> Pin complex 0x12 is directly connected to audio input 0x11.
> Driver  switch between audio inputs node 0x11 and node 0x08 for 
> The driver need to bind the amp in of node 0x11 and 0x08 to create the
> capture volume control when two  Mic jacks connected to audio input n
> ode 0x08 through node 0x23 internal mic jack and external Mic jack 

You are right. Forgive me being a bit slow, I haven't looked deeply into
mixers before I encountered this problem. Interestingly, the Amps have
different characteristics.

0x08 (jack+dock): 
  Amp-In caps: ofs=0x17, nsteps=0x1f, stepsize=0x05, mute=1
0x11 (internal): 
  Amp-In caps: ofs=0x17, nsteps=0x3f, stepsize=0x02, mute=1

However the driver seems to hide this complexity. For simplicity, we
should focus the discussion on the jack mics and leave "Internal Mic"
aside. I can only say that from user land, volume control of "Internal
Mic" apparently behaved the same as the other two Mics.

>
> > If the described effect occurs, I can see with alsamixer that the
> real
> > volume is jumping up and down. The volume displayed by "pactl list
> > sources" (and likewise by the sliders e.g. in the GNOME volume
> control
> > widget) is not the real but the user-set value.
> 
> alsamixer -D pulse

What's the point? This yields the same values as "pactl list sources",
which are wrong, as I showed in my previous mail.

> > Here is how PA, Capture, and Boost volume, in dB, correlate in the
> error
> > case (i.e. if "Capture" is listed before the relevant "Mic Boost" in
> the
> > path conf file, the current PA default). PA volumes are obtained
> using
> > "pactl list sources", Capture/Boost values using "amixer -c1 get
> > <scontrol>":
> >
> > PA(%)   PA(dB)  Captu   Boost   Capture+Boost-66dB
> > 121%    5.00    30.00   36.00   0.000000
> > 100%    0.00    30.00   24.00   -12.000000
> 
> 
> 
> >
> > In contrast, if I list "Mic Boost" before "Capture" in the path conf
> > file, it looks like this:
> > PA(%)   PA(dB)  Captu   Boost   Capture+Boost-dB
> > 121%    5.00    30.00   36.00   0.000000
> > 100%    0.00    29.25   36.00   -0.750000
> 
> If base volume is -66dB , why maximum volume and boost is 121%?

> Seem total hardware gain exceed pulseaudio limit on maximum gain

Sorry for causing confusion. I had observed that setting "0dB" or "100%"
in PA didn't actually set full HW volume (actual volume was -12dB or
-0.75 dB, see above). So I let my test script move beyond 100%, and
because my it made 5dB steps, this has set +5dB/121%. I might as well
just set 100.01% in PA. I seems to be necessary to go slightly beyond
100% in PA in order to reach the actual maximum (+30dB Capture and +36dB
Boost). That may be a rounding problem. It's not relevant to my point
here (well, some may argue that getting -12dB when you set 100% volume
is unexpected, but that's a minor issue for me).

Coming back to the original point, wouldn't you agree that the way these
volume controls behave by default is erratic & confusing?

Martin



More information about the pulseaudio-discuss mailing list