Ein Artikel über die eigene MP3 Kompression
Auch dieser Artikel kommt in Grundzügen aus der ct aus dem Jahr 2000. von Felix von Leitner .
.
Jan. 2000 - Die Qualität von MP3-Encodern im Vergleich
MP3 ist in aller Munde - ständig kündigen Hersteller neue Player an, immer mehr Internet-Sites bieten Stücke an, und mancher Anwender hat schon seinen ganzen Turm voller CDs in ein handlicheres Format gebracht. Egal aber, ob für die Party oder zum Joggen: Wer MP3-Dateien erstellen will, benötigt einen entsprechenden Encoder - den Wandler von Wave-Dateien zu MP3 Dateien. Und von ihm hängt es zuerst einmal ab, ob die komprimierte Musik auch vernünftigen Hörgenuss bietet.
Der Knackpunkt ist die optimale Bitrate
Das wichtigste Kriterium bei MP3-Encodern ist natürlich, ob die Software auch in der Lage ist, MP3-Dateien zu erstellen, die einen ungetrübten Musikgenuss bieten. Oder, anders herum formuliert: Wie weit kann man die Bitrate senken, ohne dass man Fehler in Form von Rauschen oder Verzerrungen hören kann?
Was das Ohr nicht hört, wird weggelassen
Die moderne Audio-Kompression basiert darauf, dass man (für das Ohr) unhörbare Teile des Signals erkennt und nicht mitspeichert. Außerdem nimmt man bewusst Quantisierungsrauschen in Bereichen in Kauf, in denen das Ohr sie nicht hört (siehe Artikel auf S. 130). Daher eignen sich traditionelle Bewertungskriterien für die Qualität wie Rauschabstand und Frequenzgang nicht mehr - Störungen, die man auf einer Messkurve sehen würde, könnten genauso gut gewollte Einfügungen oder Auslassungen des Encoders sein, die unter Umständen sogar die Qualität des Sounds für das menschliche Ohr verbessern. Und welche Maskierung eines schwächeren Signals für einen Hörer wahrnehmbar ist und welche nicht, erfährt man nicht anhand von Frequenzkurven. Eine subjektive Bewertung durch ein geschultes Ohr ist daher der einzige gangbare Weg.
Der PC ist kein gesunder MP3 Player
Außerdem hängt der Höreindruck natürlich stark vom Audio-Equipment ab. Messungen durch Abspielen einer MP3-Datei überprüfen eigentlich nur die Qualität dieser Gerätschaften. Bei einer schlechten Soundkarte mit Brüllwürfeln, die passiv mit Strom versorgt werden, kommt zudem nur eine relativ kleine Teilmenge des Audio-Signals beim Ohr an. Wenn man also Glück hat, maskieren Einstrahlungen des ungeschirmten Audiokabels sowie das Hintergrundrauschen des Lüfters und der Festplatten die MPEG-Artefakte komplett. Außerdem hört man bei Soundkarten oft das Anfahren des CD-ROM-Motors als Einstrahlung. Ein guter Kopfhörer direkt am Ausgang der Soundkarte liefert auf der anderen Seite normalerweise Höhen deutlich besser beim Anwender ab als ein Verstärker und Boxen. Die Hörtests für diesen Artikel haben wir mit einem Ensoniq-1371-Chip und einem Highend-Kopfhörer von Sony durchgeführt.
Es gibt noch mehr Formate als MP3
Neben den MPEG-Standards gibt es natürlich noch andere Formate für komprimierte digitale Musik. Im Internet tauchen vor allem RealAudio und LiquidAudio auf. Bis auf die RealJukebox ist uns aber kein Programm bekannt, dass RealAudio-Dateien schreiben kann. Normalerweise kommen beide Formate auch vor allem für Streaming Audio zum Einsatz - und beide Formate sind proprietär.
Für den Endanwender spielen sie gerade zum eigenhändigen Erstellen von Song-Archiven praktisch keine Rolle - wir haben uns daher in diesem Artikel auf MP3-Encoder beschränkt. MP3-Decoder auf der anderen Seite sind eine recht triviale Sache - die Qualität des Sounds, den man beim Abspielen zu Hören bekommt, hängt praktisch nicht von den Decodern ab, sondern von den Fähigkeiten der Encoder beim Erstellen der Dateien und der Qualität des Sound-Equipments.
Noch ist es ein Teufelskreis
Warum gibt es kein Tool, das die MP3-Encoder-Qualität misst? Die Ursache ist im Prinzip der Audio-Kompression zu suchen: Man müsste ein Werkzeug erstellen, das ein psychoakustisches Modell anwendet, um beispielsweise die Störgeräusche von absichtlich eingefügtem Quantisierungsrauschen zu trennen (siehe Artikel auf S. 130). Dieses psychoakustische Modell wiederum müsste akkurater sein als alle anderen psychoakustischen Modelle, wenn man es für Qualitätsmessungen nutzen will.
Wenn nun aber jemand ein besseres psychoakustisches Modell entwickelt, würde die Testsoftware das neue Modell schlecht bewerten. Das hindert natürlich niemanden daran, so ein Tool zu schreiben: Das Fraunhofer-Institut hat eine entsprechende Software entwickelt. Eigentlich ist so etwas aber nur als Marketing-Gag zu werten.
Die Qualität der Encoder testen
Damit man durch einen Hörtest möglichst einfach zu Ergebnissen kommt, stellt man die Encoder vor besonders knifflige Aufgaben. Audio-Kompression nach MPEG Layer 3 betrachtet neben den relativ kurzen Frames im psychoakustischen Modell auch einen Kontext, der deutlich länger als ein Frame ist (in der Größenordnung von einer Sekunde). Ein besonders gut hörbarer Fehler ist das Pre-Echo, das entsteht, wenn ein Signal sich innerhalb dieses Kontexts stark ändert, wenn es also beispielsweise bei 50 Hertz beginnt und dann schnell auf 10 Kilohertz hochläuft. Den gleichen Effekt erzielt man, wenn ein Signal intermittierend ist, etwa bei den diversen Percussion-Instrumenten. Als besonders kritisch haben sich Kastagnetten herausgestellt.
MP3 ist vn der MPEG Kompression abgeleitet
Generell beruht MPEG-Audio-Kompression darauf, dass das Signal in Frequenzbänder unterteilt wird. In den für das Gehör unwichtigeren Bändern wird dann Quantisierungsrauschen eingefügt. Dieses Verfahren funktioniert perfekt bei einem Eingangssignal, das zum Beispiel aus einer Sinuswelle besteht. Daher sind Encoder-Tests, die eine Sinuswelle benutzen, nicht sinnvoll: Jeder noch so schlechte Encoder erkennt sofort, dass nur in einem Band Daten anliegen und benutzt seine komplette Bandbreite dafür.
Rauschen und Quantisierungsrauschen
Wenn man dagegen auf allen Bändern ein Signal anlegt, erkennt man die Fähigkeiten eines Encoders sehr gut - allerdings darf das Signal kein Rauschen sein. Der Encoder würde nämlich bei Bändern, die nur mit wenigen Bits abgelegt sind, Quantisierungsrauschen einfügen, das von dem eigentlichen Rauschen nur schwer zu unterscheiden ist. Es gibt allerdings eine Art von Rauschen, die genügend Struktur hat, um sie mit dem bloßen Ohr von Quantisierungsrauschen zu unterscheiden: Applaus bei Liveaufnahmen. Damit kann man das Pre-Echo, das im Vergleich zum Applausrauschen eher niederfrequent ist, relativ gut hören.
Und wieder ist das Ohr der Maßstab
Rauschen filtert das menschliche Gehör sehr gut weg. Beim Hören von Sprache und Musik ist Rauschen praktisch nicht im Wege, aber man merkt sofort, wenn es verschwindet. Dieser Effekt ist so stark, dass man etwa bei Mobiltelefonen Rauschen künstlich erzeugt, wenn keine Daten übertragen werden - dadurch wird der subjektive Eindruck vermieden, die Verbindung sei unterbrochen.
Also testen wir mit Live-Aufnahmen mit Applaus
Wir haben für das Testen der Encoder also diverse Live-Aufnahmen mit Applaus gewählt und mit verschiedenen Bitraten in MP3-Dateien gewandelt. Neben Musik haben wir auch Sprachaufnahmen benutzt, die wir in Mono mit viel geringerer Bitrate kodiert haben. Für die Tests kam ein Pentium II mit 266 MHz unter Linux 2.2.14 beziehungsweise Windows 98 zum Einsatz.
.
- Anmerkung : Wir haben immer noch Januar 2000.
.
Die Ströme oder Musik "live streamen"
Neben dem subjektiven Höreindruck gibt es zur Beurteilung der Encoder natürlich auch einige objektive Kriterien. Dazu gehört beispielsweise der Modus Joint Stereo (siehe Artikel auf S. 130), durch den MP3-Dateien sehr platzsparend angelegt werden können. Auch die Fähigkeit, Audio-Daten live auszusenden (Streaming Audio), ist eine wünschenswerte Funktion bei MP3-Programmen. Dabei reserviert man üblicherweise eine bestimmte Bandbreite, die man dann nicht überschreiten darf.
Die variable Bitrate macht MP3-Dateien noch kleiner
Bei der Speicherung von MP3-Dateien dagegen möchte man gewöhnlich an weniger dynamischen Stellen das Signal auch möglichst kompakt ablegen, um so Platz zu sparen. Dafür gibt es im MPEG-Standard die variable Bitrate (VBR).
Normalerweise haben alle Frames, in die MPEG-Audio das Eingangssignal zerlegt, die gleiche Bitrate. Man kann die Bitrate aber auch der Komplexität des Signals anpassen. Besonders Endanwender, die eine CD-Sammlung auf ein paar Datenscheiben reduzieren wollen, profitieren davon durch geringeren Platzbedarf der MP3-Dateien. Oft möchte man allerdings beides: Streaming Audio und Archivierung. In diesem Fall sollte man zwar die maximale Bitrate beschränken können - der Encoder darf aber trotzdem in sehr ruhigen Passagen die Bitrate nicht immer voll nutzen, damit die Archivierung nicht zu viel Platz erfordert.
Inzwischen wird in Echtzeit kodiert
Für die Archivierung des CD-Turms spielt natürlich der Zeitfaktor eine entscheidende Rolle: Wie viel Zeit braucht das Encoden im Vergleich zum bloßen Abspielen eines Songs? Praktisch alle Encoder sind auf moderner Hardware in der Lage, ein Signal in Echtzeit oder schneller zu kodieren. Die Performance der Encoder und die unterstützten Funktionen haben wir in der Tabelle zusammengefasst.
.
Die sogenannte Engine und der Encoder
Der Markt für Programme zum Erstellen von MP3-Dateien ist zwar relativ groß, aber es gibt tatsächlich nur wenige verschiedene Engines. Die verbreitetsten Encoder kommen vom Fraunhofer-Institut und der Firma Xing. Besonders die Free- und Shareware-Encoder basieren oft auf der ISO-Referenzimplementation. LAME, ebenfalls ein freier MP3-Encoder, benutzt dagegen eine eigene Engine. Ansonsten behauptet nur noch QDesign, einen eigenen Codec geschrieben zu haben (siehe Artikel auf S. 130).
Wir haben stellvertretend für die anderen Programme, die einen Xing- und Fraunhofer-Codec einsetzen, die Musicmatch Jukebox gewählt: Bis zur Version 4.2 benutzte sie Xing, seither den neuesten Fraunhofer-Encoder. Die Xing-Engine gibt es auch als Binär-Datei für Intel-Linux; vom Fraunhofer-Codec existiert dagegen leider nur eine relativ alte und langsame Version für das Open-Source-System. Stellvertretend für die ISO-Codecs haben wir bladeenc unter die Lupe genommen; außerdem mussten sich LAME selbst sowie gogo, eine mit Intel-Assembler aufgebohrte Version von LAME, dem Test stellen.
Der Fraunhofer Encoder (Stand 2000 !!)
Das Institut für Integrierte Schaltungen der Fraunhofer Gesellschaft (http://www.iis.fhg.de/amm/) war von Anfang an maßgeblich an der Entwicklung von MPEG Layer 3 beteiligt. Kein Wunder also, dass die ersten Encoder von Fraunhofer kamen.
Beim Fraunhofer-Codec kann man zwar recht wenig einstellen, dafür ist seine Kodierqualität sehr gut. Das Institut hat auch einige Erweiterungen für sehr geringe Bandbreiten definiert (MPEG 2.5), die aber erst später Teil des ISO-MPEG-Standards wurden. Der Codec, den Endanwender bei Opticom kaufen können, ist allerdings noch aus dem Jahre 1998 und beherrscht keine variablen Bitraten. Für die CD-Brenner-Software Nero und integriert in die Musicmatch Jukebox gibt es aber inzwischen einen Fraunhofer-Encoder mit VBR.
Es gibt keine Möglichkeit, als Privatanwender ohne Umweg über Programme von Drittherstellern an einen Fraunhofer-Codec mit VBR zu kommen. Die einzeln verfügbaren Engines können zudem nicht live kodieren und das Ergebnis ins Internet schicken. Bei den Versionen des Codecs mit VBR lässt sich die Bitrate nicht einschränken - lediglich ein Prozentschieber für die Qualität ist vorhanden.
.
Der LAME/gogo Encoder (Stand Jan. 2000 !!)
Auch LAME (http://www.sulaco.org/mp3/) stammt ursprünglich von den ISO-Sourcen ab, ist aber inzwischen eine vollständige Neuentwicklung. Insbesondere kann LAME Joint Stereo und VBR; das selbst entwickelte psychoakustische Modell ist zudem sehr gut. Die Software ist frei, kommt aber als Patch zu dist10. Der Endanwender muss also selbst dist10 patchen: Das LAME-Team verletzt dadurch keine Copyrights, wenn der Patch im Netz steht.
Eigentlich müsste der Anwender dann allerdings Lizenzgebühren an das Fraunhofer-Institut bezahlen, wenn er sich in einem Land befindet, in dem das Fraunhofer-Patent gültig ist und die Forderungen des Fraunhofer-Instituts nach juristischem Verständnis nicht `sittenwidrig´ sind. Das Fraunhofer-Institut hat sich den kompletten Prozess patentieren lassen, mit dem man aus Audio-Samples eine MP3-Datei erstellt. Dieses Patent bezieht sich explizit darauf, dass man alle Schritte hintereinander macht. Wer also einen Encoder schreibt, der die Huffman-Kompression am Ende nicht durchführt, und stattdessen ein Programm veröffentlicht, das dies nachträglich erledigt, ist von dem Patent nicht betroffen.
In Deutschland nicht patentierbar
In Deutschland ist allerdings ein (Kodier-) Algorithmus (meist) nicht patentierbar, sodass die Fraunhofer-Gesellschaft "beim Coder" hier zu Lande nicht viel in der Hand hat. Trotzdem hat das Institut 1998 einige Dutzend Briefe an Betreiber von Web-Servern verschickt, die "MP3-Decoder" zum Download anboten (oder war es genau umgekehrt ??) : Der Betreiber mache sich strafbar, wenn er das nicht sofort unterbinde. Dadurch sind damals fast alle Freeware-Encoder- Projekte gestorben.
.
- Anmerkung aus 2005 bis 2015 : Der "audiograbber 1.8x ist für Windows frei verfügbar samt LAME Modulen. Wir haben den im Einsatz, wirklich hervorragend.
,
LAME ist der schnellste MP3-Encoder
Aber genug des juristischen Exkurses: LAME ist der schnellste MP3-Encoder, der im Quelltext vorliegt. Die Bitraten für VBR lassen sich limitieren; man kann sogar MP3-Dateien als Ausgangsmaterial benutzen, um etwa die Bitrate zu ändern. Da der Quelltext vorhanden ist, kann man LAME auch relativ einfach erweitern. Für den jährlichen Kongress des Chaos Computer Club etwa sollten drei parallele Vorträge per Live-Multicast im LAN stattfinden - es war eine Sache von einer Stunde, einen Multicast-Sender in LAME einzubauen, der inzwischen auch Teil der regulären LAME-Betas geworden ist.
Der VBR-Modus unterliegt bei LAME je nach Version größeren Schwankungen. Neuerdings scheint er durch eine auf Ausprobieren beruhende Strategie implementiert zu sein - jedenfalls ist das Kodieren mit VBR momentan um den Faktor 3 langsamer als bei einer festen Bitrate.
Bei gogo (http://www.kurims.kyoto-u.ac.jp/~shigeo/gogo_e.html) handelt es sich um eine ältere LAME-Version, bei der die zentralen Routinen in x86-Assembler neu geschrieben wurden. gogo ist damit auf x86-Plattformen deutlich schneller als LAME. Die Software unterstützt auch MMX, 3DNow!, ISSE und die Athlon-3DNow!-Erweiterungen; sie ist daher auch für Besitzer eines FPU-schwachen AMD K6 geeignet. Als besonderen Clou bietet gogo als einziger Encoder Multiprozessor-Support (SMP) an. Das funktioniert bei fester Bitrate praktisch perfekt: die Kodierzeit halbiert sich bei zwei Prozessoren. Mit VBR allerdings sind die Ergebnisse nicht so gut: Der Geschwindigkeitsgewinn mit einer zweiten CPU liegt bei 50 bis 70 Prozent.
Alle diese INfos sind aus Jan. 2000 !!
.