[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
Wed Feb 17 14:55:08 CET 2010

On 17 February 2010 13:06, Lennart Poettering <mznyfn at 0pointer.de> wrote:
> On Wed, 17.02.10 10:04, Jaroslav Kysela (perex at perex.cz) wrote:
>> 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.
> Yes, that is indeed the problem.
> For PA I don't care whether the dB curve reported by ALSA might be
> shifted relative to some reference level, what matters is that
> otherwise the curve reflects properly how volume increases with higher
> discrete volume settings.

So what you want it this.
Example 1:
If there are 2 gain controls between the CPU and the line-out.
A is at 0dB
B is at 0dB

If one changes A to +3dB and B to -3dB and one was playing a quiet
sound (so no distortion), the result should sound very similar, volume
wise, to the original 0dB, 0dB state.

Example 2:
There is one gain control between the CPU and the line-out that we are
interested in.
A is at 0dB.

If one changes A to +3dB and at the same time modify the source signal
digitally by -3dB, the result should sound very similar, volume wise,
to the original.

You would have to build your test tool so that it would detect
distortion as well as levels.This way you could also find out where
the limits really are in the chain.

This is a good aim, but I still think getting the correct 0dB points
is more important to ensure the best audio quality.
I personally think that PA should just set the hardware ALSA controls
to 0dB and do all the volume control in software within PA.
The 0dB points in hardware should result in the best sound quality.


More information about the Alsa-devel mailing list