db volume scaling

Tim Blechmann tim at klingt.org
Wed Jun 10 20:53:51 UTC 2009


> Anyways, Tim,
> 
> "yes, it may be easier to keep the user stupid and provide a mapping,
> with a good resolution for high volumes, ignoring the dynamic range of
> the human ear."
> 
> I fail to see why you can't create a mapping that doesn't ignore the
> dynamic range of the human ear.  If the dynamic range is -60dB to 0dB,
> which is the range you seem keen on having in Amarok, it would seem like
> you could create a scale that has 0 dB = 100% and -60dB = 0%...

i have been writing all over again, that mapping and units are two
separate issues:
- log vs power law (i.e. linear loudness perception)
- dB vs percent

of course it is easy to map the range -60dB to 0dB to the scale 0% to
100%, but according to your mail [1] you and the majority of the amarok
users dislike logarithmic mappings.

> "so you want me to write a patch with a percentage scale and a
> logarithmic mapping?"
> 
> According to your earlier email, Phonon already has a dB->linear
> mapping, and what sounded like poorly-chosen values.  What I'm asking
> is, since you a) seem to think the values chosen are poor (which I'm not
> debating) and b) seem to be able to figure out better ones, doesn't it
> seem reasonable that that would be a great happy medium -- where the
> volume control would work better, and the vast majority of users that
> neither care, want, or understand dB volume still have a scale that
> makes sense to them?

phonon provides two interfaces [2]:
- Phonon::AudioOutput::setVolume(), providing a linear loudness
perception with arguments in the range 0 to 1
- Phonon::AudioOutput::setVolumeDecibel(), providing a logarithmic
scaling with arguments in the range -inf to 0, interpreted as decibel

nothing is wrong by providing these two interfaces, as api of an audio
backend ...

as far as the mapping is concerned, i guess i wrote enough about the
dynamic range of the human ear. with the power-law based mapping, one
can do a good fine-tuning for high volumes, but not for low volumes,
while with the logarithmic mapping, the volume resolution is equally
well from low to high volumes ...

about the unit, dB vs percent, the average joe, not familiar with dB can
have a look at the volume slider state. if it is in the middle (possibly
at -20dB), he may think `50% of the slider range', if it is at one
quarter (i.e. -30dB), he thinks `ok, that is 25% of the slider range'.

so, if the average user wants to figure out, what the current volume is,
he looks at the volume slider, sees `it is at 75%'. now, which a percent
scale, he sees the string "75%" next to the slider, actually the same
information, he got from the slider state. so why not tell him more by
giving him a dB information? he may use that information or he may just
look at the slider, which tells him 75% ... it is not, that his life
would depend on it, if he has no understanding of decibels. even more,
in a logarithmic scaling, he may even be confused, why 100% is not twice
as loud as 50% ...

anyway, i am really sick of this discussion. i've set up a git mirror of
amarok's trunk with my patches applied on top of it [3] ... whoever
wants to try them, can just clone my repository ...
personally, i don't really want to use a software, which treats me like
a stupid idiot. i can install windows, if i want to have that experience
... so i am using aqualung again ...

best, tim

[1] http://article.gmane.org/gmane.comp.kde.amarok.devel/14535
[2] http://doc.trolltech.com/4.5/phonon-audiooutput.html
[3] http://tim.klingt.org/git?p=amarok.git;a=summary

-- 
tim at klingt.org
http://tim.klingt.org

Only very good and very bad programmers use goto in C

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: OpenPGP digital signature
URL: <http://mail.kde.org/pipermail/amarok/attachments/20090610/57dfd03e/attachment.sig>


More information about the Amarok mailing list