Lautheit von Musikdateien

Ardour Lautheitsanalyse

Ardour Lautheitsanalyse

Wie viele Faktoren die Wahrnehmung der Lautheit von Musik eines Radioprogramms beeinflussen können habe ich in diesem Blogpost aufgeschrieben. Was kann man nun aber tun um eine möglichst ausgewogenen Lautheit für den Bürgerradiohörer zu erreichen? Dazu hier einige Gedanken, Hinweise und ganz praktische Erfahrungen.

In der Regel wird in den Signalweg eines Radioprogramms, kurz bevor das Sendesignal den Sender in Richtung UKW-Ausstrahlung verlässt, ein Signalprozessor eingeschaltet. Dieser bearbeitet mithilfe von Frequenzfiltern, Kompressoren, Limitern und automatischen Pegelreglern das Klangbild. Die Einstellungsmöglichkeiten sind immens und über die “richtige” Einstellung streiten sich die Experten wohl solange es solche Systeme gibt. Diesem Komplex möchte ich mich hier nicht widmen. Es sei nur angemerkt, dass es “die” Einstellung meiner Meinung nach einfach nicht gibt. Zu sehr hängen viele Einstellungsparameter von der Wahrnahme des Menschen und der Art des Audiomaterials, also z.B. vom Musikgenre ab.

Um eine ausgewogene Lautheit eines Radioprogramms beim Abspielen von Musikdateien zu erreichen “MUSS” man gewisse Einschränkungen und eine Qualitätsreduzierung in Kauf nehmen. Es gilt nach meiner Ansicht weiter, eine klare Verarbeitungskette der Musikdateien zu definieren und alle Dateien einheitlich und in gleicher Reihenfolge nach diesen Regeln zu bearbeiten. Das mag für ein professionelles Radio sowieso der Standard sein. Im Bereich des Bürgerfunks ist das schon schwieriger. Die Musik-Quellen der Radiomacher sind z.B. sehr unterschiedlich. Die Genres sind im Bürgerfunk vielleicht vielfältiger. Nicht immer kann davon ausgegangen werden, dass Musik von CDs immer nach bestimmten Grundregeln in mp3s umgewandelt wurden usw..

Ist die Verarbeitungskette getestet und festgelegt so ist es wichtig bei Änderung der Parameter, die Verarbeitungskette klar neu zu definieren und erneut mit den unbearbeiteten Originaldateien zu beginnen. Bearbeitet man Dateien zunächst mit dem Tool A und später mit dem Tool B und anschließend noch einmal mit Tool A, dann hat man unter Umständen “schon verloren”. Möglicherweise sind Änderungen an den Dateien vorgenommen worden, die nicht mehr rückgängig gemacht werden können. Das Problem an der Sache ist weiterhin, “man sieht” es den Dateien oft nicht auf den ersten Blick an (oder gar nicht) “was mit ihnen gemacht wurde”. Es ist deshalb wichtig, die unbearbeiteten Dateien zu sichern.

Halten wir fest:

  • Ausgangspunkt sind wav-Dateien von CDs oder mp3-Musik-Dateien mit bestimmten Mindestanforderungen
  • Diese Dateien “müssen” in einer klar geregelten Folge von Schritten bearbeitet werden
  • Welche Eigenschaften und Funktionen wenden die Player bei der Wiedergabe der Dateien an?
  • Das Radio läuft im Auto, in der Küche, in der Werkstatt, bei einer Party, also eher “nebenbei”
  • Es geht nicht um den “High Fidelity Genuss” sondern um so eine Art “Gebrauchsgrafik”

Sprache ist eigentlich ein Sonderfall und müsste m.E.n. gesondert betrachtet werden…

Die Stichworte für die Lautheitsbearbeitung von Musikdateien lauten:

  • ReplayGain oder
  • mp3Gain

Mir sind dabei fünf Möglichkeiten bekannt, die ReplayGain-Daten in den Musikdateien zu speichern oder darauf anzuwenden:

  • Im Lame-Tag
  • Im APE-Tag
  • Im ID3V2-Tag
  • “Hartkodiert” mit Rückgängig-Option
  • “Hartkodiert” ohne Rückgängig-Option

Encodierung
Am Anfang steht meistens die Konvertierung von Audio-CDs. In den gängigen Programmen kann man einstellen, ob die CD-Titel in wav-Dateien extrahiert werden sollen, was praktisch keinen Qualitätsverlust bedeuten würde. Allerdings können in wav-Dateien keine ID3-Tags gespeichert werden, die die Angaben zu Interpreten und Titeln beinhalten. Meist werden CDs also in mp3 Dateien umgewandelt. Man sollte die größtmögliche Bitrate einstellen (320 kBit/s), als Samplingfrequenz “reicht” fürs Radio 44,1 Hz.

