Kann ich die Lautstärke einer MP3-Datei verlustfrei erhöhen?

57

Ich möchte die Lautstärke einiger meiner MP3-Dateien erhöhen. Gibt es eine Möglichkeit, dies auf verlustfreie Weise zu tun (ohne die MP3-Datei erneut zu komprimieren und damit ihre Qualität zu verringern)?

user602675
quelle

Antworten:

57

Ja. Du kannst das. Die Technik wird von einer Reihe von Programmen verwendet und die Pegel werden von einem Algorithmus namens ReplayGain berechnet. MP3- Lautstärkepegeldaten können verlustfrei angepasst werden, genauso wie ein JPEG-Bild verlustfrei gedreht werden kann.

Es gibt zwei Methoden

  1. Berechnen Sie die Lautstärke der Datei und fügen Sie ein neues Tag hinzu, damit kompatible Programme die Lautstärke im Handumdrehen anpassen können
  2. Berechnen Sie den Lautstärkepegel und passen Sie einen Multiplikatorpegel in den MP3-Daten an.

Von HydrogenAudio: Implementierungen :

In der Metadatenmethode können Informationen zu beiden Arten von ReplayGain (Track Gain und Album Gain) gespeichert werden. Die Volumenänderungsinformationen können sehr genau sein. Wenn auch Audiodaten geändert wurden, können die Metadaten "Undo" -Informationen enthalten. Nicht alle Audio-Player / -Decoder können in Metadaten gespeicherte ReplayGain-Informationen lesen und verwenden. Und es gibt keinen Standard dafür, wo und wie ReplayGain-Informationen gespeichert werden. Jede Implementierung verwendet andere Formate und legt die Informationen an verschiedenen Orten ab.

Bei der Audiodatenmethode werden die tatsächlichen Audiodaten der Datei so geändert, dass die natürliche / Standard-Wiedergabelautstärke auf dem Zielpegel liegt. In diesem Szenario kann nur eine Art von ReplayGain (Track Gain oder Album Gain) angewendet werden. Wenn keine "Rückgängig" -Informationen gespeichert sind, können die ursprünglichen Audiodaten möglicherweise nicht wiederhergestellt werden. Einschränkungen des Audiodateiformats können bei dieser Methode zu präzisen (fein abgestimmten) Gain-Anpassungen führen. Beispielsweise können MP3- und AAC-Dateien nur in Schritten von 1,5 dB verlustfrei geändert werden. Abhängig vom Audiodateiformat kann der Vorgang auch insofern verlustbehaftet sein, als ein Signal irreversibel über die maximale Amplitude des Formats (was zu Übersteuerungen führt) oder unter die minimale Amplitude (was zu Stille führt) verschoben werden kann.

Die zweite Methode funktioniert Ihre Datei ändern, sondern weil die zugrunde liegenden Daten nicht geändert wird , verliert keine Qualität, daher kann die Einstellung verlustlos erfolgen. Es wird im Allgemeinen nicht für Ihre Hauptsammlung empfohlen, da es die Dateien von ihrem ursprünglichen Zustand verändert, aber es kann für tragbare Mediaplayer sehr nützlich sein.

Ein Programm namens mp3gain kann die zweite Option ausführen und die Lautstärke von mp3s reversibel einstellen. Es erfolgt absolut keine Neukodierung und es werden lediglich die Größenwerte in der MP3-Datei selbst angepasst, um die Lautstärke zu ändern. Von HydrogenAudio: ReplayGain

Wenn Sie die Verstärkung ändern, werden immer die globalen Verstärkungsfelder in den MP3-Audiodaten geändert. Es können ziemlich genaue Metadaten hinzugefügt werden, einschließlich Informationen zum Rückgängigmachen

Aufgrund der Art und Weise, wie MP3-Dateien codiert werden, ist die Anpassung auf 1,5-dB-Schritte beschränkt, was normalerweise ausreicht, um näher zu kommen.

Foobar2k enthält auch diese Funktionalität und kann die Änderungen auf die Dateien anwenden.

