LAME
# LAME

LAME ist ein Open-Source-Projekt, das sich selbst als Entwicklungsprojekt zur Unterstützung des MP3-Audioformats versteht. Der Name LAME ist ein rekursives Akronym für LAME Ain’t an MP3 Encoder, „LAME ist kein MP3-Encoder“, was darauf zurückzuführen ist, dass LAME ursprünglich kein vollständiger Encoder, sondern nur ein Patch für die MP3-Beispielimplementierung war, siehe Geschichte. De facto entwickelt das LAME-Projekt Quelltext zur Erzeugung von MP3-Audiodateien und befindet sich damit in Konkurrenz mit anderen Anbietern, zum Beispiel der Fraunhofer-Gesellschaft (FhG) mit deren proprietären MP3-Encodern. LAME wird in einer Vielzahl von freien Software-Produkten eingesetzt und nach Angaben des LAME-Projektes auch in mindestens einem tragbaren MP3-Spieler. LAME steht unter der GNU Lesser General Public License (LGPL) und kann somit frei benutzt werden.

## Geschichte

Das Projekt startete Anfang 1998, als Mike Cheng für eine Beispielimplementierung eines MP3-Encoders einen Patch entwickelte. Dieser Encoder war von der Internationalen Organisation für Normung (ISO) herausgegeben worden und darf für nichtkommerzielle Projekte frei verwendet werden. Die ISO verwaltet alle MPEG-Standards (und somit auch MP3), das betrifft jedoch nur das Format an sich und die Decodierung, die als ISO-Standard frei verfügbar sind, nicht die Codierung.

LAME steht unter der LGPL und kommt ab Version 3.81beta vom 8. Mai 2000 ohne den alten ISO-Quelltext aus. LAME wird allgemein als der qualitativ höchstwertige MP3-Encoder angesehen, was aus zahlreichen Hörtests geschlussfolgert wird. Aufgrund ständiger Optimierungen zählt er zu den schnellsten. Das LAME-MT-Projekt arbeitet an einer Version mit Multi-Threaded Engine, um besseren Gebrauch von Mehrkernprozessoren zu machen.

Zuletzt wurde Mitte Oktober 2017 eine neue LAME-Version mit der Nummer 3.100 veröffentlicht. Diese Ausgabe enthält ausschließlich Fehlerbeseitigungen; die Audioqualität ist gleich geblieben.

## Lizenzen und Patente

Die Fraunhofer-Gesellschaft und andere Firmen besitzen Softwarepatente auf Teilverfahren, die für MPEG-Codierung eingesetzt werden. Ein alles umfassendes MP3-Patent gibt es nicht. Die Fraunhofer-Gesellschaft hat den größten Teil an der Entwicklung des MP3-Standards beigetragen und sich einige Verfahren zur MP3-Codierung patentieren lassen. In einem Zusammenschluss mit Thomson besitzen beide Unternehmen 18 MP3-bezogene Patente. Seit September 1998, nachdem sich der MP3-Standard sechs Jahre lang unbelastet etablieren konnte, verlangt FhG/Thomson Lizenzgebühren für MP3-Encoder. Andere Firmen haben ebenfalls Patentansprüche auf das MP3-Verfahren, zum Beispiel die Firma Sisvel, die im Auftrag von Philips handelt.

Infolgedessen mussten viele freie MP3-Projekte aufgegeben werden. Der Anspruch von FhG/Thomson, dass die Verwendung ihrer Patente zur MP3-Codierung unverzichtbar wäre, konnte gegenüber LAME bisher gerichtlich nicht durchgesetzt werden. Die LAME-Entwickler konnten sich darauf berufen, den frei verfügbaren ISO-Quelltext gemäß der entsprechenden Lizenz zu verwenden, ein MP3-Technologie-unterstützendes Entwicklungsprojekt zu sein und kein fertiges Produkt anzubieten, sondern nur den Quellcode zu veröffentlichen. Das bedeutet, dass diejenigen, die LAME-basierte Encoder zur Verfügung stellen, ebenfalls ein gewisses Risiko eingehen, indem sie ein fertiges Produkt verbreiten. FhG/Thomson müsste jedoch zuerst die Gültigkeit und Anwendbarkeit ihrer Patente nachweisen.

