HiFi Hauptseite | MP3 Kodierung | HiFi Tuning    

MP3-Kodierung ohne hörbaren Qualitätsverlust

Grundlagen

MPEG ist eine Abkürzung für Moving Picture Experts Group und ein Synonym für Standards zur Kodierung von digitalen Daten für audiovisuelle Anwendungen. Die von der der ISO gegründete Arbeitsgruppe sollte Kompressions-Algorithmen entwickeln. 1987 begann das Fraunhofer Institut für Integrierte Schaltungen (FIIS) mit der Entwicklung eines erweiterten Kompressions-Algorithmus, dem Layer 3.

Bei der MP3-Kodierung von Audiodateien werden mittels ausgefeilter Algorithmen die Schwächen des menschlichen Gehörs zur Datenreduktion ausgenutzt. Aus dem Musikmaterial werden Informationen herausgeschnitten, die durch im Frequenzspektrum benachbarte, lautere Signale verdeckt werden. Dabei wird auch die Auflösung der Musikinformation (das Quantisierungsrauschen) in den einzelnen Frequenzbereichen dynamisch, dem menschlichen Hörvermögen entsprechend, angepasst. Durch diese und weitere Methoden können so bei guter Qualität Musikdateien um den Faktor 8.8 (bei 160 Kbit/s) komprimiert werden.

 MP3-Hintergrundinformationen 
Aufbau und Funktion Artikel bei Tecchannel.de
Maskierung in der Theorie Psychoakustik: Artikel bei Tecchannel.de
MP3-Technologie Informationen vom Fraunhofer Institut

Encoder

Es stehen zwei hochentwickelte, gute MP3-Encoder-Arten zur Verfügung: Encoder, die auf dem Fraunhofer MP3-Codec basieren, wie der Fraunhofer .mp3 Producer, und den kostenlosen, ständig weiter entwickelten Lame-Encoder - aktuelle Downloads findet man hier oder hier. Alternativ zu einer mp3-Kodierung wäre auch eine Ogg-Vorbis Kodierung möglich. Jedoch wurde der Ogg-Encoder noch nicht so ausgiebig optimiert. Er erzielt zwar schon mit niedrigen Bitraten gute Resultate, eine wirklich transparente Kodierung gelingt jedoch auch mit hohen Bitraten nicht. Ausserdem ist dieses Format weniger verbreitet und wird nur durch wenige Hardwareplayer unterstützt.

Natürlich ist es nun verlockend, seine CD-Sammlung ins MP3-Format zu bringen und komplett auf der Festplatte zu archivieren. Im Zusammenspiel mit einem hochwertigen externen D/A-Wandler wird so der PC zu einer HiFi-Anlage.

Um die Musikstücke von der CD digital und fehlerfrei ins WAV-Format auf die Festplatte zu extrahieren, kann man auf das nützliche und kostenlose Tool ExactAudioCopy zurückgreifen. EAC erkennt beim Audio-Extrahieren wie stark die Fehlerkorrektur im CD-Laufwerk aktiv ist und liesst fehlerhafte Stellen mit sukzessiv reduzierter Geschwindigkeit, bis diese korrekt ausgelesen werden konnten.
Beim Extrahieren mittels CD-Brennersoftware sollte eine geringere Geschwindigkeit gewählt werden, da es sonst bei verwellten oder zerkratzten CDs zu Datenfehlern (Knistern) oder kompletten Aussetzern kommen kann. Ob und wie schnell ein CD-Laufwerk fehlerfrei die Audio-CD Daten auszulesen vermag, kann man gut mit CD'Speed99 testen. Dieses Programm vollzieht einen intensiven CD-Laufwerk Benchmarktest. Auch die CD-Rohlingsqualität und Auswirkungen verschiedener Brenngeschwindigkeiten kann man so austesten. Zum Abspielen von Musikstücken jeglicher Art kann der kompakte und hochfunktionale Player Foobar 2000 eingesetzt werden.

Bastler, die sich einen MP3-Player im CD-Player-Format selber bauen wollen, sollten mal die Page von Andy besuchen!

