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

Lennart Poettering mznyfn at 0pointer.de
Tue Feb 16 15:32:01 CET 2010


On Tue, 16.02.10 09:24, Jaroslav Kysela (perex at perex.cz) wrote:

> > ALSA 1.0.21 (kernel 2.6.32) added a different TLV type that reports the
> > range with the min/max values to minimize those rounding errors.
> 
> Unfortunately, it's not the case of a rounding problem. The USB 
> specification is too much vague and vendors don't use the dB range 
> correctly. For example, I tested SB MP3+ USB device and reported ranges 
> were:
> 
> Master: -47.87dB..0.06dB	# correct
> Line: 0dB..47.81dB		# seems correct -47.81dB..0dB
> Line Capture: -0.18dB..23.81dB	# seems correct
> -17.81dB..6.18dB

Hmm, how did you choose where to put 0dB?

> http://git.alsa-project.org/?p=alsa-kernel.git;a=commitdiff;h=c3a3e040f01457d2ea4f199f75ca205401001a3b
> 
> The SB MP3+ uses AC97 codec AD1995 with some own ASIC from Creative. So I 
> think that even the 47.87 values are not correct and the real ranges are
> from -48dB..0dB and -18dB..6dB.

So if I understand this correctly, then the way to handle issues like
this is to measure the dB data for each USB card in question and then
update the drivers with quirks accordingly? 

So if I want my Aureon to work properly I better start measuring now?

Would it be feasible to allow overriding of the dB data from
userspace, i.e. from the alsa mixer init db perhaps?

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