Seit dem 23. April 2017 ist das MP3-Lizenzprogramm des Fraunhofer IIS ausgelaufen, sodass Encoding und Decoding nun frei sind.

## Verwendung

Auf Grund der hohen Qualität der von LAME erzeugten MP3-Dateien wird es häufig verwendet und ist oft in Shareware- und Freeware-Programmen zu finden. Unter Windows benötigen einige Encoder-Programme (wie zum Beispiel VirtualDub) zusätzlich zum Codec einen Audio Compression Manager (ACM) für LAME (siehe Weblinks).

Im November 2005 gab es Berichte, nach denen Analysen darauf hinwiesen, dass in dem umstrittenen Kopierschutzverfahren XCP, das auf Musik-CDs von Sony BMG zum Einsatz kam, widerrechtlich Quelltext von LAME eingesetzt worden sei. Da Sony letztendlich alle CDs mit XCP zurückzog, verliefen diese Anschuldigungen allerdings im Sande.

## Unterstützte Techniken

### Bitrate-Modi

**Konstante Datenrate (CBR)**

Konstante Bitrate wählbar zwischen 8, 16, 24, 32, 40, 48, 64, 80, 96, 112, 128, 160, 192, 224, 256 und 320 kbit/s. Hier ist die Qualität variabel.

**Variable Datenrate (VBR)**

Variable Bitrate in zehn Qualitätsstufen (-V 0 bis -V 9). Durch dynamische Anpassung der Bitrate an die Komplexität des Audiosignales wird versucht, die Qualität konstant zu halten. Im Zusammenhang mit VBR wird oft von einer nominalen (das heißt durchschnittlichen) Bitrate gesprochen. Mit Lame 3.90 wurden Alt-Presets eingeführt, die eine transparente Qualität bieten.

**Durchschnittliche Datenrate (ABR)**

LAME unterstützt auch die Einstellung einer durchschnittlichen Datenrate. Der Encoder passt ebenso wie bei der Variablen Datenrate (VBR) die Kompressionsrate an die Informationsdichte des Datensignals an. Da jedoch versucht wird, eine mittlere, vorgegebene Bitrate durchschnittlich zu erreichen, sollte die Größe der Ziel-Datei im Voraus annähernd berechenbar sein. Die erreichte Bitrate weicht meist minimal vom Zielergebnis ab (Beispiel: Wenn man als Zielbitrate 192 kbit/s eingibt, ist die Bandbreite der Bitrate, die erreicht wird, 180–200 kbit/s.).

### Kanal-Modi

**Mono**

Falls die Quelldatei noch nicht monophon ist, wird sie in Mono umgewandelt (ein sogenannter Downmix) und in MP3 kodiert. Es wird nur ein Audio-Kanal verwendet.

**Joint-Stereo**

Es wird unterschieden zwischen dem verlustbehafteten IS-Joint-Stereo, bei dem Phaseninformationen verloren gehen, und dem verlustfreien MS-Joint-Stereo. Die aktuelle Version des LAME Encoders verwendet, von der Absenkung der Zielbitrate unabhängig, nur noch MS-Joint-Stereo.

