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

Lennart Poettering mznyfn at 0pointer.de
Wed Feb 17 01:10:47 CET 2010


On Wed, 17.02.10 12:47, Eliot Blennerhassett (linux at audioscience.com) wrote:

> For our cards this is adjustable, but lets say for consumer cards it is
> fixed.  This information is not currently available via the ALSA
> API.

I wonder how realistic it would even be to add an API for
this. i.e. can we even know the refernce level? On many cards most
likely not. For example, for my integrated USB speakers speaking of a
reference voltage would already be misleading...

> A hypothetical example.
> [DAC>---[Variable gain>---[amplifier>---[output jack]
> 
> Lets say
> the DAC produces 2Vpp (6dBVpp) for fullscale digital input (0dBFS)
> and the amplifier has 6dB gain.
> and the variable gain is from -40dB to 0dB
> and the units of the reference level are dBVpp
> 
> Combining these we represent the DAC + gain + amplifier as a single
> Level control with units of dBVpp and range -28dBVpp to +12dBVpp
> 
> or equally valid, could represent it as
> a Volume with range -40dB to 0dB followed by a
> a fixed level of +12dBVpp
> 
> or equally valid, could represent it as
> a Volume with range 0dB to +40dB followed by a
> a fixed level of -28dBVpp
> 
> i.e. the 0dB position is arbitrary, related to what is chosen as the
> output reference level.

Yepp, that's the exactly what I was asking, Jaroslav's measurements
suggested to shift one of the mixer controls from 0..x dB to -x..0 dB
and I was just wondering why, since we don't define the ref level in
ALSA, hence the shift is kinda arbitrary...

Anyway, I am not pushing for adding an API for reference levels to
ALSA. As mentioned for the PA case I decided to shift 0dB to max
amplification in any case, which I think is a workable way to avoid
this problem.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/           GnuPG 0x1A015CC4


More information about the Alsa-devel mailing list