[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 15:35:41 CET 2010


On Wed, 17.02.10 13:55, James Courtier-Dutton (james.dutton at gmail.com) wrote:

> 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.

Exactly.

> 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.

Exactly. And this second case is what dbverify from my little tool set
verifies.

> 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.

I am not sure I want to get lost in complexities like that. My
simplified world where all elements in the pipeline are perfect,
linear multiplicators is oh so cozy, that I am happy to keep my eyes
shut and ignore that the actual filters implemented in the various
elements might be vastly more complex.

In fact dbmeasure and dbverify pick a 440Hz tone for their tests, so
all the volume factors I measure and rely on focus on one point in the
frequency spectrum and leave it at that.

Of course, this is a drastic simplification, but it should be
good enough on most cards and for desktop audio.

> 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.

I don't think this would be a good idea. In a lot of hardware you
definitely want to make as much use of the built-in volume adjustment
capabilities as you can. For example, on my integrated USB speakers
you may control the built-in amplifier with the alsa mixer, and that's
definitely much better than attenuating the 16bit PCM stream and
having the USB speakers amplifier constantly configured to a very high
volume level.

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