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

Mark Brown broonie at opensource.wolfsonmicro.com
Wed Feb 17 13:06:44 CET 2010

On Wed, Feb 17, 2010 at 10:04:50AM +0100, Jaroslav Kysela wrote:

> I think that having a reference level is good for users. For example,
> some AC97 codecs have Line Out range from -94.5dB .. 0dB , Mixed Line In
> is in range -34.5dB .. 12dB. So if I set 0dB to Line In and 0dB to Line
> Out, I would expect to get (if analog parts of soundcard are not
> assymetric) identical output level as input level.

That'll tend to be the case for most hardware - the main issues are the
fact that we don't currently have a way to tell userspace about the
signal path in the device (so knowing which amplifiers are in use at a
given time can be tricky) and the fact that you're likely to run into
are that you do get fixed gain or attenuation stages in the signal path
for various reasons and those currently aren't exposed to user space at
all (but that'd probably flop out of doing the routing information).

> The second question is if the represented dB range and scale reported from 
> the driver (hardware and audio chip datasheets) really matches the 
> hardware and how we can measure these values. I suspect a lot of trouble 
> here, because the analog parts of soundcards might have strange curves - 
> it's probably thing you deal with in PA now.

Datasheets really should be reliable, and if the curve in the datsheet
is too unusual to handle with a range the TLV data format does always
allow us to specify subranges (down to individual values for each step)
so there's no fundamental problem exposing the information to user

I'd actually be surprised if there were too much of an issue with this
beyond the data collection one (especially for USB devices).

More information about the Alsa-devel mailing list