[alsa-devel] Verifying mixer dB data/Invalid dB data from USB cards, especially Aureon 5.1 MkII
perex at perex.cz
Tue Feb 16 17:09:40 CET 2010
On Tue, 16 Feb 2010, Lennart Poettering wrote:
> 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
>> Master: -47.87dB..0.06dB # correct
>> Line: 0dB..47.81dB # seems correct -47.81dB..0dB
>> Line Capture: -0.18dB..23.81dB # seems correct
> Hmm, how did you choose where to put 0dB?
It's just tested against another hw using one headphones.
>> 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?
Basically, yes, these values should be corrected early as possible.
> 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?
It's another possibility. But the right place to handle this issue is
alsa-lib and parsing a text file with the new data.
Jaroslav Kysela <perex at perex.cz>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.
More information about the Alsa-devel