mp3diags

mp3diags

Analyse
Das nächste Kapitel stellt die Analyse von mp3-Dateien dar. Vor und nach der Bearbeitung sollte diese erfolgen, zumindest solange man die Verarbeitungskette und Parameter noch testet. Später ist mindestens eine Stichprobenartige Analyse der bearbeiteten Dateien zur Qualitätskontrolle wichtig. Leider kenne ich kein Werkzeug, welches alle nötigen Parameter erfasst. In meiner Arbeit hat sich “mp3diags” als sehr nützlich und weitreichend zur Analyse gezeigt. Es ist schnell installiert mit dem Befehl `sudo apt install mp3diags`. Da es aber z.B. nicht alle Informationen erfasst, die der Lame-mp3-Encoder speichert, ist zusätzlich wenigstens ein `ffmpg -i meine.mp3` auf der Kommandozeile nötig.

Lautheitsbearbeitung
Ist eine fehlerfreie mp3-Datei vorhanden kann die Lautheitsbearbeitung erfolgen. Bei der Analyse wird sozusagen die “Energie” des Musikstückes ermittelt und mit einem Referenzwert verglichen. Werkzeuge dafür sind z.B. der Lame Encoder, mp3Gain, diverse ReplayGain-Werkzeuge oder bei dem Player foobar die ReplayGain-Bearbeitungstools. Egal wie die Werkzeuge heißen, es wird der ReplayGain-Wert ermittelt und abhängig von den verwendeten Optionen entweder in dem entsprechenden ReplayGain-Tag gespeichert und/ oder die Audiodaten direkt geändert.

Wiedergabelautheit “einbrennen” oder Wiedergabeänderungswert speichern?
Während der Lame Encoder in seiner Standard-Einstellung generell einen Lautheitswert in dem sog. Lame-Tag speichert, gibt es auch die Möglichkeit, die Audiodaten direkt zu verändern. So bearbeitete Dateien werden von Playern, die kein ReplayGain berücksichtigen in der gewünschten Lautheit abgespielt. Achtung Stolperfalle! Die Änderung der Audiodatei kann z.B. bei Bearbeitung mit foobar im Gegensatz zu mp3Gain nicht rückgängig gemacht werden!

Möchte man die Audiodaten nicht direkt ändern, so bieten mp3Gain und Replaygain-Werkzeuge die Möglichkeit, die Wiedergabelautstärkeänderung im sog. ReplayGain-Tag zu speichern. Ein Player, der dies unterstützt, kann also ermitteln, ob er die Datei lauter oder leiser abspielen soll, als sie eigentlich ist. Aber hier gibts die nächsten Stolperfallen. Welche ReplayGain-Informationen wertet denn der gewünschte Player eigentlich aus? Darüber muss man sich informieren! Aber noch sind wir bei der Bearbeitung und nicht beim Abspielen! So berücksichtigt die Bearbeitung mit mp3Gain grundsätzlich keine Lautheitsinformation, die eventuell beim Lame Encodiervorgang schon in die Datei geschrieben wurde. foobar ist in der “Ignoranz” der Lame-Tags nach meinen Tests inkonsequenter als mp3Gain. foobar verändert das Lame-Tag oder auch nicht, je nachdem welchen Modus man wählte. Das “Durcheinander” geht bei foobar weiter, indem es nach vorhandenen sog. APE-Tags sucht. Findet es diese, schreibt es den Replay-Gain-Wert in APE ansonsten in ID3V2. Bei mp3gain wird es immer in APE-Tags geschrieben, es sei denn man teilt ihm explizit mit, es in ID3 zu speichern.

Als Zwischenfazit ist festzuhalten: Man muss sich selbst darum kümmern, die eventuell vorhandenen Lame-Replay-Daten zu bearbeiten oder zu entfernen will man beim Abspielen nicht mit “unlogischen” Ergebnissen konfrontiert werden. Momentan ist mir zum Löschen des Lame-ReplayGains kein gängiges anderes Werkzeug dafür bekannt als dieser Einzeiler: `ffmpeg -i my-lame.mp3 -c copy -f avi – | ffmpeg -i – -c copy -write_xing 0 my.mp3`

ffmpeg -i

ffmpeg -i

