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
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
View original