Mokubai
quelle
Interessant. Könnten Sie die erste Option erklären? Sind das spezielle ID3-Tags?
LPChip
2
In der Vergangenheit habe ich eines der Programme getestet, das behauptet, eine JPEG-Datei verlustfrei zu drehen. Das Dekomprimieren einer Version, die viermal um 90 Grad gedreht wurde, ergab die gleiche Ausgabe wie das Dekomprimieren des Originals. Das Dekomprimieren einer nur einmal um 90 Grad gedrehten Version führte jedoch nicht zu dem gleichen Ergebnis wie das Dekomprimieren des Originals und das Drehen um 90 Grad. Die Drehung einer JPEG-Datei um 90 Grad war also nicht völlig verlustfrei, und die eigentliche Ursache sind bestimmte Asymmetrien in der JPEG-Spezifikation.
Kasperd
7
@kasperd , die ziemlich interessant ist , dass es zeigt , dass die tatsächlichen codierte Bild in Rotation Daten sind zu 100% erhalten, sonst wäre nie in der gleichen Datei führen zu drehen fort, aber dass es ein nachfolgender Prozess bei der Bildrekonstruktion, die empfindlich ist die Datenrotation. Angesichts der Berechnungen ist das nicht ganz überraschend, aber Ihre ursprünglichen komprimierten Daten werden durch den Prozess nicht beschädigt und können wiederhergestellt werden. Daher verliert die Rotation selbst keine Daten und ist daher verlustfrei. In diesem Fall reagiert der Decoder anders auf die gedrehten Daten.
Mokubai
2
(Ich denke, JPEG-Rotationen sind nur dann verlustfrei, wenn die Größe des Bildes in beide Richtungen ein Vielfaches von 8 Pixel ist)
Strawberry
1
@Strawberry: Die Daten für ein JPG haben immer eine ganzzahlige Anzahl von Kacheln in beide Richtungen, aber die Datei enthält Dimensionen, die nicht ein Vielfaches davon sein müssen. Wenn man die Daten in den Kacheln drehen würde, wenn die Abmessungen nicht ein Vielfaches der Zeitgröße betragen würden, würden Teile von Kacheln, die nicht in Sicht waren, sichtbar und einige Teile, die sichtbar waren, würden beibehalten, aber ausgeblendet. Wenn Sie den Vorgang noch dreimal wiederholen, werden die verborgenen Daten wieder angezeigt.
Supercat
3

Meiner Meinung nach ist Replaygain keine Antwort auf diese Frage. Es erhöht nicht die Lautstärke des Inhalts, sondern fügt lediglich ein Tag hinzu, um den Spielern (nur Spielern, die das Tag unterstützen) anzuweisen, ihre Lautstärke während der Wiedergabe selbst anzupassen. Insbesondere ist es nicht mit allen Playern kompatibel und eignet sich nicht für alle Verwendungszwecke von MP3s (z. B. für die Verkettung zu einem einzigen Stream usw.).

Auf der anderen Seite ist es theoretisch möglich, alle DCT-Koeffizienten zu skalieren, ohne sie zu dekodieren und neu zu kodieren (dh ohne Quantisierung umzukehren und DCT dann zu wiederholen), nur die Huffman-Kodierung zu wiederholen (was verlustfrei ist). Als ich an MPlayer gearbeitet habe, hatte vermutlich jemand ein Hilfsprogramm, das dies tat, aber ich habe den Namen aus den Augen verloren.

R ..
quelle
2

Ja, es heißt Wiederholungsverstärkung, das Prinzip ist sehr einfach und funktioniert ziemlich gut. Grundsätzlich "hört" die Software auf Ihre Spur und bestimmt, wie stark sie verstärkt werden müsste, um "normal" zu klingen. Die Informationen werden getrennt von den Daten in mp3tag geschrieben.

Der kompatible Player verwendet diese Daten dann, um die Lautstärke automatisch zu erhöhen und alle Spuren mit der gleichen Lautstärke wiederzugeben. Ich würde vorschlagen, http://www.foobar2000.org/ für diese Übung zu versuchen . Wenn Sie mit der rechten Maustaste auf den Titel klicken, können Sie ihn scannen. In den Programmeinstellungen müssen Sie festlegen, dass Informationen zur Wiedergabegewinn verwendet werden.

JollyMort
quelle
1

Nachdem Sie Audacity (kostenlose App) https://sourceforge.net/projects/audacity/ heruntergeladen haben , wählen Sie Datei / Importieren / Audio, navigieren Sie zu Ihrer MP3-Datei, klicken Sie darauf und wählen Sie Öffnen. Sie sehen eine zweikanalige Wellenform.
Klicken Sie oben in der Dropdown-Liste auf Bearbeiten / Auswählen / Alle. Während die Datei ausgewählt ist, wählen Sie Effekte aus der Dropdown-Liste oben und dann Normalisieren. Klicken Sie im folgenden Fenster einfach auf "OK". Die Standardeinstellungen sind normalerweise ausreichend. Klicken Sie auf das grüne Wiedergabedreieck neben den sichtbaren Optionsfeldern, um die bearbeitete Datei zu testen. Sie können mit vielen anderen Effekten wie Equalization, Amplify, Bass & Treble usw. arbeiten. Wenn Sie mit den Ergebnissen zufrieden sind, wählen Sie File / Export Audio und wählen Sie den von Ihnen bevorzugten "Dateityp", normalerweise .WAV oder .MP3.

Ich musste das mit vielen schwachen Dateien machen, die ich erhalten habe.

5Strings
quelle