Das “Tag” Durcheinander
Nach meinen Erfahrungen empfehle ich die Speicherung der Lautheitswerte im APE-Tag. Da foobar dies nicht einheitlich behandelt geht meine Empfehlung zur Lautheitsbearbeitung klar an mp3Gain.

Denn die nächsten Stolperfallen warten schon auf uns in Form der ID3-Tags. Diese nützlichen Tags erlauben den mp3-Playern die Anzeige von Titel, Interpret, Coverbildern und Songtexten. Die Anzahl der Werkzeuge, die zur Bearbeitung der ID3-Tags angeboten werden, ist unüberschaubar. Ich verzichte hier auf die Empfehlung eines bestimmten und weise auf Probleme hin, die viele dieser Editoren betreffen.

In der Regel bearbeiten diese Editoren ID3-Tags in der Version 1 und 2. Sie ermöglichen oft auch eines dieser Tag-Versionen zu löschen. Aber sie ermöglichen auch manchmal, die Tags mit nicht Standard-Konformen Zeichen zu füllen. Und die Crux an der Geschichte ist, dass es tatsächlich für bestimmte Tags keine Standards sondern nur Empfehlungen gibt. Z.B. “sollte” man im Tag Version 1 nur ASCII-Zeichen speichern. Aber natürlich “offerieren” manche Editoren dies in utf-8 zu tun. Ähnlich ist es mit utf-8 und utf-16 in Tag-Version 2. Weiter geht das Durcheinander bei APE- und Lame-Tags. Der Benutzer wird von den Editoren oft im Unklaren über ihre Existenz gelassen. Sind z.B. Lautheitsinformationen im Tag-Version 2 gespeichert, so werden diese mitunter nicht angezeigt und beim Editieren z.B. nur des Titels anschließend gelöscht. So war eine eventuell vorher erfolgte Lautheitsanpassung “für die Katz”. Schade um die Arbeit könnte man sagen, aber der Benutzer wird u.U. darüber nicht informiert und geht davon aus, dass die ReplayGain-Werte noch “da” sind. Ich persönlich halte nicht viel von der Speicherung der Lautheitswerte in ID3!

Welcher Player berücksichtigt welche Replay-Gain Informationen?
Welche Reihenfolge der Arbeitsschritte man wählt hängt auch davon ab, mit welchem Player die Dateien am Ende abgespielt werden sollen. Man muss bei vielen Playern schon einiges investieren um herauszufinden ob sie ReplayGain via Lame, ID3 oder APE oder alle drei berücksichtigen und was sie als Quelle bevorzugen und ob es überhaupt eine Behandlungskette gibt nach der Vorgabe z.B. Wenn Lame-Tag, dann Lame, wenn nicht, dann APE, wenn nicht dann ID3. Beim gleichzeitigen Vorhandensein eines Lame ReplayGaintags und hartkodierten mp3gain führt dies bei Playern, die beides berücksichtigen z.B. zu einer zu leisen Wiedergabe solcher Dateien!

Alle Klarheiten beseitigt?
Es ist meines Erachtens anhand der Darstellung leicht zu erkennen, dass es wichtig ist, die mp3-Dateien nach strengen, genau definierten Bearbeitungsschritten in der richtigen Reihenfolge zu bearbeiten. Sobald man mp3-Dateien einmal mit Editor A bearbeitet und danach mit Editor B hat man unter Umständen schon “verloren” wenn man nicht in der Lage ist die Dateien unabhängig von solchen Editoren zu analysieren.

Um diesen Stolperfallen aus dem Wege zu gehen habe ich bereits 2011 ein kleines Werkzeug als sog. Nautilus-Script geschrieben. Nun gibt es eine erweiterte Version davon: mp3_archiver. Sie berücksichtigt auch die ev. nötige Bearbeitung von Dateinamen. Das ist für alle von Bedeutung, die ihre mp3s z.B. auf einer Netzwerkfestplatte speichern. Da kann es zu “bösen” Überraschungen kommen, wenn im Dateinamen besondere Zeichen vorhanden sind, die manchmal von den CD-Rippern erzeugt werden. Aber dies ist eine weitere Stolperfalle die in diesem Blogpost zu weit führen würde… Der mp3_archiver erledigt folgende Aufgaben:

  • Sicherung der Originaldateien
  • Umbenennung von Dateien mit Nicht-ASCII-Zeichen
  • Prüfung auf eine Mindestbitrate
  • Verlustfreies Trimmen zur Entfernung von Stille am Beginn und Ende der Datei
  • ID3-Tag Speicherung/Konvertierung in V2.4, löschen von V1 und löschen von überflüssigen Inhalten
  • ReplayGain Berechnung und Speicherung im APE-Tag

