On Wed, 17.02.10 13:55, James Courtier-Dutton (james.dutton@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