Jetzt stellt sich natürlich die Frage nach einer transparenten Komprimierung bzw. einem sinnvollen Kompromiss aus MP3-Dateigröße und Klangqualität.

MP3 Klangvergleiche

Für die Klangvergleiche wurden Musikstücke von den Dire Straits, Vaya Con Dios, The Chieftains, The Walkabouts, Cowboy Junkies und Andreas Vollenweider herangezogen. Die MP3-Dateien wurden mit Cool-Edit 2000 zurück ins WAV-Format gebracht und auf CD gebrannt oder über einen getunten Parasound D/AC-1600 DA-Wandler direkt abgespielt. Zum Test diente zunächst ein Sennheiser HD600 Kopfhörer und später ein elektrostatisches Stax System W.
Als Encoder benutzte ich den Fraunhofer .mp3-Producer 2.0 und Lame 3.87 sowie 3.93

Der Fraunhofer Encoder ist bei geringen Bitraten Lame eindeutig überlegen. Bei 160 KBit/s ist zwar noch ein Präsenzverlust im Hochtonbereich feststellbar, bei Musikmaterial mit geringem Höhenanteil ist das Ergebnis aber schon ganz brauchbar. Erst bei 256 Kbit/s wird es grundsätzlich schwierig, das Original vom MP3-Titel gehörmäßig zu unterscheiden. Dennoch will sich bei längerem Abhören des MP3-Titels nicht die gleiche emotionale Begeisterung einstellen, wie beim Original. Die Atmosphäre der Aufnahme wirkt nicht ganz so mitreißend. Für die meisten Pop-Charthits wäre eine solche Bitrate allerdings Verschwendung.

Bei Lame ist dieser Präsenzverlust nicht so stark ausgeprägt, dafür ist das Klangbild besonders im Hochtonbereich nicht so gut, wie beim Fraunhofer Encoder. Hohe Töne klingen metallisch blechernd, rau und stumpf; harte, trockene Trommelschläge werden zu einem undifferenzierten Knallen. Bis 192 KBit/s ist außerdem ein Präsenzverlust feststellbar. Bei 224 KBit/s stimmen nur noch die Klangfarben im Hochtonbereich nicht ganz. Auch hier wird es erst bei 256 KBit/s grundsätzlich schwierig, das Original vom MP3-Titel zu unterscheiden. Die Atmosphäre des Titels kommt hier besser rüber. Bei Bitraten oberhalb von 192 KBit/s ziehe ich Lame dem Fraunhofer Encoder vor.

Der Clou an Lame ist aber die Möglichkeit der Kodierung mit variablen Bitraten. Hier wird die Bitrate einem eigenem psychoakustischen Modell entsprechend ständig (auf Framebasis) den Anforderungen des Musikmaterials angepasst. Dies ermöglicht eine nochmals effizientere Kodierung. Leider macht das Modell gelegentlich falsche Vorhersagen und es wird eine viel zu geringe Bitrate gewählt. Deshalb sollte die minimale Bitrate auf 128 KBit/s begrenzt werden. Die Option Joint-Stereo ermöglicht eine noch etwas höhere Komprimierung. Probleme mit der Kanaltrennung sollte es eigentlich nicht geben, da Lame hier entsprechend der Anforderungen automatisch zwischen normalem Stereo und Mid/Side-Stereo umschaltet.
Beim vbr-Modus des Fraunhofer-Codecs wird die Bandbreite grundsätzlich auf 16 KHz begrenzt. Er ist für hochqualitative Musikarchivierung damit nicht zu gebrauchen.

Die unten verlinkten Frequenzspektren zeigen, dass der Fraunhofer Encoder oberhalb von 16 KHz recht abrupt abschneidet, dafür aber den unteren Frequenzbereich kaum beeinträchtigt. Lame kappt bei hohen Bitraten nicht so stark die höheren Frequenzen, beschneidet dafür aber das Spektrum unterhalb von 16 KHz deutlich stärker. Bei variabler Bitrate sind die Ergebnisse allerdings ähnlich wie bei Fraunhofer.
Das allgemein schärfere Kappen des Fraunhofer Encoders oberhalb von 16 KHz kann den beschriebenen Verlust an Atmosphäre erklären.

