[pulseaudio-discuss] Volume problems in Pulse and alsamixer.

Jan Buchal buchal at brailcom.org
Sun May 24 01:32:29 PDT 2009


Hello,


>>>>> "LP" == Lennart Poettering <lennart at poettering.net> writes:

[....]

    LP> The ALSA drivers simply expose the dB information that is
    LP> documented in the hardware documentation. Often that
    LP> documentation mentions relative to which reference level those
    LP> dB values are. However, ALSA doesn't encode that information in
    LP> any way. Also, a lot of hardware/documentation does *not*
    LP> document the reference level, for example the USB spec doesn't
    LP> do that at all.

    LP> We had longer discussions on alsa-devel about this. Ideally all
    LP> 'inner' mixer sliders set 0dB to 'same amplitude on input as on
    LP> output of the element in question'. And all 'outer' mixer
    LP> sliders set 0dB to some defined reference voltage. However,
    LP> realisitically it is an incredible amount of work if not
    LP> impossible to do that. For many cards (especially cheaper ones)
    LP> we'd have to physically measure the output voltage. We'd then
    LP> have to create a huge quirk database that includes all that
    LP> measured data. And then, what would we do about integrated
    LP> speakers (i.e. speakers with an USB cable)? Measure sound
    LP> pressure?

    LP> Given the limited manpower, the lacking equipment and the fact
    LP> that we have better things to do then spending all days with
    LP> measuring sound cards this is unlikely to be added.

    LP> But of course, you are welcome to contribute work in this area!

    >> Next question, for the curious: how does PA know how to shift the
    >> dB scale to where 0dB matches maximum amplification, if ALSA
    >> itself doesn't know?

    LP> For a specific driver ALSA tells us that the volume control
    LP> range goes from (as an example) -64dB to +7dB. We have no clue
    LP> what 0dB means in this range data. However, what we know is that
    LP> we can shift this to -71dB to 0dB and then we know that 0dB is
    LP> max hw amplification, -71dB is min hw attenutation and -7dB is
    LP> the 'base' volume.

    LP> Of course, this shifting doesn't add any information we didn't
    LP> have before. However it unifies behaviour across different sound
    LP> cards a bit and also makes the mixer a bit more like your stereo
    LP> where 0dB is max amplification too.

    >> So what you've said is basically -- "Yes, we know this is weird,
    >> but we have a new volume scaling formula in the current tree that
    >> should help balance out your volume control a little bit." Right?

    LP> What I said is basically that it is *not* weird and *does* make
    LP> a lot of sense, although the 'percent' to loudness mapping in
    LP> 0.9.15 can be improved. Which I did in PA git.
Can it relate with SD volume problem which I describe in my previous
emails? How can test it? For my environment is complicate build own PA
so if anywhere exist Debian's packages will be helpful.

Thanks

-- 
Jan Buchal
Tel: +420242486008
Mob: +420608023021
http://www.brailcom.org



More information about the pulseaudio-discuss mailing list