Hallo Zusammen,
ich hätte da mal eine grundsätzliche Frage zur Funktionsweise eines (Dynamik-)Kompressors. Hoffe ich bin hier im richtigen Forum.
Und zwar bin ich gerade dabei mir selbst ein kleines Programm zu basteln, mit welchem ein Audio-Signal komprimiert wird. Erstmal geht es um eine einfache Version des Ganzen: Mono, Hard-Knee, keine Hold-Time, Peak (kein RMS), kein Lock-Ahead.
Die Parameter sind Threshold, Ratio, Attack und Release.
Nun zum Problem:
Mir ist nicht hundertprozentig klar, was der Kompressor während der Attack- und Release-Phase macht.
Mein Programm sieht bisher so aus: Ich lese den Pegel des Signals Sample für Sample ein und vergleiche diesen mit der Threshold. Ist das Signal oberhalb der Threshold, so wird gemäß der Kompressorkennline die Amplitude dieses Samples reduziert (also Peak und Hard-Knee). Aber wie bringe ich da die Attack- und Release-Zeiten rein? Was passiert innerhalb dieser Zeiten genau? Wenn man im Netz liest, findet man oft nur grobe Beschreibung wie "Ein- und Ausschwingphase", etc.
Kann mir jemand sagen, wie sich der Kompressor dabei genau verhält? Nach meinem bisherigen Verständnis ist es wohl so, dass die Attackzeit quasi "startet", sobald die Threshold überschritten wird. Innerhalb dieser z.B. 10ms wird die Ratio von 1 z.B. auf 5 geregelt. Sprich die Kennlinie knick am Threshold-Punkt langsam immer weiter ab. Sobald die Attack-Zeit "abgelaufen" ist, startet die Release-Zeit, die die Ratio quasi wieder langsam zurück auf 1 setzt. Stimmt das soweit? Oder lieg ich damit total daneben und die Ratio wird überhaupt nicht beeinflusst?
Falls jemand ein Programm-Beispiel (Quelltext, Diagramme, etc) oder Ähnliches hat, gerne her damit Irgendwie hab ich mir das etwas leichter vorgestellt.
Hoffe, ihr könnt mir mit meiner dummen Frage weiterhelfen und ein wenig Licht ins Dunkle bringen!
Vielen Dank schonmal!
Gruß Markus