Im folgenden erkläre ich etwas detaillierter wie es sich mit ReplayGain via foobar, LAME und mp3Gain verhält.

Bearbeitung mit foobar
foobar ist ein Player, der Replaygain schon sehr früh (2002) intergriert hatte. Er bietet in der Version foobar2000 v1.3.16 zwei Optionen zur Bearbeitung unter der Begrifflichkeit “Replaygain” an: apply und update. Beide Bearbeitungvarianten arbeiten nach meinen Tests mit Inkonsistenzen und führen teils zu ünerwünschten Ergebnissen. Der Benutzer wird über die unterschiedliche Art der Speicherung und Bearbeitung der Lautheitstags nicht direkt informiert. Das führt wiederum bei verschiedenen Playern zu unterschiedlicher Wiedergabe. foobar benutzt APE-Tags z.B. nur, wenn sie schon vorhanden sind, sonst legt er ID3-Tags an. “Hardcodierte” Änderungen lassen sich mit foobar im gegensatz zu mp3Gain nicht verlustfrei rückgängig machen.

Apply
“Hartkodierte” Veränderung der Audiodaten

A) Wenn in der Datei ein Lame replaygain Tag vorhanden, aber kein APE replaygain Tag, dann

  • Veränderung der Audiodaten
  • Lame ReplayGain wird nicht bearbeitet oder gelöscht
  • Keine Informationen zum Rückgängigmachen werden gespeichert
  • Kann nicht Verlustfrei rückgängig gemacht werden

B) Wenn KEIN Lame ABER APE replaygain Tags vorhanden sind, dann

  • Veränderung der Audiodaten
  • Lame Tag wird nicht angelegt
  • Änderung der APE-Tags
  • Keine Speicherung von “MP3GAIN_UNDO”

C) Wenn Lame UND APE ReplayGain Tags vorhanden sind und die Lautheit hartkodiert wurde, dann

  • Veränderung der Audiodaten
  • Lame ReplayGain wird nicht bearbeitet oder gelöscht
  • Vorhandene APE-Tags werden nicht geändert (Wäre kein Fehler, wenn foobars replaygain nicht etwas von den vorhandnen APE replaygin-Werten abweichen würde)

Update
Keine Veränderung der Audiodaten, nur Speicherung/ Änderung der replaygain Tags

A) Wenn in der Datei ein Lame ReplayGain Tag vorhanden, aber kein APE ReplayGain Tag, dann

  • ReplayGain wird in ID3V2 gespeichert aber nicht in APE-Tag
  • Lame ReplayGain wird aktualisiert
  • Veraltetes ID3V2.3.0 wird benutzt

B) Wenn KEIN Lame ABER APE ReplayGain Tags vorhanden sind, dann

  • APE-Tag wird aktualisiert, ID3V2-Tag wird nicht angelegt
  • Lame Tag wird nicht angelegt
  • Testdatei: testgain_0_no_lame_gain_but_replay_gain_ape_foobar_update.mp3

C) Wenn Lame UND APE ReplayGain Tags vorhanden sind und die Lautheit hartkodiert wurde, dann

  • APE-Tag wird aktualisiert, ID3V2-Tag wird nicht angelegt
  • Lame ReplayGain wird nicht aktualisiert

Replaygain mit dem Lame Encoder
Bereits seit 2003 ist es mit dem Lame Encoder möglich, die Lautheit beim Encodiervorgang zu analysieren und den entsprechenden Wert als Track-basierten Replaygain in das sog. Lame-Tag zu schreiben. Manche Player und Werkzeuge zur Bearbeitung von ReplayGain “kümmern” sich nicht um diese, eventuell bereits integrierte Lautheitsinformation in mp3 Dateien. Sie schreiben, eventuell abweichende Werte, in APE- oder ID3-Tags. So kann es vorkommen, dass eine mp3-Datei eine Lame-ReplayGain Information enthält, mp3Gain hartkodiert wurde und ein APE-Tag mit ReplayGain und ev. ReplayGain-UNDO Informationen enthält. Je nachdem, welches dieser Tags dann vom Player verwendet werden, kann es zu unterschiedlicher Wiedergabelautheit der gleichen Datei bei unterschiedlichen Playern kommen. Das Lame ReplayGain-Tag lässt sich meines Wissens mit nur wenigen Werkzeugen nachträglich bearbeiten oder löschen.

