Opened 5 years ago

Closed 4 years ago

#4208 closed enhancement (wontfix)

audio amplitude is in %, not in dB

Reported by: nusmuk Owned by: courmisch
Priority: normal Milestone: 2.0 feature freeze
Component: Core: Audio output Version: master git
Severity: major Keywords: sound volume linear log logarithm
Cc: ultramegatron@…, andrixnet@… Difficulty: easy
Platform(s): all Work status: Not started

Description

Amplitude is not related in an linear way to the perceived loudness of a sound.

our ears responses is almost logarithmic. i.e. the ear perceive the same diference between 50% and 100 than between 1% and 2%...

With the % scale it is very dificul to adjust low amplidude loudness.

decibels (dB) is the popular scale to control amplitude of sound.

0dB is the reference amplitude (in this context, it's the amplitude of the sound, with no correction)

If a is an amplitude in "a" linear scale then we can define the decibel (dB) amplitude "d" as: d = 20*log10(a) So an increase in amplitude by a factor of two corresponds to an increase of about 6 decibels.

if "d" is the amplidute in dB, the amplitude "a" can be computed with : a = pow(10,d/20) or : a = exp(d*ln(10)/20)

lot's of information can be find about the dB scale on the internet.

I sugest VLC to allow a control from about -100 to +10 dB

Attachments (2)

winamp.png (18.4 KB) - added by andrixnet 4 years ago.
winamp log and linear volume
vlc.png (13.8 KB) - added by andrixnet 4 years ago.
VLC volume (it's linear)

Download all attachments as: .zip

Change History (10)

comment:1 Changed 5 years ago by courmisch

  • Milestone changed from Bugs paradize to Features paradize
  • Owner changed from fkuehne, jb to courmisch

Changing the unit from % to dB is easy, but would confuse most users. The real question is whether the scale widget should be linear or exponential.

comment:2 Changed 5 years ago by nusmuk

I don't understand why it would confuse most users to switch from % to dB. most software (maybe all except VLC) (and hardware) use an exponential scale, because it is link to the perception of the sound loudness. The linear scale to control sound amplitude not very handy, and confusing because it's different everywhere else.

I think the scale should be exponential, even if you don't want to call it dB, for whatever reason.

comment:3 follow-up: Changed 5 years ago by fcartegnie

Showing in dB for everyone is a no go: Regular users can't understand it.

Speaking of the Qt interface, I mentioned this problem many months ago.

Changing to dB rises other usability problems and one solution might be to 'split' the controls to 0-100% for the volume, and have an 'expert' toggle mode applying amplification shown in dB.

You could also notive that the Qt sound control slider applies amplification and have colors like a Vu-Meter, but shows arbitrary/unrelated green-red colors. This have been studied here (throwing first -too complex- thoughts on a new design): http://goodsense.online.fr/?p=79&lang=fr The latest sketche being here: http://wiki.videolan.org/Newsoundslider

Not mentioning that you also have to deal with the equalizer module amplification. The problem is more complex than just changing the unit :/

comment:4 in reply to: ↑ 3 Changed 5 years ago by nusmuk

Replying to fcartegnie:

Showing in dB for everyone is a no go: Regular users can't understand it.

regular users want a fader that is proportional to what they hear. they don't care about the unit. that's why most volume fader are in dB, even if unit is not advertised.

Speaking of the Qt interface, I mentioned this problem many months ago.

Changing to dB rises other usability problems and one solution might be to 'split' the controls to 0-100% for the volume, and have an 'expert' toggle mode applying amplification shown in dB.

You could also notive that the Qt sound control slider applies amplification and have colors like a Vu-Meter, but shows arbitrary/unrelated green-red colors. This have been studied here (throwing first -too complex- thoughts on a new design): http://goodsense.online.fr/?p=79&lang=fr The latest sketche being here: http://wiki.videolan.org/Newsoundslider

Not mentioning that you also have to deal with the equalizer module amplification. The problem is more complex than just changing the unit :/

i don't understand the problem with the equalizer module amplification. it already is in dB.

so i've got an other proposition. if So = Sound out, Sv = Sound of the video and V is the volume (from 0 to 2), then, better than having So = Sv * V, having : So = Sv * V*V result in a quadractic scale that is very close the dB scale. This way, no modification have to be made to the interface. the % would not reprensent the amplitude of the sound, but somthing that is more related to the perception of the loudness of the sound.

comment:5 Changed 5 years ago by cheesechoker

  • Cc ultramegatron@… added

Changed 4 years ago by andrixnet

winamp log and linear volume

Changed 4 years ago by andrixnet

VLC volume (it's linear)

comment:6 Changed 4 years ago by andrixnet

  • Cc andrixnet@… added
  • Keywords volume linear log logarithm added

comment:7 Changed 4 years ago by andrixnet

I whish to add a vote for this enhancement, please make the volume control exponential, or at least as an option.

I follow here from a discussion in the forums at http://forum.videolan.org/viewtopic.php?f=7&t=81388&sid=9b286ff48c85bf937c3a0f2a0f14e2e5&p=289023#p289023 so that I can add some attachments I prepared.

I created an end user experience comparison. I created (with Audacity) a 30sec wave with pure site at 440Hz. I saved this file and played it with WinAMP and VLC respectively. At the same time, I recorded with Audacity from "Stereo mix" source. While playing, using keyboard key repeat rate of 30cps, I increased the playback volume from 0 to maximum (in a fairly constant way).

The resulting waveforms show the behaviour of the volume controls. 1) WinAMP with output module prefs set to "log volume control" clearly shows an exponential curve 2) WinAMP with output module prefs set to "linear volume control" shows a linear increase 3) VLC shows a linear increase.

Only case 1) is perceived by the human ear as a linear sound level increase. Both cases 2) and 3) exhibit large increase in volume in the first 25% of the volume control and little change in perceived sound level for the rest of the scale.

comment:8 Changed 4 years ago by courmisch

  • Component changed from Interface: misc. plugins to Core: Audio output
  • Milestone changed from Features paradize to 1.2 feature freeze
  • Resolution set to wontfix
  • Status changed from new to closed

Nah. I switched the VLC scale to cubic, which is reportedly better than logarithmic.

You can file a separate enhancement request(s) against appropriate interface plugin(s) if you really want the dB display.

Note: See TracTickets for help on using tickets.