Forum › Forums › General › Hardware › [solved] Sound card and driver › Reply To: [solved] Sound card and driver
Well, to end the post without a software solution, but at least with a mathematical solution with pseudo software 🙂
How a volume control with a linear scale from 0-100 works, based on loudness reduction (dB gain in Mixer):
IF Master = 0 then mute volume
ELSE
dB-reduction = 10 x log2 (master / 100)
ENDIF
Examples:
Master = 50
dB-reduction = 10 x log2 (0.5) = 10 x -1 = -10
Master = 82
dB-reduction = 10 x log2 (0.82) = 10 x -0.286 = -2.86
On the following page there is a calculator for “Sound level change and loudness ratio” in the first line of the two tables:
http://www.sengpielaudio.com/calculator-levelchange.htm
And here is a log2 calculator:
http://miniwebtool.com/log-base-2-calculator/
Now an alsa programmer would only have to take the matter in hand and write a C ++ code and put it in the correct file 🙂
The last time I wrote a code was 30 years ago … with Ada. Sorry!
I hope that the alsa people will recognize the problem and solve it soon. Thank you very much!
To the forum administration: Maybe you can put a [solved] in the title? And send the information to the alsa people? Thanks 🙂
- This reply was modified 5 years, 4 months ago by banned.