[alsa-devel] Verifying mixer dB data/Invalid dB data from USB cards, especially Aureon 5.1 MkII

James Courtier-Dutton james.dutton at gmail.com
Tue Feb 16 22:48:18 CET 2010

On 16 February 2010 15:40, Lennart Poettering <mznyfn at 0pointer.de> wrote:
> I remember that a while back we had a discussion on alsa-devel
> regarding the fact that ALSA does not define relative to what the dB
> values reported by the mixer elements actually are measured. Some
> mixer controls export dB values relative to max amplification (e.g. my
> integrated USB speakers here), others relative to the output of some
> other mixer element, and others relative to different standard or
> not-so-standard output voltages.  And there is no API to figure out
> what the base is.
> Now, what Jaroslav listed above suggests that he chose carefully where
> he put 0dB. I was just wondering about that. Jaroslav, how did you
> choose where to put 0dB?

I think what you are trying to do is actually quite difficult.
The rules are very simple for digital controls. At 0dB the gain is 0
and the attenuation is 0 so the value going into the control will be
identical to the value after the control.
The trouble starts at the analogue stages.
First we would want to decide on what output we actually want.
I think this would depend on the sound card itself. Pro sound cards
can output a different set of levels than consumer sound cards.
I think the only way to fix the current problem is to determine a
sound card that has the correct levels and controls, and then
calibrate other sound cards from that.
It will take a long time.
Up until now, the best we have been able to do is read data sheets and
use the values form the data sheets.

I guess a good start would be what digital values should create what
voltages on the line output?
One can then at least get the 0dB point set right.

Kind Regards


More information about the Alsa-devel mailing list