Mid/Side-Joint-Stereo nutzt die Tatsache, dass bei normaler Musik zwischen den beiden Stereokanälen nur kleine Unterschiede bestehen. Die beiden Kanäle werden zu einem Summenkanal L+R („Mid“), der dem linken und dem rechten Kanal gemeinsam ist, zusammengefasst (engl. joint „verbunden“). Der zweite Kanal enthält nur das Differenzsignal L-R („Side“), das allgemein weit weniger komplex ist. Tiefe Frequenzen werden nicht ausdifferenziert, da deren Richtungsinformation zu vernachlässigen ist. Auf diese Weise kann eine deutlich höhere Qualität bei identischer Bitrate gegenüber dem herkömmlichen Stereo-Verfahren erzielt werden. Bei Audioquellen, die völlig getrennte Aufnahmen für den linken und rechten Kanal enthalten, bringt dieses Verfahren jedoch keinen Gewinn, da für Stellen mit zu großen Kanalunterschieden automatisch einfaches Stereo verwendet wird (diese Automatik ist im Kanalmodus Forced Joint Stereo deaktiviert; hier werden alle Frames mit MS-Joint-Stereo verarbeitet).

**Einfaches Stereo**

Es werden zwei unabhängige Tonkanäle gespeichert. Je nach Komplexität werden den beiden Kanälen entsprechende Bitraten zugewiesen, dem linken Kanal zum Beispiel 65 % des Speicherplatzes und dem rechten 35 %. Die Qualität ist gegenüber Joint-Stereo (bei normalen Stereodateien gleicher Bitrate bzw. gleichem Speicherplatzbedarf) folglich schlechter.

**Dual-Mono/Dual-Channel**

Wie bei einfachem Stereo werden beide Kanäle getrennt kodiert. Der Unterschied ist jedoch, dass, unabhängig von der Komplexität des rechten oder linken Kanals, beide Kanäle genau die Hälfte des Speicherplatzes erhalten. Dieses Ergebnis lässt sich folglich auch mit einfachem Stereo erreichen.

### Kodiergeschwindigkeit

LAME war und ist nicht der schnellste MP3-Encoder. Auch ist LAME in der Regel langsamer als Encoder anderer Kompressionsverfahren. Die Ursachen dafür liegen zum Beispiel im psychoakustischen Modell und anderen internen Funktionen, die dazu dienen, die Ausgabequalität zu verbessern. Die langsame Verarbeitung kommt also direkt der Qualität zugute. Bei der Rechengeschwindigkeit moderner Computer fallen die Wartezeiten jedoch immer weniger ins Gewicht.

### Sonstiges

* Die Qualität und Geschwindigkeit der Kodierung kann beeinflusst werden.
* Die Tiefpass-Filterung ist standardmäßig aktiviert, kann aber auch deaktiviert werden.
* ID3v1- und ID3v2-Tagging.
* Replay Gain (standardmäßig aktiviert).
* CRC-Berechnung der Header.
* Gapless (lückenfreies) Kodieren.
* Input (Quelldateien), können sowohl WAV- als auch MP1-, MP2- und MP3-Dateien sein.
* MP3-Dateien können in WAV-Dateien umgewandelt werden (dekodieren).
* Freeformat-Bitströme (die nicht der Bitrate 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256 oder 320 kbit/s entsprechen) können erzeugt werden.

LAME lässt noch viele weitere Einstellungen zur MP3-Kodierung zu, entweder direkt über die Kommandozeile oder mittels der Benutzeroberfläche einer unterstützenden Software.

## Kodieren mit LAME

Empfehlenswert ist die Kodierung mit variabler Bitrate. Dadurch ist sichergestellt, dass das Tonstück mit konstanter Qualität kodiert wird. Demgegenüber schwankt die Qualität bei der Kodierung mit konstanter Datenrate, dabei können an schwierig zu kodierenden Musikstellen Qualitätseinbrüche auftreten. Kodierung mit variabler Bitrate reduziert die Datenrate bei ruhigeren Passagen des Stückes und hebt sie bei komplexen Passagen an. Dadurch wird eine konstante Qualität erreicht und es entsteht eine dafür minimal notwendige Dateigröße.

