Lautheit angleichen mit dem loudfucker
Amateur-Podcasts und Interviews haben oft deutliche Variationen in der Lautheit, etwa durch unterschiedlich laute oder sich bewegende Sprecher. Sind weder Mischpult noch Headsets vorhanden, lassen sich diese Unterschiede nur in der Postproduktion verringern.
Auf dem zweiten Podlove Developer Meeting traf ich Georg Holzmann von Auphonic, der mir erklärte, wie man Lautheit innerhalb einer Datei angleichen kann (Blogpost dazu). So entstand der loudfucker, eine Anwendung, die Lautheit einer Datei auf ein einheitliches Niveau nach EBU R128 bringt.
Der loudfucker benötigt eine gepatchte Version des ebumeters, ist in Python geschrieben und lizensiert unter der GNU AGPLv3. Hier ist der Code.
GitHub geht nicht; den Code gibt es auch bei mir.
Das folgende Beispiel demonstriert den Effekt. Eine Methode, um Hintergrundgeräusche nicht lauter zu machen, habe ich nicht gefunden.
Alternativen
Es gibt bereits zwei Programme für einfache Postproduktion, die Auphonic-Software und den levelator. Beide sind jedoch proprietäre Software und zu unflexibel, um mit dem Podcast-Seitengenerator redokast verwendet zu werden.
Georg Holzmann empfahl mir dennoch, die Auphonic-API auszuprobieren. Das schien zunächst einfach – funktionierte aber erst, nachdem ich die Kombination username/password bei Auphonic registrierte.
curl -X POST https://auphonic.com/api/simple/productions.json \ -u username:password \ -F "input_file=@/home/user/dein_audio_file.mp3" \ -F "action=start"
Der Server antwortete mit einer JSON-Datei mit URL zu einer Status-Webseite. Diese zeigte nach dem Login zunächst nichts an. Als ich JavaScript aktivierte, wurde ich aufgefordert, den Flashplayer zu installieren und erhielt einen Download-Link. Nebenbei wurde mir zu jeder API-Anfrage eine Email gesendet – eine würdige Konkurrenz für das Custom-Qualitaetssystem aus dem Von Leitnerschen Institut fuer verteiltes Echtzeit-Java
!
Im Gegensatz zum loudfucker kann Auphonic Sprache von anderen Geräuschen unterscheiden. Atmen, Rauschen und sonstige Hintergrundgeräusche werden nicht verstärkt:
Vergleich
Ein Plot der Lautheit gegen die Zeit zeigt, dass der loudfucker die Lautheit wesentlich stärker angleicht als Auphonic. Ich vermute als Ursache die fehlende Filterung unerwünschter Geräusche.
> while abs(sample[k]*smooth_factor) > 0xFEFE:
> 0xFEFE
JaJa
Dieses Programm hat das Ziel, die Medienkompetenz der Leser zu steigern. Gelegentlich packe ich sogar einen handfesten Buffer Overflow oder eine Format String Vulnerability zwischen die anderen Codezeilen und schreibe das auch nicht dran.