Ich suche nach einer Möglichkeit, den Ton in VIELEN MP3-Dateien, die ich habe, zu normalisieren. Einige haben einen niedrigen Klang, während andere lauter sind, so dass ich die Lautstärke je nach Song lauter oder leiser stellen muss. Welche Möglichkeiten gibt es, dies für alle Dateien zu tun? Ich würde es besonders gerne über das Terminal machen, aber es werden auch GUI-Wege akzeptiert.
39
Antworten:
Kühnheit
Mit Audacity können wir Dateien einfach stapelweise verarbeiten , um Konvertierungen oder Effekte auf viele Dateien in einer Liste anzuwenden. Dazu müssen wir zuerst eine "Kette" definieren, die die Effekte enthält, die wir anwenden möchten.
Dies geschieht mit "Datei -> Ketten bearbeiten ..." . Drücken Sie im sich öffnenden Fenster die Schaltfläche Hinzufügen unten links, um eine neue Kette einzufügen (geben Sie ihr einen sinnvollen Namen):
Wählen Sie dann den Effekt und seine Parameter aus, die in die Kette eingefügt werden sollen (hier gezeigt für Standardwerte und den Effekt "Normalisieren").
Wenn Sie fertig sind, verlassen Sie dieses Fenster mit OK , um "Datei -> Kette anwenden ..." zu öffnen . Wählen Sie die gerade erstellte Kette aus und laden Sie alle benötigten Dateien mit "Auf Dateien anwenden ..." . In der sich öffnenden Dateiauswahl können mehrere Dateien ausgewählt werden.
Verarbeitete Dateien werden in einem neuen Unterverzeichnis "bereinigt" im Pfad des Originals gespeichert .
SoX
Ab Version> 14.3 können wir den Sox-Filter
--norm
zum Normalisieren von Audio in der Befehlszeile oder für die Stapelverarbeitung verwenden:MP3-Unterstützung wird Sox mit libsox-fmt-all hinzugefügt:
quelle
for f in *.mp3; do sox --norm "$f" /tmp/sox.mp3; mv -v /tmp/sox.mp3 "$f"; done
Schaut mal bei mp3gain vorbei, das ist für mich sogar besser als normalize-audio
Eine andere nützliche Version könnte -c sein, das verhindert, dass Sie gefragt werden, ob Sie die Änderungen für viele Dateien vornehmen möchten:
Wie in der Manpage gesagt:
mp3gain normalisiert nicht nur Spitzenwerte, wie es viele Normalisierer tun. Stattdessen werden statistische Analysen durchgeführt, um festzustellen, wie laut die Datei für das menschliche Ohr tatsächlich ist. Auch die Änderungen, die mp3gain vornimmt, sind völlig verlustfrei. Bei der Änderung geht keine Qualität verloren, da das Programm die MP3-Datei direkt anpasst, ohne sie zu dekodieren und neu zu kodieren.
Hinweis : Das Paket wurde entfernt absichtlich auf Ubuntu 15.04.
Debian schlägt das
python-rgain
Paket als Ersatz vor (Der Vorteil ist, dass 'Replaygain' verschiedene Dateiformate unterstützt, nämlich Ogg Vorbis, Flac, WavPack und MP3. Außerdem können Sie vorhandene Replay Gain-Informationen in jedem dieser Dateitypen anzeigen). Führen Sie nach der Installation das Programm ausreplaygain
.Führen Sie den Befehl aus, um python-rgain vom Terminal aus zu installieren
Alternativ können Sie die
.deb
Datei für 14.04 (spätestens) hier herunterladen . Wie gewohnt installieren. Danach müssen Sie ausgeführt werdensudo apt-get -f install
, um einige Probleme mit Abhängigkeiten zu beheben.quelle
mkdir mp3gain; cd mp3gain; wget https://launchpad.net/ubuntu/+archive/primary/+sourcefiles/mp3gain/1.5.2-r2-6/mp3gain_1.5.2-r2.orig.tar.gz; tar -xvzf mp3gain_1.5.2-r2.orig.tar.gz; make; sudo make install
Ich würde dieses Projekt Normalize verwenden , es ist ein Befehlszeilen-Tool zum Normalisieren von Audiodateien. Sieht genau so aus, wie Sie es brauchen. Kann Batch-Verarbeitung durchführen und erfordert kein Resampling in Zwischenformate.
Es ist in dem Paket repos als Normalisieren-Audio,
sudo apt-get install normalize-audio
. Dies ist ein Build, der von Debian im Upstream gepflegt wird, so dass es in LTS oder neueren Versionen sein sollte und mit mp3-Kompatibilität (getestet) erstellt wurde. Es gibt eine gute Manpageman normalize-audio
, um die Optionen zu erkunden, aber die Standardeinstellungen der Befehle scheinen gut zu funktionieren. Für die Stapelverarbeitung (normalisieren Sie das Volume über mehrere Dateien)normalize-audio -b *.mp3
oder geben Sie einzelne Dateinamen an, anstatt Platzhalter zu verwenden.quelle
libsox-fmt-mp3
,libavcodec-extra
.-b *.mp3
mach etwas mit nur einer (zufälligen?) datei.noch einmal spielen
Schneller und einfacher
replaygain
:Installation:
sudo apt install python-rgain
.-f, --force
Berechnen Sie die Wiederholungsverstärkung neu, auch wenn die Datei bereits Verstärkungsinformationen enthält.Da nur der Wiedergabewert berechnet / geändert werden kann, geht das auch schneller: Bei einem durchschnittlichen PC (Intel i7-6500U, 8GB RAM) lag die Rate bei ~ 20 Dateien / Minute.
Referenz
quelle
Dafür werfe ich meine 2 Cent rein. Ich habe genau dasselbe gesucht (nur für ogg-Dateien) und einen Thread im Crunchbang-Forum gestartet. Sie können es hier ansehen: Normalize-Audio kann den MP3-Decoder nicht finden
Grundsätzlich war meine Lösung das Skript in Post # 8. Es funktioniert für MP3-, FLAC- und OGG-Eingabedateien, möglicherweise für andere, aber definitiv nicht für WAV.
Erstellen Sie einfach eine Datei (benennen Sie sie wie Sie wollen, ich habe meine db_adjust_mp3 genannt), chmod + x und stecken Sie sie in Ihren Ordner ~ / bin. Es füllt auch alle fehlenden Codec-Daten aus. Beispiel:
Originaldatei:
16._This_Protector.mp3: Audio file with ID3 version 2.3.0, contains:
gegen
Normalisierte Datei:
16._This_Protector.mp3: Audio file with ID3 version 2.3.0, contains: MPEG ADTS, layer III, v1, 192 kbps, 44.1 kHz, JntStereo
Ich habe das Skript modifiziert, um normalize-mp3 hier zu verwenden, so dass Sie es verwenden können, wenn Sie möchten:
Dieses Skript berechnet die Differenz zwischen dem aktuellen DB-Pegel und -12 dB und nimmt dann eine Verstärkungsanpassung vor, um die Verstärkung auf genau -12 dB zu setzen. Es ist auch rekursiv, was es großartig macht, ganze Musiksammlungen oder Dateien in vielen Unterordnern zu erstellen. Wenn Sie einen anderen DB-Level einstellen möchten, ändern Sie einfach die beiden Instanzen der Zahl "12" auf den gewünschten DB-Level. Wie ich in meinem Crunchbang-Thread gepostet habe, ist die Verwendung wie folgt:
Als ich meine Musikbibliothek jedoch im MP3-Format hielt, verwendete ich auch mp3gain, genau wie Philippe es vorschlug. Die tote Einfachheit ist großartig und hat mir sehr gut gefallen. Das Problem bei der Normalisierung von Audio ist jedoch, dass die Dateien neu codiert werden, so dass es zu einer gewissen Klangverschlechterung kommt. Aber wenn Sie kein Audiophiler sind und Ihre MP3s mit einer hohen Bitrate codiert sind, sollten Sie keinen großen Unterschied bemerken.
Was mir bei mp3gain jedoch aufgefallen ist, ist, dass ich, egal welche Optionen ich ausprobiert habe, nicht alles in meiner Sammlung auf genau den gleichen DB-Pegel einstellen kann. Das ist es, was ich möchte, damit ich die Lautstärke nie von einem Track auf den anderen einstellen muss der nächste. Dieses Skript macht genau das. Tut mir leid, dass ich so langatmig bin. Hoffe das hilft.
quelle
Neils Antwort hat mir am besten gefallen, da sie keine Korrelation zwischen Audiodateien herstellt: Wählen Sie einfach eine Verstärkungsstufe und passen Sie alles daran an.
Ich hatte jedoch einige Probleme beim Parsen der Ausgabe
normalize-ogg
einiger Dateien, die ich habe. Es gibt auch ein unangenehmes Problembc
: Es wird nicht wirklich gerundet, sondern nur abgeschnitten.Also habe ich irgendwann das Shell-Scripting aufgegeben und bin zu Python übergegangen.
Hinweis 1: Der exiftool-Teil ist möglicherweise zu viel des Guten, aber ich wollte 100% sicher sein, dass die ursprüngliche Bitrate erhalten bleibt.
Hinweis 2: Dadurch werden die Originale überschrieben . Wenn Sie sie beibehalten möchten, verwenden Sie --backup im letzten Aufruf, um ogg zu normalisieren. Ich fand es jedoch praktischer, eine Kopie in einem separaten, sichereren Verzeichnis zu speichern.
Hinweis 3: Diese Lösung behandelt ogg-Dateien, aber es ist trivial, sie an mp3 anzupassen. Ersetzen Sie einfach das Vorkommen von "ogg" durch "mp3".
Hier ist meine Meinung zum Problem. Die neueste Version finden Sie hier: regain.py
quelle