Um mit LAME mit variabler Bitrate zu kodieren, steht neben dem herkömmlichen VBR-Modus auch der neue VBR-Modus zur Verfügung. Da er ab der Version 3.97 sehr ausgereift ist und die Kodiergeschwindigkeit sich verdreifacht hat, sollte er als Standard verwendet werden, was bei Lame ab Version 3.98 automatisch der Fall ist.

### Einstellungsprofile

Aufgrund der großen Flexibilität von LAME lässt sich die Kodierfähigkeit mittels vieler Parameter sehr genau steuern. Da diese vielen Möglichkeiten jedoch aufgrund ihrer Unübersichtlichkeit zu nicht optimalen Ergebnissen führen können, gibt es ein System von Einstellungsprofilen (englisch presets = Voreinstellungen).

Dabei sind drei Stufen vorgegeben, die im täglichen Gebrauch optimale Lösungen zur Verfügung stellen. Die Stufe Standard (entspricht -V 2) erzeugt dabei eine transparente Qualität, bei der die meisten Menschen die MP3-kodierte Fassung klanglich nicht vom Original unterscheiden können. Sie ist daher die empfohlene Einstellung zur Kodierung von Musik. Die darunterliegende Stufe Medium (entspricht -V 4) stellt einen guten Kompromiss zwischen geringer Dateigröße und ausreichender Qualität dar. Da sie fast transparente Qualität erzeugt, eignet sie sich gut, um Musik für tragbare MP3-Spieler aufzubereiten. Die Stufe Extreme (entspricht -V 0) bringt gegenüber der Stufe Standard nur noch geringe Qualitätsverbesserungen, führt aber zu sehr großen Dateien.

Die Presets können zum Beispiel mit --preset standard aktiviert werden. Ebenfalls als Presets können die Qualitätsstufen (siehe nächster Abschnitt) angesehen werden. Wer also wegen der besseren Abstufung direkt mit diesen Parametern arbeiten will, der kann das tun, indem er beispielsweise -V 2 als Parameter benutzt.

### Qualitätsstufen

LAME wurde in den letzten Jahren qualitativ verbessert. Aktuelle Hörtests belegen, dass die meisten Menschen mit LAME kodierte Musik bei einer durchschnittlichen Bitrate von 128 kbit/s als transparent empfinden. Somit erreicht LAME bei dieser Bitrate inzwischen (Stand: September 2007) eine Qualität, die bei Einführung des MP3-Formats nicht möglich war. Daher gilt die folgende Beurteilung für den LAME-Encoder erst ab Version 3.97. Lediglich einige wenige Musikstücke enthalten kurze Passagen (Problemsamples), die auch bei hochqualitativen Einstellungen nicht transparent klingen. Bei normalem Musikgenuss sind aber selbst diese Unterschiede nicht zu hören. Die folgende Tabelle dient zur Orientierung über das 10-stufige Qualitätsstufen-System.

