Ich suche nach einer Formel, um eine Audio-Wellenform effektiv zu komprimieren, um Spitzen zu begrenzen. Dies ist keine "automatische Lautstärkeregelung", bei der die Verstärkung des Verstärkers gesteuert wird, um einen Lautstärkepegel aufrechtzuerhalten, sondern ich möchte einzelne Spitzen begrenzen ("weich" abschneiden). (Ich weiß, dass dies Harmonische einführt, aber ich versuche, die Daten zu analysieren, nicht zuzuhören.)
Meine (sehr grobe) Formel lautet bisher:
factor = (10 * average / level) + exp(-sqrt(0.1 * level / average))
Wenn der Pegel der momentane Schallpegel ist, ist der Durchschnitt der historische durchschnittliche Schallpegel, und der Faktor ist ein Multiplikator, der zur Erzeugung des "angepassten" Pegels ( Faktor mal Pegel ) verwendet wird.
Außerdem wird dieser Multiplikator nur angewendet, wenn er auf einen Wert kleiner als 1 berechnet wird. Andernfalls wird der Pegel nicht angepasst.
Die Absicht ist es, das angepasste Niveau auf ein Vielfaches (ungefähr 15x mit dieser Formel) des historischen Durchschnitts zu beschränken. Diese Formel ist irgendwie das, was ich brauche, zeigt aber einen "Einbruch", wenn die Zahlen größer werden. Das heißt, der angepasste Pegel (dh Faktor mal Pegel ) steigt bis zu einem Punkt mit zunehmendem nicht angepassten Pegel an , beginnt dann jedoch, anstatt asymptotisch zu werden, tatsächlich kleiner zu werden. (Tatsächlich wurde der erste Faktor hauptsächlich hinzugefügt, um zu verhindern, dass die Formel mit extrem hohen Werten auf Null geht.)
(Der Grund, warum Sie die Werte auf diese Weise begrenzen möchten, ist in erster Linie, dass vorübergehende Geräusche den laufenden Durchschnitt des Schallpegels nicht ernsthaft stören. Wenn Sie jedoch Schnarchen analysieren, ist "vorübergehende Geräusche" ziemlich bedeutend, sodass ich sie einfach unterdrücken kann .)
Kann jemand etwas Besseres vorschlagen? (Es scheint, dass asymptotisches Verhalten leicht zu erzeugen ist, wenn Sie es nicht wollen, aber schwer, wenn Sie es tun.)
quelle
Antworten:
Zwei Probleme hier: wie man eine zuverlässige Schätzung des Pegels erhält und wie man die Daten komprimiert.
quelle