Lautstärke-Kurven, und zukünftige Möglichkeiten

Hi Zusammen,
@Wolle, der die Audio-Lib, und somit den Kern des ESPUINOs entwickelt und am Laufen hält, hat in der neusten Version die Möglichkeit geschaffen, eigene Lautstärke-kurven bereitzustellen! Vielen Dank dir dafür!

Die Funktion dafür bekommt einen relativen Lautstärke-wert des Faders (von 0 bis 1), und gibt dann einen Wert von -60 dB (sehr leise) bis 0 dB (sehr laut) zurück.
Damit wir das performant zur Verfügung stellen können, habe ich mich für eine Implementierung durch eine Look-Up-Table entschieden (das spart die Berechnung der Logarithmus-Funktionen).

Aktuell sind jetzt mal unsere „alten“ Kurven (oder zumindest sehr ähnliche Kurven) damit abgebildet, mit der quadratischen Kurve als Standard, und der kubischen Kurve, die im leisen Bereich deutlich feiner ist (war davor eine Logarithmische, mit paar Skalierungen, die dieser sehr ähnlich ist).

Die Kurven und die LUTs lassen sich über ein kleines Python-Script generieren (volume_curves.py), das ich noch bisschen hübscher machen will.

Als Ergebnis bekommt man die graphische Darstellung der Kurven, einmal in dB und einmal in relativer Amplitude, um es etwas besser einzuschätzen.
Im Espuino-Code muss man dann nur noch den Index passend zur Kurve setzten und kann die entsprechende Kurve verwenden.

Soweit mal die Infos dazu. Alle audiophile-Nutzer können sich jetzt gerne mit Vorschlägen oder neuen Algorithmen austoben :wink:

Ich habe den aktuellen dev installiert und mir ist nichts negatives bzw. überraschendes aufegefallen. Gute Arbeit!