include

Logarithmic Volume Slider for Deezer apps

  • 4 July 2020
  • 4 replies
  • 122 views

Userlevel 1

Hello,

 

when using Deezer in the browser or the Deezer desktop app, I noticed the volume slider is very hard to use at low volumes. A big part of the volume slider’s range doesn’t change the volume a lot, but at the very low end, the most significant part of the volume change happens. This way, it is very hard to set a low volume conveniently. I think this is because the volume slider just sets a value from 0 to 1 linearly with which the audio samples are being multiplied. My suggestion is changing this linear behavior to a slider where you can set a volume from, say 0dB to -80dB/-infdB. That way, it would be way easier to set deezer to low volumes conveniently.

 

Best Regards

Michael

Duzda 2 years ago

Hello, also just found out about this feature request.

 

I myself wouldn’t necessarily call this a logarithmic volume slider, as it’s the human ears that work in a logarithmic way, so in the slider, you most likely need the opposite, which is a power function.

 

As already mentioned, this is an issue, mainly because the step at the beginning of the slider is way bigger than the step at the end of the slider (in reality, they are not, they just sound to us like they are). The problem is beautifully explained in https://www.dr-lex.be/info-stuff/volumecontrols.html and https://ux.stackexchange.com/questions/79672/why-dont-commercial-products-use-logarithmic-volume-controls or just see the graph at  https://techsupport.cambridgeaudio.com/hc/en-us/articles/360000105437-Amplifiers-Linear-Logarithmic-Volume-Control 

 

After a little bit of tinkering I found it’s actually very easy to implement, all is happening in the dzPlayer.control.setVolume function, which does some things and more interestingly also sets the volume. Sadly, it just uses the linear function (audio player volume = volume), which should be replaced by power of something (audio player volume = Math.pow(volume, ratio)). While messing around, I found out the best value is around ratio of 4. This way the volume controller is behaving in a more “natural” way. If you have no idea what I’m speaking about, no worries, devs will probably know :wink:

View original

4 replies

Userlevel 7
Badge +7

Thanks a lot for your suggestion @Mic.Lo 

I've forwarded your comments to the desktop app teams so they can consider that in the planning for the next improvements :thumbsup_tone2:

Hello guys!

Just googled this feature request. Actually, I also expect if volume meter is on the 50% mark the sound will be twice quieter.

Is there any updates on this feature?

Userlevel 1

Hello, also just found out about this feature request.

 

I myself wouldn’t necessarily call this a logarithmic volume slider, as it’s the human ears that work in a logarithmic way, so in the slider, you most likely need the opposite, which is a power function.

 

As already mentioned, this is an issue, mainly because the step at the beginning of the slider is way bigger than the step at the end of the slider (in reality, they are not, they just sound to us like they are). The problem is beautifully explained in https://www.dr-lex.be/info-stuff/volumecontrols.html and https://ux.stackexchange.com/questions/79672/why-dont-commercial-products-use-logarithmic-volume-controls or just see the graph at  https://techsupport.cambridgeaudio.com/hc/en-us/articles/360000105437-Amplifiers-Linear-Logarithmic-Volume-Control 

 

After a little bit of tinkering I found it’s actually very easy to implement, all is happening in the dzPlayer.control.setVolume function, which does some things and more interestingly also sets the volume. Sadly, it just uses the linear function (audio player volume = volume), which should be replaced by power of something (audio player volume = Math.pow(volume, ratio)). While messing around, I found out the best value is around ratio of 4. This way the volume controller is behaving in a more “natural” way. If you have no idea what I’m speaking about, no worries, devs will probably know :wink:

It has been 2 years, WHY IS THIS NOT IMPLEMENTED YET? Its such an easy thing to implement and makes a world of difference. I thought folks ad deezer cared about audio. If any dev is reading this, for the love of god please make an issue about this and give it to junior dev or something, it will be good training task.

Reply