Wenn man das Lame ReplayGain nicht explizit und ausschließlich verwenden möchte, emfiehlt es sich:

  • Den Encoder mit der Option –noreplaygain zu benutzen
  • Vor der Bearbeitung mit Lautheitswerkzeugen ein eventuell vorhandenes Lame ReplayGain zu löschen

Bearbeitung mit mp3Gain
2004 erschien die erste produktiv verwendbare Version von mp3Gain. Sie bietet in der aktuellen und wahrscheinlich nicht mehr aktiv gepflegten Version, wie foobar die Möglichkeit die Audiodaten direkt zu ändern, schreibt dazu aber das Tag MP3GAIN_UNDO um die Änderungen im Gegensatz zu foobar, rückgängig machen zu können. Als zweite Variante speichert mp3Gain die klassischen ReplayGain-Werte im APE-Tag. mp3Gain beachtet den eventuell vorhandenen Lame ReplayGain-Wert auch nicht. So kann es hier vorkommen, dass die mp3-Datei den beim Encodiervorgang mit LAME ermittelten Lame replagain enthält und im APE-Tag ev. davon abweichende Werte speichert. Die Standardmäßige Speicherung der ReplayGain-Werte im APE-Tag scheint mir aber nach wie vor die “robusteste” Art zu sein. Ab ubuntu 16 ist mp3gain leider nicht mehr in den Standard-Repositorys. Wie man es trotzdem installieren kann ist im unbunutusers Wiki beschrieben. Es emfiehlt sich auch hier: Vor der Bearbeitung mit mp3Gain ein eventuell vorhandenes Lame ReplayGain zu löschen

Zum Abschluss

Nicht berücksichtigt habe ich hier, die beiden Varianten Track- und Album-Gain. Album-Gain ist nur dann sinnvoll, wenn man komplette Alben “am Stück” hören möchte.

Nicht berücksichtigt habe ich, dass es neben mp3 weitere Formate gibt, die bei geringerem Speicherplatz besserer Qualität ermöglichen.

Wenn es um die Beurteilung der Lautheit von selbst produzierten Audiomaterial geht, dann kann ich empfehlen die in Ardour Standardmässig integrierte Lautheitsanalyse zu nutzen. Gerade bei der Anpassung der Lautheit von veschiedenen Stimmen. z.B. eines Interviews ist es mir immer wieder eine enorme Hilfe gewesen. Das Titelbild dieses Blogpostes ist ein Screenshot der Ardour Lautheitsanalyse.

Vielleicht konnte ich mit diesem und diesem Blogpost ein klein wenig Licht in den Dschungel der Lautheit von mp3-Musikstücken bringen. Ich glaube nicht, dass ich mich selbst in diesem Dschungel gut genug auskenne und bin dankbar für Hinweise auf Fehler und Ergänzunn…

2 Responses to “Lautheit von Musikdateien

  • Du könntest Dich zusätzlich auch mal mit K-Metering befassen, das ist eine direkte optische Rückmeldung zur Lautheit. Ist auch im Ardour-Mixer implementiert und meines Wissens standardmäßig auf dem Main Out aktiv als Meter.

    Für ein Bürgerradio könnte man doch aber auch einen entsprechenden Kompressor zwischen Pult und “draußen” hängen, der TC Finalizer dürfte langsam gebraucht günstig werden. Die Stärke der Verdichtung des Materials sieht man dort dann auch an der Gain-Reduction-Anzeige.

    Ein sehr guter entsprechender Kompressor für Produktionen und als Plugin ist Voxengo Elephant. Leider nur für Mac und Windows, und nur mit Tricksen instabil in Ardour lauffähig. Die Open Source Alternativen klingen leider alle nicht so gut. Allen voran die Calf-Sammlung, die oft irgendwie hart und kratzig ist. Abgesehen davon muss man da auch wissen was mein tut, während der Elephant das alleine macht.

    • Jörg Sorge
      2 weeks ago

      Hallo Wolfram,
      ja, ich nutze das K-Metering. In Ardour kann man für jeden Track separate K-Meter mit unterschiedlichen Referenzwerten einstellen. Außerdem hat man die Option für jeden Track den zug. Mixerstrip mit dem Meter in der Editoransicht anzuzeigen. Da hat man einen schnellen Überblick, auch wenn man den kompletten MIxer nicht benutzt. Und natürlich “hängt” im Sendeausgang auch ein “TC”. Ich finde es aber gut, wenn die einzelnen vorproduzierten Dateien “sauber” sind. So ist ein gleichmässiger Sound z.B. auch für den Podcast gewährleistet.

Leave a Reply

Your email address will not be published. Required fields are marked *