[gelöst] Verständnisfrage Peak & Normalisierung

Moin Männer,

ich habe ein Verständnisproblem zum Aussteuern bzw. zur Peaknormalisierung.
In den Einstellungen habe ich -0,5 dbFS als Peak-Normalisierungsgrenze eingegeben. Unabhängig vom TPL wurde in dem vertretenden Beispiel der Peak bei 1,1 gemessen (siehe Bild 1). Warum korrigiert mAirlist dann auf -0,5 und nicht auf -1,6, (um ja auf -0,5 zu kommen)?
Bin nicht der Master-Experte, das hatte ich mich nur eben gefragt.


Peak.JPG

Peak2.JPG

Lade die Datei bitte mal irgendwo hoch und sende den Link an info@mairlist.com.

Danke für die Datei.

Des Rätsels Lösung:

Der “Normalisieren”-Button benutzt derzeit noch den “alten” Algorithmus zur Pegel-Bestimmung, der sich nur jedes einzelne Sample anschaut und davon das Maximum nimmt, daher also niemals > 0dBFS kommt.

Die Funktionen zur Pegel-Bestimmung auf der “Audio-Datei”-Seite hingegen verwenden schon den neuen Algorithmus aus der ebur128.dll, der auch Interpolationen zwischen Samples vornimmt und daher auch Peak-Werte >0dBFS erkennt.

Es ist für die Zukunft geplant, überall nur noch den neuen Algorithmus zu verwenden. Soweit sind wir aber noch nicht.

Danke für die Aufklärung. Dachte immer dafür wäre der True Peak da, der Inter-/Oversampling analysiert? Egal.

Ja, das ist in der Tat merkwürdig. Daher habe ich noch einmal nachgeforscht:

Offenbar nimmt schon der in der BASS.DLL enhaltene MP3-Decoder eine Interpolation vor.

Wenn ich die MP3-Datei vorab in einem anderen Tool (z.B. Audacity) nach 16-Bit-WAV konvertiere, dann erhalte ich Peak 0.0 und True Peak 1.1.

Und weiterhin:

Ganz offensichtlich ist das MP3-Format in der Lage, Samples > 0dBFS darzustellen aufgrund von Interpolation.

Wandelt man dann nach 16-bit PCM um, wie im Screenshot von Audacity, dann erhält man Übersteuerungen. Dort rot markiert. Maximaler Samplewert ist dann natürlich 0dB, also “Anschlag”. Die bisherige Normalisieren-Funktion von mAirList arbeitet auch mit 16bit, daher erhälst du dort ebenfalls 0,0 dBFS als Peak.

Wandelt man hingegen nach 32-bit floating point PCM um, wo es theoretisch “beliebig viel” Headroom gibt, dann treten diese Übersteuerungen nicht auf; stattdessen erhält man einzelne Samplewerte mit >0dBFS, in diesem Fall liegt das Maximum bei +1,1 dBFS. Die neuen Peak-/Loudness-Analyse-Funktionen von mAirList arbeiten mit 32bit, daher siehst du dort diesen Wert.

Ich werde jetzt schauen, dass ich den Normalisieren-Button auch mit den neuen Funktionen arbeiten lasse, damit die Ergebnisse jedenfalls konsistent sind.

Langfristig ist aber der Plan, dass man gar nicht mehr für jede Datei eine einzelne Verstärkung angibt, sondern dass man die ganze Bibliothek auf Pegel/Lautheit analysiert, und dann global bzw. pro Player einen Zielwert vorgibt, so dass die benötigte Verstärkung dann automatisch vorgenommen wird.


Bildschirmfoto von Audacity (03-05-18, 08-59-58).png

Build 3853, Normalisieren-Button benutzt jetzt die neuen Funktionen. Außerdem eine neue ebur128.dll mit einigen Bugfixes.

Hey Torben,

danke für die schnelle Umsetzung. Gerade getestet, funktioniert super.

Langfristig ist aber der Plan, dass man gar nicht mehr für jede Datei eine einzelne Verstärkung angibt, sondern dass man die ganze Bibliothek auf Pegel/Lautheit analysiert, und dann global bzw. pro Player einen Zielwert vorgibt, so dass die benötigte Verstärkung dann automatisch vorgenommen wird.

Das ist natürlich noch spannender, wobei das bestimmt einiges an Programmierarbeit bedarf.

Hattest du schon Gelegenheit bzgl. des Reverse Lookups zu schauen?