Datenkomprimierte Musik wie z.B. MP3, OGG, AAC und Konsorten ist für den Musikliebhaber ein zweischneidiges Schwert: aus Qualitätsgründen lehnt er auf solche Art "kastrierte" Musik natürlich ab - aber unterwegs lässt er sich gerne mal vom kleinen MP3-PLayern oder iPods mit Musik versorgen. Und auch im Auto ist der MP3-fähige CD-Player heutzutage deutlich häufiger anzutreffen als der CD-Wechsler.
Das Rippen, kodieren und "aufhübschen" (ID3-Tags, Cover) kostet viel Zeit, die man natürlich "richtig" investieren will. Neben einer subjektiven Beurteilung kann man der Problematik auch mit objektiven Kriterien zu Leibe rücken, in dem man z.B. das komprimierte Musikstück (dekodieren) wieder zurückwandelt (enkodieren) und das Original mit der de- und wieder enkodierten Version auf digitaler Ebene vergleicht (Pegelstatistik, spektrale Analyse etc.). Dabei sind wir auf sehr interessante Erkenntnisse gestoßen, die wir euch nicht vorenthalten wollen.
Datenkomprimierte Musik wie z.B. MP3, OGG, AAC und Konsorten ist für den Musikliebhaber ein zweischneidiges Schwert: aus Qualitätsgründen lehnt er auf solche Art "kastrierte" Musik natürlich ab - aber unterwegs lässt er sich gerne mal vom kleinen MP3-PLayern oder iPods mit Musik versorgen. Und auch im Auto ist der MP3-fähige CD-Player heutzutage deutlich häufiger anzutreffen als der CD-Wechsler.
Die Konvertierung einer CD in z.B. MP3-Dateien kostet Zeit. Vor allem wenn man sich die Mühe macht die Musik auch mit sogenannten ID3-Tags zu versehen in denen z.B. das Musikgenre, der Künstler, der Titel des Stücks, der Titel der CD etc. angegeben ist. Ansonsten findet man sich ja auf seinem 4 GB MP3-PLayer und seinen bis zu 1000 darauf gespeicherten Titeln gar nicht mehr zurecht. Ganz Fleißige scannen auch noch das Cover ein - das Auge hört und sucht schließlich mit. Auch wenn es dafür schöne Tools und Online-Datenbanken gibt: es kostet ca. 15-20 Minuten pro CD (inkl. Rippen).
Bei jeder verlustbehafteten Datenkompression gibt es einige Stellschrauben, mit denen man das Verhältnis zwischen Kompressionsfaktor (es passt mehr Musik auf einen Datenträger) und Qualitätsverlust (es klingt ggf. hörbar schlechter) beeinflussen kann. Da möchte man natürlich den "richtige" Kompromiss finden: eine möglichst hohe Datenreduktion die man gerade eben noch nicht als Klangverschlechterung wahrnimmt.
Andererseits möchte man aber auch eine Datenkompression wählen, die auf möglichst vielen Geräten auch abgespielt werden kann. Was macht man in solchen Fällen:
- man wählt ein oder mehrere Teststücke aus,
- man wählt ein Programm zu kodieren und dekodieren aus,
- wandelt sie in mehreren Qualitätsstufen um,
- probiert aus, welche Qualitätsstufen überhaupt abgespielt werden können,
- und beurteilt subjektiv, ob man einen Unterschied hört
Da wir kürzlich eine Anfrage hatten welche MP3-Formate denn der von uns vertriebene CD-Player XTZ CD-100 wiedergeben kann und ich damit beginnen wollte, meine bereits umgewandelten MP3-Dateien nachträglich mit ID3-Tags und Covern zu versehen habe ich mich intensiv mit dieser Problematik auseinander gesetzt.
Der "Versuchsaufbau"
- Als Teststück haben wir aus der neuen Yello-CD Touch Yello das 4. Stück "Bostich (Reflected)" ausgewählt. Dort kommen sehr hohe und sehr tiefe Töne vor, es klingt sehr dynamisch und hat jede Menge Panorama-Spielereien zu bieten. Bei der objektiven Analyse bestätigt sich, dass das Stück kaum dynamikkomprimiert (DR10) ist und überdurchschnittlich viel hoch- und tieffrequente Energie enthält:
- Als "Programm" zum Kodieren und dekodieren von MP3-Dateien haben wir das weit verbreitete LAME in der aktuellen 32bit-Version 3.98 verwendet. Als Bedienoberfläche verwenden
wir RazorLame, da dieses Programm so nett ist die aktuell an Lame gesendete Befehlszeile mit allen Kommandozeilenparametern zu "verraten". So kann man genau sehen was man macht ohne dass man LAME tatsächlich auf der Kommandozeilenebene nutzen muss.
- Es wurden insgesamt 14 verschiedene Komprimierungsarten untersucht:
LAME-Kommandozeile WAV-Pegel Bitrate
(Mittelwert)
[kBit/s]Bitrate
(Maximum)
[kBit/s]Stereo Resampling Qualität Filterung -b 128 -m s -h 100% 128 128 Normal nein hoch (q=2) auto -b 128 -m s -h --abr 128 -B 256 100% 128 256 Normal nein hoch (q=2) auto -b 96 -m s -h 100% 96 96 Normal 32000 Hz hoch (q=2) auto -b 96 -m s -h --abr 96 -B 192 100% 96 192 Normal 32000 Hz hoch (q=2) auto -b 64 -m s -h 100% 64 64 Kompromiss 24000 Hz hoch (q=2) auto -b 64 -m j -h --abr 64 -B 128 100% 64 128 Kompromiss 24000 Hz hoch (q=2) auto -b 192 -m s -h 100% 192 192 Normal nein hoch (q=2) auto -b 192 -m s -h --abr 192 -B 320 100% 192 320 Normal nein hoch (q=2) auto -b 256 -m s -h 100% 256 256 Normal nein hoch (q=2) auto -b 256 -m s -h --abr 256 -B 320 100% 256 320 Normal nein hoch (q=2) auto -b 320 -m s -h 100% 320 320 Normal nein hoch (q=2) auto -b 128 -m s -h 50% 128 128 Normal nein hoch (q=2) auto -b 128 -m s -h -k 50% 128 128 Normal nein hoch (q=2) nein -b 128 -m s -h -q 0 -k 50% 128 128 Normal nein höchste (q=0) nein Hinweis: der Parameter "Filterung" steht normalerweise auf automatisch (was immer das bedeutet). Um den Effekt zu verstehen wurden die beiden letzten Varianten mit explizit ausgeschaltetem Filter (Option -k) kodiert.
Danach wurde für jede Datei das mittlere Frequenzspektrum berechnet, und zwar mit dem Programm WaveAnalyzer.
Wie funktioniert WaveAnalyzer? Es wird das Spektrum von vielen, sich teilweise überlappenden Teilstücken der Datei berechnet (FFT) und die Spektren dann energetisch gemittelt. Je größer die Teilstücke desto feiner ist die Frequenzauflösung, aber spektrale Spitzen gehen evtl. verloren. Wer genauer wissen will wie WaveAnalyzer vorgeht kann es im Bericht Musik "vergleichen" mit dem Waveanalyzer nachlesen (der erste graue Technik-Kasten kurz vor der Mitte des Artikels). |
Da es uns um mittlere Energie ging wurden relativ großen Teilstücke von knapp 1.5 sec. gewählt. Es wurden pro Kanal nur die mittleren Energien ausgewertet sowie der Gesamtpegel in dB(lin) und dB(A)
Gehörrichtige Frequenzbewertung Summiert man die Energie aller Frequenzen eines Frequenzspektrum erhält man einen Gesamtpegel in dB. Sofern keine Frequenzbewertung vorgenommen wurde wird dies häufig zur besseren Unterscheidung mit dB(lin) bezeichnet. Da der Mensch physikalisch gleich laute tiefe oder ganz hohe Töne weniger laut empfindet als Töne im mittleren Frequenzbereich macht es Sinn, das Frequenzspektrum entsprechend zu gewichten. Übliche Frequenzbewertungen sind die A- und B-Bewertung, die je nach Lautstärke das Hörempfinden besser nachbilden. Hier wurde die A-Bewertung verwendet, die für kleine und mittlere Lautstärken eine gute Näherung des subjektiven Empfindens darstellt. |
Im Idealfall sollten alle Werte identisch mit dem Original sein, aber bei der Auswertung gab es eine handfeste Überraschung:
Linker Kanal | Rechter Kanal | ||||||||||||||||
Nr | LAME-Kommandozeile | Min | @ sec. | Max | @ sec. | Avg | Rms | dB(lin) | dB(A) | Min | @ sec. | Max | @ sec. | Avg | Rms | dB(lin) | dB(A) |
1 | WAV (original) | -97.61% | 119.982 | 97.65% | 56.225 | 0.09% | 16.95% | -12.38 | -18.98 | -97.57% | 182.591 | 97.6% | 159.33 | 0.08% | 17.28% | -12.21 | -18.26 |
2 | -b 128 -m s -h | -100% | 53.292 | 100% | 45.026 | 0.07% | 16.16% | -12.8 | -19.34 | -100% | 45.9 | 100% | 35.895 | 0.08% | 16.51% | -12.61 | -18.6 |
3 | -b 128 -m s -h --abr 128 -B 256 | -100% | 59.269 | 100% | 45.026 | 0.08% | 16.18% | -12.79 | -19.34 | -100% | 45.681 | 100% | 52.754 | 0.08% | 16.5% | -12.62 | -18.61 |
4 | -b 96 -m s -h | -100% | 56.777 | 100% | 45.026 | 0.08% | 16.15% | -12.79 | -19.32 | -100% | 55.063 | 100% | 45.026 | 0.08% | 16.5% | -12.61 | -18.59 |
5 | -b 96 -m s -h --abr 96 -B 192 | -100% | 32.643 | 100% | 45.026 | 0.08% | 16.15% | -12.8 | -19.32 | -100% | 45.9 | 100% | 45.026 | 0.06% | 16.5% | -12.61 | -18.6 |
6 | -b 64 -m s -h | -100% | 60.147 | 100% | 82.368 | 0.08% | 16.12% | -12.82 | -19.34 | -100% | 59.594 | 100% | 72.3 | 0.07% | 16.44% | -12.65 | -18.66 |
7 | -b 64 -m j -h --abr 64 -B 128 | -100% | 60.147 | 100% | 45.026 | 0.07% | 16.16% | -12.8 | -19.31 | -100% | 59.485 | 100% | 45.026 | 0.07% | 16.39% | -12.68 | -18.74 |
8 | -b 192 -m s -h | -100% | 86.287 | 100% | 45.026 | 0.09% | 16.45% | -12.64 | -19.21 | -100% | 45.681 | 100% | 72.3 | 0.08% | 16.78% | -12.47 | -18.49 |
9 | -b 192 -m s -h --abr 192 -B 320 | -100% | 56.117 | 100% | 45.026 | 0.09% | 16.45% | -12.64 | -19.22 | -100% | 72.3 | 100% | 72.329 | 0.08% | 16.78% | -12.47 | -18.5 |
10 | -b 256 -m s -h | -100% | 65.417 | 100% | 45.026 | 0.09% | 16.95% | -12.38 | -18.97 | -100% | 59.701 | 100% | 72.3 | 0.09% | 17.29% | -12.21 | -18.25 |
11 | -b 256 -m s -h --abr 256 -B 320 | -100% | 65.417 | 100% | 45.026 | 0.09% | 16.95% | -12.38 | -18.97 | -100% | 65.417 | 100% | 72.3 | 0.09% | 17.29% | -12.21 | -18.25 |
12 | -b 320 -m s -h | -100% | 66.069 | 100% | 45.026 | 0.09% | 16.95% | -12.38 | -18.97 | -100% | 72.3 | 100% | 68.895 | 0.09% | 17.29% | -12.21 | -18.26 |
13 | WAV (halbe Amplitude) | -48.8% | 119.982 | 48.83% | 56.225 | 0.04% | 8.47% | -18.41 | -25 | -48.79% | 182.591 | 48.8% | 159.33 | 0.04% | 8.64% | -18.23 | -24.28 |
14 | -b 128 -m s -h | -56.24% | 183.242 | 64.5% | 138.025 | 0.04% | 8.09% | -18.82 | -25.35 | -61.32% | 109.548 | 57.08% | 121.002 | 0.04% | 8.25% | -18.64 | -24.63 |
15 | -b 128 -m s -h -k | -56.24% | 183.242 | 64.5% | 138.025 | 0.04% | 8.09% | -18.82 | -25.35 | -61.32% | 109.548 | 57.08% | 121.002 | 0.04% | 8.25% | -18.64 | -24.63 |
16 | -b 128 -m s -h -q 0 -k | -60.18% | 127.589 | 57.71% | 186.72 | 0.04% | 8.06% | -18.85 | -25.44 | -64.81% | 196.292 | 57.22% | 204.114 | 0.04% | 8.23% | -18.67 | -24.7 |
Was fällt bei all diesen Zahlen auf?
- Die MP3-Dateien der originalen WAV-Datei haben alle auf beiden Kanälen eine Maximalamplitude von 100.00%, obwohl das Original nur eine Maximalamplitude von 97.65% hatte
- Diese Maximalamplitude passiert bereits viel früher (Spalte @ sec.) als beim Original
- Der Gesamtpegel dB(lin) bzw. dB(A) ist bei fast allen Umwandlungen ca. 0.4 dB kleiner als beim Original. Bei 192 kBit/s ist der Gesamtpegel "nur" um ca. 0.25 dB geringer, erst bei 256 oder 320 kBit/s stimmt der Gesamtpegel (die Maximalamplitude beträgt aber auch dort 100.00%).
Aus diesen Beobachtungen muss man schließen, dass es durch Filtervorgänge bei der MP3-Kodierung offensichtlich zu Überschwingern im Zeitbereich kommt (wie es für analoge Filter typisch ist, s. Musik verstehen mit GoldWave), die jedoch nicht durch eine entsprechende Pegelreduzierung aufgefangen werden. Stattdessen wird möglicherweise eine kurzfristige Übersteuerung billigend in Kauf genommen.
Um dies zu überprüfen wurde die WAV-Datei zunächst von der Amplitude halbiert (Nr. 13) und dann erneut in MP3 umgewandelt (Nr. 14-16). Dies wurde nur bei der "üblichen" Einstellung 128kBit/s überprüft, wobei dort noch der Einfluss der Schalter für Qualität (q) und Filterung (k) getrennt untersucht wurde:
- Die MP3-Dateien Nr. 14-16 zeigen eine gegenüber dem Original (49%) deutlich höhere Maximalamplitude von bis zu 65%, die nun z.T. sogar später auftreten als im Original
- Die Reduktion des Gesamtpegels von ca. 0.4 dB bleibt bestehen, ist also keine Folge der vorher noch aufgetretenen Übersteuerungen
- Die Erhöhung der Wandlungsqualität (von q=2 auf die höchste Stufe q=0) und der Wegfall der automatischen Filterung bringt keine signifikante Verbesserung in den beiden obigen Kriterien
Die spektrale Analyse sieht im Detail so aus:
- Die Bitraten 64, 96 und 128 kBit/s zeigen bereits im mittleren Spektrum kleinere Fluktuationen um +/- 0.2 dB und einen charakteristischen Anstieg im Tiefbassbereich von ca. 1 dB bei 20 Hz relativ zum um 0.4 dB abgesenkten Gesamtpegel
- Die Bitraten 64, 96 und 128 kBit/s zeigen eine deutliche Absenkung der oberen Grenzfrequenz auf 10.6, 14.5 bzw. 16.1 kHz
Die Problematik ist bei stärker komprimierten WAV-Dateien noch größer, da dort die Filterung in der Regel zu einem stärkeren Überschwingen führt. Beim Titel Ey DJ von Culcha Candela (DR6) z.B. wäre die Maximalamplitude der amplitudenhalbierten Version statt 49.44% bei 128 kBit/s immerhin 80.29%!!! Auch hier bleiben übrigens wieder knapp 0.4 dB auf der Umwandlungsstrecke.
Und die Moral von der G'schicht
Zumindest per LAME MP3 datenreduzierte Musik zeigt - weitgehend unabhängig von der Bitrate - die unangenehme Eigenschaft, dass es bei "üblichen" Musikstücken zu kurzzeitigen Übersteuerungen kommt. Dies gilt offenbar umso mehr, je mehr die Musik dynamikkomprimiert ist. Um dies zu Vermeiden empfiehlt sich vor der Umwandlung eine Reduzierung der Lautstärke auf z.B. die Hälfte. Aus spektralen Gründen müsste dann eine Bitrate von 192 kBit/s ausreichend sein. Eine 1/12 Oktavanalyse zeigt dann eine Standardabweichung von nur noch +/- 0.03 dB und die obere Grenzfrequenz beträgt 17.8 kHz.Dieselbe Strategie kann auf andere Formate wie z.B. OGG angewendet werden, es muss lediglich eine Rückwandlung zu WAV gegeben sein. Dann kann man schon mit dem kostenlosen Tool WaveAnal.exe die wesentlichen Größen kontrollieren. Das sollte man schon mal tun bevor man hunderte von Stunden in die Umwandlung seiner CD-Sammlung steckt. Mit oggdropXPd in der Einstellung Q=4 (ca. 128 kBit/s) gewandelt ergab sich übrigens ebenfalls ein Überschwingen im Zeitbereich in ähnlicher Höhe wie bei MP3.
Unter anderem hier hat sich auch schon mal jemand viel Gedanken um dieses Thema gemacht. Wie dort schon erwähnt ist letztlich die subjektive Beurteilung der Klangqualität eines Codecs das Maß aller Dinge. Wir haben es uns hier einfach gemacht und nur auf die objektiven Aspekte geschaut. Tatsache ist jedoch, dass ein Codec, der kurzzeitige Übersteuerungen billigend in Kauf nimmt, erhöhte Gefahr läuft subjektiv schlechter zu klingen.
Eine Alternative ist natürlich die verlustlose Komprimierung in das FLAC-Format, die allerdings nur eine Datenreduktion auf etwa 55% bringt. Leider wird dieses Format noch nicht von allzu vielen Abspielgeräten (z.B. CD-Spieler oder CD-Autoradio) unterstützt.
da wir mit Linux keine Erfahrung haben, können wir auch leider keinen Tipp geben.
MfG
Das hIFi-Selbstbau Team