| Parameter | Ziel-Bitrate in kbit/s | erreichte Bitrate in kbit/s | Musik-Qualität | Bemerkung |
| - | - | - | - | - |
| -b320 | 320 | 320 CBR | Exzellent | Transparent auch für geschulte Ohren, eventuelle Verbesserung der Qualität von Problemsamples. |
| -V0 | 245 | 220–260 | Exzellent | Transparent auch für geschulte Ohren, eventuelle Verbesserung der Qualität von Problemsamples. |
| -V1 | 225 | 200–250 | Exzellent | Transparent auch für geschulte Ohren, eventuelle Verbesserung der Qualität von Problemsamples. |
| -V2 | 190 | 170–210 | Sehr gut–Exzellent | Empfohlene Einstellung. Transparent auch für geschulte Ohren. |
| -V3 | 175 | 155–195 | Sehr gut | Transparent auch für die meisten geschulten Ohren. |
| -V4 | 165 | 145–185 | Gut–Sehr gut | Transparent für normale Hörer. Geschulte Ohren können selten Unterschiede erkennen. |
| -V5 | 130 | 110–150 | Gut | In den meisten Fällen transparent für normale Hörer, jedoch können geschulte Ohren gelegentlich Unterschiede erkennen. |
| -V6 | 115 | 95–170 | Befriedigend–Gut | Auch ungeübte Ohren können häufig minimale Unterschiede erkennen. Für den Gebrauch in tragbaren Geräten, qualitativ weniger hochwertigen Hifi-Komponenten zur Hintergrundbeschallung oder Kodierung von Hörbüchern aber sehr gut geeignet. |
| -V7 | 100 | 80–160 | Befriedigend | Auch ungeübte Ohren können häufig deutliche Unterschiede erkennen. Für den Gebrauch in tragbaren Geräten, qualitativ weniger hochwertigen Hifi-Komponenten zur Hintergrundbeschallung oder Kodierung von Hörbüchern aber gut geeignet. |
| -V8 | 85 | 65–175 | -- | V8 und V9 sollten in Version 3.99 nicht verwendet werden, teilweise ergeben sich größere Dateien (schlechtere Kompression) als in V7. |
| -- abr 128 | 128 | ca. 115–155 | -- | Sollte in Version 3.99 nur verwendet werden, wenn die Dateigröße im Vorhinein festgelegt werden soll. Die Größe der Zieldatei ist ähnlich wie bei der Verwendung von V7, die Qualität jedoch schlechter. |
| -- abr 112 | 112 | ca. 100–140 | Ausreichend | Deutliche Unterschiede auch für ungeübte Ohren. Für Hörbücher und Hörstücke ohne hohe Qualitätsansprüche noch gut geeignet. |
| -- abr 96 | 96 | ca. 85–120 | Eingeschränkt | Deutliche Unterschiede auch für ungeübte Ohren. Für Hörbücher und Hörstücke ohne hohe Qualitätsansprüche geeignet. |
| -- abr 64 | 64 | ca. 55–90 | Mangelhaft | Deutliche Qualitätseinbußen. Für Hörbücher und Hörstücke auf mobilen Geräten noch geeignet. |

Die hier angegebenen Werte dienen nur der Orientierung. Je nach Ausgangsmaterial kann die Bitrate beispielsweise bei Qualitätsstufe -V 2 auch deutlich unter 170 kbit/s bzw. über 210 kbit/s betragen. Ab der Version 3.98 werden auch nicht-ganzzahlige Werte als Parameter für -V akzeptiert.

## Hörtests

Audio-Codecs wurden immer wieder verschiedenen Hörtests (zum Beispiel ABX-Test) unterzogen. Somit ist es möglich, bei einem Codec Feinabstimmungen vorzunehmen, bis das Ergebnis ansprechend ist. Die Gemeinschaft auf Hydrogenaudio.org testete Lame und andere Encoder in regelmäßigen Hörtests. Dabei flossen die Ergebnisse direkt in die Entwicklung von Lame ein, so dass der Encoder stetig verbessert werden konnte. Ein Beispiel ist die Qualität bei einer Bitrate von 128 kbit/s, in der sich Lame stetig verbessern konnte. So erreichte Lame in der Version 3.95 bei einem Test 3,74 Punkte, die Folgeversion Lame 3.96 in einem anderen Test bereits 4,18 Punkte und Lame 3.97b2, wiederum in einem anderen Test, 4,60 von jeweils 5 Punkten. Jedoch nahmen an den Hörtests jeweils unterschiedliche Personen teil, teils wurden auch andere Testdaten benutzt. Die Ergebnisse lassen sich somit nicht direkt aufeinander übertragen, bieten aber dennoch einen Einblick in die Entwicklung des Codecs, der sich in der Qualität tendenziell deutlich steigern konnte. Konnte man im Jahr 2002 bei 128 kbit/s nur von ausreichender Qualität sprechen, so ist 2007 die Qualität für die meisten Hörer schon transparent.

