On 17 February 2010 13:06, Lennart Poettering mznyfn@0pointer.de wrote:
On Wed, 17.02.10 10:04, Jaroslav Kysela (perex@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.
James