[[Vorlage(Getestet, bionic, focal, )]] {{{#!vorlage Wissen [:Paketquellen_freischalten/PPA: Ein PPA verwenden] [:Pakete_installieren: Installation von Programmen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(./Logo.gif, 48, align=left)]] [sourceforge2:mp3gain:MP3Gain] {en} ist eine Software zur Analyse von MP3-Dateien, um diese dann auf einheitliches Lautstärkeniveau zu bringen.. Eine Vielzahl von Programmen greift darauf zurück. Die Steuerung des Programms folgt über die Kommandozeile. Wer eine grafische Oberfläche sucht, wird im Artikel [:MP3Gain-GUI:] fündig. = Hintergrund = Die Musikindustrie hält sich beim [wikipedia:Mastering (Audio):Mastering] ihrer Produkte an keinen einheitlichen Standard. Dies äußert sich besonders unangenehm in der Lautstärke. Jeder, der sich selber schon mal eine CD - oder früher auch eine Audiokassette - zusammengestellt hat, kennt den Schock, wenn das nächste Lied plötzlich viel lauter ist als das zuvor. Es gibt zwei Möglichkeiten, dieses Problem zumindest abzuschwächen: * [wikipedia:Normalisierung_(Audio):Normalisieren]: Das Audiomaterial selbst wird hoch- (lauter) bzw. herunter (leiser) skaliert. Diese Methode funktioniert immer, allerdings ist sie unumkehrbar. Bei falschem Vorgehen kann das Audiomaterial ruiniert werden. Ferner wird es für Audiophile inakzeptabel sein, den Originaltitel zu verändern. * [wikipedia:Replay_Gain:Replay Gain]: Das Audiomaterial bleibt unangetastet, stattdessen wird im [wikipedia:Tag (Informatik):Tag] die gemessene Lautstärke hinterlegt. Alle Audioplayer, die Replay Gain unterstützen, passen dann die Lautstärke automatisch an. Diese Methode ist eleganter, nützt jedoch wenig, wenn Replay Gain nicht unterstützt wird. Dies ist vor allem bei Hardware-Playern recht häufig der Fall. Von beiden Methoden darf man keine Wunder erwarten, denn die [wikipedia:Lautheit:] kann hierdurch nicht beeinflusst werden. MP3Gain unterstützt beide dieser Varianten. = Installation = '''mp3gain''' ist erst für 21.04 wieder in den offiziellen Paketquellen enthalten. Es kann aber in 18.04 über ein "Personal Packages Archiv" (PPA) [1]] installiert werden. Für 20.04 und 20.10 stehen keine Pakete zur Verfügung, es kann jedoch das Paket aus dem PPA für 18.04 verwendet werden. Allerdings muss '''nach''' dem Hinzufügen des PPA, der Eintrag entsprechend angepasst werden. Anmerkung: Beim Hinzufügen des PPA unter 20.04 und 20.10 erscheint eine Fehlermeldung (`404 Not Found [IP: ...]`) welche ignoriert werden kann. Dies wird anschließend noch korrigiert. [[Vorlage(PPA, flexiondotorg/audio)]] * Nur für 20.04: Der automatisch erzeugte Eintrag muss jetzt noch wie folgt korrigiert werden: {{{#!vorlage Befehl # für 20.04 sudo sed -i s/focal/bionic/g /etc/apt/sources.list.d/flexiondotorg-ubuntu-audio-focal.list sudo apt update }}} Jetzt kann man das Paket installieren[2] {{{#!vorlage Paketinstallation mp3gain, ppa }}} == Alternative Installation als snap-Paket == mp3gain kann auch über den Canonical [:snap#snapcraft-io:snapcraft-io]-Server installiert werden: {{{#!vorlage Befehl sudo snap install mp3gain }}} Diese Version wird weiter gepflegt und ist aktueller als die aus dem PPA-Repository. = Benutzung = Um die Lautstärke anzupassen, öffnet man ein Terminal [3] und wechselt in den Ordner, in dem sich die Dateien befinden, z.B. '''~/Musik/''', und führt folgende Befehle aus: * '''Beispiel.mp3''' messen und in den ID3-Tag eintragen (Replay Gain): {{{#!vorlage Befehl mp3gain Beispiel.mp3 }}} * '''Beispiel.mp3''' anpassen/normalisieren (Kein Replay Gain, Titelanpassung, 89 dB): {{{#!vorlage Befehl mp3gain -r Beispiel.mp3 }}} * Alle Dateien im Ordner anpassen (Kein Replay Gain, Titelanpassung, 92 dB, Originaldatum): {{{#!vorlage Befehl mp3gain -r -d 3 -p *.mp3 }}} * Alle Dateien im Ordner anpassen (Kein Replay Gain, Albumanpassung, 89 dB): {{{#!vorlage Befehl mp3gain -a *.mp3 }}} Weitere mögliche Optionen: ||<-2 tablestyle="width: 90%;" rowclass="titel"> MP3Gain|| || Option||Beschreibung|| ||`-a`||Albumlautstärke automatisch anpassen|| ||`-c`||Clipping-Warnungen ignorieren (nicht empfohlen!)|| ||`-d n`|| Lautstärke von 89 dB um Wert `n` erhöhen (in 1,5 dB-Schritten)|| ||`-g n`||Gain `n` ohne Analyse hinzufügen|| ||`-h`||Verfügbare Optionen anzeigen|| ||`-k`||Track/Album-Gain automatisch verringern, um Clipping zu verhindern|| ||`-l 0 n`||Zu Kanal `0` (linker Kanal) Gain `n` ohne Analyse hinzufügen (funktioniert NUR mit STEREO-Dateien, nicht Joint Stereo)|| ||`-l 1 n`||Zu Kanal `1` (rechter Kanal) Gain `n` hinzufügen|| ||``-p``||Erstellungsdatum beibehalten|| ||`-r`||Lautstärke des Stücks/der Stücke automatisch anpassen (voreingestellte Lautstärke: 89 dB)|| ||`-T`||Datei direkt bearbeiten (ohne temporäre Datei)|| ||`-u`||Änderungen rückgängig machen (anhand gespeicherter Tags)|| Anmerkungen: * Wenn man `-r` und `-a` angibt, wird nur das Zweite angewandt. * Sobald `-r`, `-a`, `-g` oder `-l` benutzt wird, wird kein Replay Gain verwendet, sondern normalisiert. Mit dem Parameter `-u` kann man diese Anpassungen wieder rückgängig machen. Eine detaillierte Auflistung aller Optionen findet man in den [:man:Manpages]. == Beispiele == MP3Gain kann auch mit anderen Befehlen kombiniert werden, um z.B. alle Dateien in einer Verzeichnisstruktur anzupassen: {{{#!vorlage Befehl find %F -iname '*.mp3' -execdir mp3gain -p -d 3 {} \+ }}} Dabei durchsucht `find` das Verzeichnis `%F` und darunter liegende Verzeichnisse nach MP3-Dateien (mit der Endung .'''mp3''', ohne Beachtung der Groß/Kleinschreibung, also auch .'''Mp3''', .'''MP3''' etc.). Dann führt `find` in jedem Verzeichnis mit MP3-Dateien `mp3gain` mit den Parametern `-p -d 3` aus. Damit das ganze funktioniert, muss `%F` durch das Verzeichnis, in dem die MP3-Sammlung liegt, ersetzt werden. Leider gibt es keinen Schalter für "nicht normalisieren, wenn Clipping auftritt. Daher muss man, wenn man MP3Gain mit den Parametern `-p -r` ausführt, u.U. öfters die Clipping-Warnung (mit Nein) beantworten. Will man aber nach dem obigen Muster die ganze MP3-Sammlung normalisieren, ist das sehr ärgerlich. Es hilft folgender Trick: {{{#!vorlage Befehl find %F -iname '*.mp3' -execdir mp3gain -p -r {} \+ < $(yes n) }}} `$(yes n)` bewirkt die endlose Ausgabe von `no`, damit eine erwartete Eingabe mit `n` beantwortet wird. Dabei kann es ggf. zu ein Allokierungsfehler kommen, da der Eintrag `yes` den Arbeitsspeicher vollschreiben könnte. Abhilfe schaffte folgendes Konstrukt: {{{#!vorlage Befehl find %F -iname '*.mp3' -print0 | xargs -0 -n 5 -P 5 -I %% bash -c 'yes n | mp3gain -r -p -T "%%"' }}} Eine weitere Möglichkeit wäre, wenn man nur alle MP3s in einem Ordner messen will, in dem man sich gerade befindet (Replay Gain): {{{#!vorlage Befehl mp3gain * }}} Falls der Ordner Unterordner enthält, in denen auch MP3s liegen, die normalisiert werden sollen: {{{#!vorlage Befehl mp3gain */* }}} usw. Da nur Replay Gain genutzt wird, sollten keine Clipping Fehler/Warnungen auftreten. = Problembehebung = Beendet sich MP3Gain bei einer Datei reproduzierbar mit einem „Segmentation Fault”, können fehlenden Schreibrechte der Grund sein. = Alternativen = * [:soundKonverter:] * [packages:normalize-audio:] zusammen mit [:K3b:] zum Lautstärkeausgleich beim Brennen = Links = * [sourceforge:mp3gain:Projektseite] {en} * [http://mp3gain.sourceforge.net/help/mp3gain-deutsch.zip mp3gain-deutsch.zip] {dl} - deutsche MP3Gain-Hilfe als CHM-Datei (zum Lesen wird ein [:CHM:CHM-Betrachter] benötigt) * [https://www.audiohq.de/viewtopic.php?id=23 Sonderfall MP3Gain] {de} - Grundlagen zu ReplayGain, Clipping und Normalisieren, Forenbeitrag AudioHQ.de, 08/2007 * [wikipedia:MP3Gain:] - Wikipedia * [http://www.mpx.net/software/details/mp3gain.html Besprechung in MPEX] {de} * [https://pypi.org/project/rgain/ rgain] {en} - Alternative zu MP3Gain (wird nicht mehr gepflegt), als [packages:python-rgain:] in den offiziellen Paketquellen nur bis UBUNTU 18.04 enthalten # tag: Multimedia, Shell, Audiobooks