[[Vorlage(Getestet, focal )]] {{{#!vorlage Wissen [:Pakete_installieren:Pakete installieren] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] [[Bild(./lame.png, 72, align=left)]] [sourceforge:lame:LAME] ist ein Enkoder für das weit verbreitete [wikipedia:Mp3:MP3-Audioformat] und gilt schon länger als Referenz auf diesem Gebiet. Die Bedienung verläuft über das [:Terminal#Virtuelle-Konsole:Terminal], es existieren jedoch viele Programme mit grafischer Oberfläche (siehe [:Audiodateien_umwandeln:]), die auf die LAME-Bibliothek zurückgreifen. Lame erzielt beachtliche Ergebnisse, trotzdem ist MP3 selbst mittlerweile als veraltet zu bezeichnen. Modernere Codecs wie [:Vorbis:], [:Opus:] oder [:Audiodateien_umwandeln/#faac:AAC] arbeiten deutlich effizienter. Allerdings können viele ältere Hardware-Player (Stereoanlagen, Autoradios, DVD-Player etc.) oft nur MP3 von CDs oder USB-Sticks lesen. {{{#!vorlage Hinweis MP3 ist ein [wikipedia:Audiodatenkompression#Verlustbehaftete_Audiodatenkompression:verlustbehaftetes] Verfahren. [wikipedia:Bitrate:] und die Frage ob diese [wikipedia:Bitrate#Konstante_Bitrate:konstant] oder [wikipedia:Bitrate#Variable_Bitrate:variabel] sein soll spielt eine wichtige Rolle. Wer die höchstmögliche Tonqualität haben möchte, ist mit einem [wikipedia:Audiodatenkompression#Verlustfreie_Audiodatenkompression:verlustfreien] Codec wie [:FLAC:] vielleicht besser beraten statt MP3-Dateien mit höchster Bitrate zu erstellen. }}} = Installation = LAME kann direkt aus den Quellen installiert werden [1]: {{{#!vorlage Paketinstallation lame, universe }}} = Benutzung = Die allgemeine Syntax von LAME lautet [1]: {{{#!vorlage Befehl lame OPTIONEN QUELLDATEI ZIELDATEI }}} Die Quelldatei muss als Wave, MP2 oder MP3 vorliegen. Wird keine Zieldatei angegeben, wird der Name der Quelldatei übernommen. Werden keine Optionen angegeben, arbeitet Lame mit einer empfohlenen Voreinstellung und verwendet eine variable Bitrate, die zwar die beste Qualität liefert, doch bei älteren Hardware-Playern Probleme verursachen kann. Möchte man die Qualität ungeachtet der empfohlenen Voreinstellung beeinflussen, ohne sich zu sehr mit der Materie zu beschäftigen, kann eines der unten genannten Presets als Option angegeben werden z.B. `--preset extreme`. ||<-2 tablestyle="width: 95%;" cellstyle="background-color: #E2C890; text-align: center;">'''Wichtige Optionen von LAME''' || ||'''Option'''||'''Beschreibung'''|| ||` -b n` ||Mit konstanter Bitrate (CBR) enkodieren: n = 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320 (Standard: 128 kbit/s) Beispiel: `lame -b 128`. CBR bietet die höchste Kompatibilität zu älteren Hardware-Playern aber geringste Qualität.|| ||` --abr n` ||Durchschnittliche Bitrate (ABR) einstellen: n := beliebiger Wert (Ganzzahl oder Fließkommazahl) Beispiel: `lame --abr 225 in.wav`. Kompromiss aus CBR und VBR, eher ungebräuchlich. || ||` -v` oder `--vbr-new` ||Variable Bitrate (VBR). Produziert die höchste Qualität und wird Standardmäßig verwendet.|| ||`-V0`||Qualitätstufen für VBR: 0=hoch ... 4=Standard ... 9=niedrig|| ||` -h` ||Verbesserte Qualität unabhängig von der Bitrate. Verlangsamt Enkodierung. Diese Option ist bei VBR bereits voreingestellt. || ||`-q n`||Statt ` -h` eine Stufe für die Qualitätsverbesserung festlegen. Stufen 0 (hoch) bis 9 (gering). ` -h` entspricht 5. Stufe 0 und 1 verlangsamen Enkodierung deutlich. || ||`-m MODUS`||Umgang mit den Kanälen: (s)tereo / (j)oint stereo/ (m)ono. Standard: (s) bei CBR- (j) bei VBR. Joint Stereo produziert meist bessere Qualität. || ||`--preset VOREINSTELLUNG` || Mögliche Voreinstellungen für VBR: `medium`, `standard`, `extreme`, `insane`.|| ||`--longhelp`||Ausgabe einer Vielzahl möglicher Einstellungsmöglichkeiten || ||`--strictly-enforce-ISO`||Kann Abspielprobleme bei Hardware-Playern verhindern. Produziert aber größere Dateien bei hohen Bitraten. || ||`-F`||Bei Enkodierung mit CBR (` -b n`) Kompatibilität zu Hardware-Playern nochmals erhöhen.|| ||`--replaygain-accurate`||Gründlichere Berechnung von [wikipedia:Replay Gain:Replay-Gain-Werten] als die Standardmäßige. Benötigt mehr Zeit.|| ||`--noreplaygain`||Berechnung unterlassen, z.B. weil ein Hardware-Player Replay Gain nicht unterstützt, was häufig vorkommt. Beschleunigt die Enkodierung. || ||`--decode`||MP3- in Wave-Datei umwandeln.|| LAME kennt noch eine Reihe weiterer Optionen, die man mit Hilfe der Option `--help` aufrufen oder durch einen Blick in die [:man:Manpage] von LAME ansehen kann. = ID3-Tags = Der Befehl '''lame''' kann auch [:Metadaten:] (ID3-Tags) in die entsprechenden MP3-Dateien speichern. Dazu gibt es jedoch, insbesondere wenn man mehrere Dateien umwandelt, komfortablere [:Multimedia#Verwaltung:grafische Programme] – beispielsweise [:EasyTAG:]. Möchte man die ID3-Tags dennoch mit Hilfe von '''lame''' über die Konsole eingeben, hilft ein weiterer Blick in die [:man:Manpage] von LAME. = Anwendungsbeispiele = == MP3-Dateien mit statischer Bitrate == Der typische Anwendungsfall ist, dass man eine unkomprimierte Datei, z.B. eine WAV-Datei, die man aus einer Audio-CD extrahiert hat, in eine MP3 umwandeln möchte. Das folgende Beispiel wandelt eine WAV-Datei "Lied.wav" in eine MP3-Datei mit hoher Qualität (`-h`) und einer statischen Bitrate von 192 kbit/s (`-b`) um: {{{#!vorlage Befehl lame -h -b 192 Lied.wav Lied.mp3 }}} Der Befehl führt zu folgender Ausgabe: {{{ LAME 3.98.4 64bits (http://www.mp3dev.org/) Using polyphase lowpass filter, transition band: 20094 Hz - 20627 Hz Encoding Lied.wav to Lied.mp3 Encoding as 44.1 kHz single-ch MPEG-1 Layer III (3.7x) 192 kbps qval=2 Frame | CPU time/estim | REAL time/estim | play/CPU | ETA 17/17 (100%)| 0:00/ 0:00| 0:00/ 0:00| 7.4014x| 0:00 ------------------------------------------------------------------------------- kbps mono % long % 192.0 100.0 100.0 Writing LAME Tag...done ReplayGain: +9.3dB }}} == MP3-Datei mit variabler Bitrate und id3 Tag == Dieser beispiel Befehl zeigt die Möglichkeiten von Lame {{{ lame -r --bitwidth 16 --little-endian --vbr-new -V 0 -s 44.1 -h --tt %t --ta %a --tl %m --ty %y --tc %c Eingangsdatei Ausgangsdatei }}} Führt zur folgenden Ausgabe {{{ lame --bitwidth 16 --little-endian --vbr-new -V 0 -s 44.1 -h --tt Banause --ta DJ_Deeaan --tl Hits_2098 --ty 2020 --tc ohne_Worte ~/Track.wav ~/Track.mp3 LAME 3.100 64bits (http://lame.sf.net) polyphase lowpass filter disabled Encoding /home/xxx/Track.wav to /home/xxx/Track.mp3 Encoding as 44.1 kHz j-stereo MPEG-1 Layer III VBR(q=0) Frame | CPU time/estim | REAL time/estim | play/CPU | ETA 12825/12825 (100%)| 0:07/ 0:07| 0:07/ 0:07| 45.187x| 0:00 32 [ 16] * 40 [ 1] * 48 [ 0] 56 [ 0] 64 [ 0] 80 [ 0] 96 [ 0] 112 [ 0] 128 [ 1] % 160 [ 5] * 192 [ 245] %********** 224 [ 2702] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%********************************************** 256 [ 5279] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%******************************************************************************* 320 [ 4576] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%************************************************************************************************ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- kbps LR MS % long switch short % 270.5 56.1 43.9 74.6 13.4 12.0 Writing LAME Tag...done ReplayGain: -6.7dB }}} == MP3-Dateien mit variabler Bitrate == Die erzeugten Dateien sind qualitativer und auch oft kleiner, beim De-/Kodieren entsteht aber ein höherer Rechenaufwand. Der folgende Befehl erzeugt eine MP3 mit einer variablen Bitrate mit empfohlener Qualitätsstufe 4: {{{#!vorlage Befehl lame -V4 Lied.wav Lied.mp3 }}} == Fremdformat (M4A/AAC) zu MP3 == {{{#!vorlage Warnung Wenn möglich, sollte auf eine Umwandlung von einem verlustbehafteten Format in ein anderes abgesehen werden. Die Qualität wird hier durch den [wikipedia:Generationsverlust:] oft hörbar verschlechtert. }}} Teilweise muss die Quelldatei zunächst selbst dekodiert werden. Handelt es sich um eine [wikipedia:Advanced_Audio_Coding: MPEG4/AAC]-komprimierte Datei (Dateierweiterung meist '''.m4a'''), ist diese mit '''faad''' (evtl. nachinstallieren) zu dekodieren und über eine [:Shell/Umleitungen#Der-Pipe-Operator: Pipe] an den Befehl '''lame''' weiterzugeben: {{{#!vorlage Befehl faad -o - "Lied.m4a" | lame -V2 - Lied.mp3 }}} === Weitere Fremdformate zu MP3 === Soweit die Quelldatei sich in einem anderen Format befindet und erst dekodiert werden muss, empfiehlt sich die Verwendung des Multimedia-Frameworks GStreamer, das die Audiodaten an LAME weitergibt. Mehr dazu im Artikel [:GStreamer:]. == Mehrere Dateien verarbeiten (Stapelverarbeitung) == Will man nicht jede Datei einzeln kodieren, sondern mehrere in einem Verzeichnis (Batch), kann man ein [:Shell:]-internes Konstrukt in Form einer Schleife verwenden. Das folgende Beispiel wandelt alle Dateien mit der Endung '''.wav''' in eine MP3 um: {{{#!vorlage Befehl for i in *.wav; do lame -h -b 192 "$i" "`basename "$i" .wav`".mp3; done }}} Wenn sich Dateien mit der Endung '''.wav''' in vielen Unterverzeichnissen befinden, kann man in ein übergeordnetes Verzeichnis wechseln und mit folgendem Befehl alle Dateien an ihrem jeweiligen Speicherort in '''MP3'''-Dateien umwandeln: {{{#!vorlage Befehl find . -type d -exec sh -c '(cd {} && for i in *.wav; do lame -h -b 128 "$i" "`basename "$i" .wav`".mp3; done)' ';' }}} Um alle '''M4A'''-Dateien in einem Ordner in '''MP3'''-Dateien umzuwandeln, reicht dieser Befehl: {{{#!vorlage Befehl for file in *.m4a; do faad -o - "$file" | lame -V2 - "$(basename "$file" .m4a).mp3"; done }}} = Links = * [http://lame.sourceforge.net/ Offizielle Projektseite] {en} * [wikipedia:LAME:] – Wikipedia * [sourceforge:wxlame:wxLame] {en} - grafische Oberfläche für LAME * [:Audiodateien_umwandeln:Audiodateien umwandeln] {Übersicht} Übersichtsseite * [:Metadaten:] {Übersicht} Informationen in Audiodateien einbetten #tag: Multimedia, Audio, MP3