Im Allgemeinen brauchbare Ergebnisse liefert:

Lame ab 3.94:

 LAME -V2 -b160 -B256 -q0 -mj --lowpass 20 Datei.WAV  [Titel.MP3] 

Für frühere Lame Versionen muss noch die Option "--preset standard" eingefügt werden.

Dies ergibt meist eine mittlere Bitrate zwischen 180 und 200 KBit/s. Die Bandbreite wird auf knapp 20 KHz begrenzt, somit stehen mehr Bits für den Hörfrequenzbereich zur Verfügung und die maximale Bitrate kann auf 256 Kb/s begrenzt werden. Eine Tiefpass-Eckfrequenz bis einschliesslich 17 KHz führt zu einem Präsenzverlust, 18 KHz zu einem etwas faden Klangeindruck und eine von 19 KHz ist zwar analytisch kaum auszumachen, nimmt jedoch etwas "Luftigkeit".
Für Pop-Charthits und Ähnliches ist die hiermit erzielte Qualität ausreichend.

Frühere Lame Versionen (<3.90) liegen bei einigen wenigen Titeln mit dem psychoakustischen Modell so falsch, dass die zu niedrig gwählte Bitrate oder deren ständiges Umschalten sich als zittriges Klangbild bemerkbar macht. Dieses Problem ist bei Lame 3.93 zwar geringer, aber auch nicht komplett ausgemerzt. Besonders deutlich ist der Effekt bei den Cowboy Junkies - No Birds Today (Miles From Our Home) oder auch am Anfang von R.E.M. - Drive. Die angerissenen Gitarrensaiten klingen nicht sauber aus. Hier hilft nur ein Heraufsetzen der minimalen Bitrate auf 192 KBit/s. Dies ist jedoch nur bei wenigen Musikstücken wirklich nötig.
Die Tiefpassfilterung wird bei Lame 3.93 durch die mp3-Filterbank miterledigt, deren Filtertyp für eine saubere Bandbreitenbegrenzung ungünstig ist. Dies äussert sich bei hochtonreichem, kritischem Musikmaterial subjektiv in verfärbten, stumpfen Höhen - nachvollziehbar z.B. beim Titel Dancing With The Lion von Andreas Vollenweider. Besser als ein komplettes Abschalten der Tiefpassfilter (-k) ist es aber, die Tiefpassfrequenz auf 21.7 KHz (höchst möglicher Filterbereich) zu setzen.

Generell sehr gute Ergebnisse liefert:

Lame 3.93:

 LAME --preset standard -V1 -b192 -q0 -mj --lowpass 22 Datei.WAV  [Titel.MP3] 

Ab Lame 3.94

 LAME -V1 -b192 -q0 -mj -k Datei.WAV  [Titel.MP3] 

Beispielhafter Aufruf aus einer DOS-Batch (*.bat) Datei:

for %%d in (*.wav) do \lame\lame -V1 -b160 -mj -q0 -k %%d

Lame Versionen

Wie oben beschrieben, wählt das psychoakustische Modell von Lame 3.87 bei wenigen kritischen Musikstücken gelegentlich eine zu niedrige Bitrate. Lame 3.9x hat diese Probleme kaum noch, produziert dafür aber auch im Allgemeinen eine deutlich höhere durchschnittliche Bitrate. Bei Lame 3.87 unterstützt noch nicht die Option -q0, sondern nur -q1.

Frequenzspektren über der Titelspielzeit

In den Diagrammen sieht man die Intensität der Frequenzanteile, ausgedrückt durch die Farbtemperatur, über der Spielzeit des Titels.

Fraunhofer .mp3 Producer, verschiedene Bitraten und original WAV-Datei
Lame, verschiedene Bitraten und original WAV-Datei
Fraunhofer versus Lame, verschiedene Bitraten
Lame mit variabler Bitrate  -V1 vs. -V3, Lame Ver. 3.87