Fedora 11 nerfed my mixer

Lennart Poettering mzerqung at 0pointer.de
Fri Apr 24 14:45:13 UTC 2009


On Fri, 24.04.09 14:58, David Woodhouse (dwmw2 at infradead.org) wrote:

> 
> On Thu, 2009-04-23 at 22:50 +0200, Lennart Poettering wrote:
> > Firstly the alsa mixer init database should have set up your system
> > correctly. The database is incomplete unfortunately since most people
> > don't send in a patch for the db after they fixed those settings
> > manually.
> 
> Your database will _always_ be incomplete. There will _always_ be new
> hardware, and users will _always_ have to tweak things manually.
> 
> You can do well, and it's a wonderful thing to be doing -- but you
> _have_ to accept that you can't get it right in all cases, so you have
> to let the user fix it.

Yes. I am aware of that. That's one of the reasons there is alsamixer
shipped with our distro.

> > However my plans for F12 should hopefully help to make this issue go
> > away: on many machines we have quite a few volume controls in
> > series. e.g. on Thinkpads there is the hw volume that is controlled by
> > those magic keys, and then there is master, and then there is PCM. My
> > plan is to collapse them all into a single slider which is possible if
> > we have dB information about the sliders. The resulting slider would
> > be the multiplication of the seperate sliders. This would both
> > increase the range and the granularity of the overall volume slider
> > and also allows us to fix the mixer initialization issue a bit since
> > we would control both PCM and Master. 
> 
> That sounds like a recipe for disaster to me. I've often had to play
> around with levels for PCM vs. Master vs. other things to maximise the
> resulting volume¹ without introducing distortion -- you're effectively
> downgrading my audio capabilities unless you _always_ get it absolutely
> right. On which topic, see above.
> 
> And then factor in the observation that we're talking about analogue
> circuitry and physical devices which will even vary a little from one
> machine to the next machine off the production line. Not to mention what
> my ears can detect. Your database _cannot_ know.

This has nothing to do with 'my' database.

If you ever had a look at alsamixer you'd have seen that it shows dB
values for most sliders. While for the 'outermost' sliders it is not
clear relative to what reference level those dB values are it is for
the more innerwards (i.e. usually digitally implemented) sliders:
0dB mens no amplification, no attenuation. 

As already explained the algorithm for initializing that series of
sliders is to go from outermost to innermost and doing the 'biggest'
part of the volume adjustment on the more outermust sliders and doing
adjustments on the more innerwards only if the outermost cannot do it
due to limitations in range or granularity. That should make sure that
the more innerwards sliders (the digital ones) are usually initialized
to 0dB and hence do not have any detrimental effect on audio quality.

Also, pavucontrol shows the 'base volume' in the UI, i.e. the point
were the all sliders are at 0dB.

I am pretty confident that the dB information is pretty reliable since
often it comes from the hw itself and Visa relies on it, too. Since
vendors test their stuff against Vista this makes them as reliable as
it could get.

If ALSA cannot provide us with the dB information for a specific card
this algorithm will of course not be used.

In summary: I am pretty sure your fears are unfounded.

Lennart

-- 
Lennart Poettering                        Red Hat, Inc.
lennart [at] poettering [dot] net         ICQ# 11060553
http://0pointer.net/lennart/           GnuPG 0x1A015CC4




More information about the fedora-devel-list mailing list