Frequenzobergrenze MP3 (320kBit/s)?

H

housemusic

......
Hallöchen!

Ich habe gerade ein kleines "Problem", aus dem ich nicht ganz schlau werde.

Ich bin gerade dabei, MP3's mit einem Frequenzanalyzer zu zu durchleuchten, die ich als Freebies von bspw. Soundcloud bezogen habe (Remixe bzw. Tracks die Künstler so hin und wieder mal raushauen). Ich will schauen ob die angegebene Bitrate der tatsächlichen entspricht, oder ob da schon hin- und herkonvertiert wurde.

Mir ist aufgefallen, das ich nun einige MP3's mit einer Bitrate von 320kBit/s habe, die laut Frequenzanalyzer (Audacity) ihre Frequenzobergrenze teilweise zwischen 21500-22000Hz haben. Laut meiner Recherche liegt bei einer Bitrate von 320kBit/s die Frequenzobergrenze allerdings bei ca. 20500Hz, mehr geht da nicht. Frequenzen bis 22000Hz gibt es nur bei Losless, was MP3 ja nicht ist. Die meisten der betroffenen Tracks sind Drum & Bass.

Meine Frage ist nun, was das wohl nun für MP3's sind, die bei 320kBit/s eine Frequenz bis 22000Hz haben bzw. wie sowas zustande kommen kann? Google spuckt leider fast gar nichts aus. Eine einzelne Quelle sagt, das es angeblich einen Codec gibt, der das könnte. 2-3 andere Quellen vermuten, das beim konvertieren von wav in MP3 die Frequenzobergrenze manuell nach oben korrigiert wurde.

Ich hab nun echt keine Ahnung ob das jetzt "gute" Files sind, oder ob ich die gleich in den Papierkorb schieben kann, weil die Frequenzen, die für eine 320kBit MP3 zuviel sind, nicht einfach nur Müll-Artefakte sind, die da nicht hingehören.

Weiss jemand zufällig Rat?
 
Sorry hab ich ganz vergessen. Ist natürlich fixe Bitrate (CBR)! Würde aber nichts ändern, da die Frequenzobergrenze bei variabler Bitrate noch unter 20500Hz liegen würde.

Danke für die Links, aber solche Infos habe ich schon durch. Das ist soweit ja auch alles klar.

Codecs habe ich jetzt nach einem Itunes-Update tatsächlich auslesen können. Bei meinen Files, die eine korrekte Frequenz zur entsprechenden Bitrate haben, ist Lame so der übliche Codec.
Bei den Files, bei der Frequenzbereich zwischen 21500-22000Hz liegt (also über dem Maximum von 20500Hz für CBR 320kBit/s Files), steht bei Codec "unbekannt".
Aufallend ist wie schon beschrieben, dass es (nicht nur, aber) überwiegend Musik aus dem Drum & Bass Bereich ist. Keine Ahnung ob es dann einen kausalen Zusammenhang gibt.

Standardmässig wird ja beim konvertieren von wav oder FLAC in MP3 bei 320kBit/s alles über 20500Hz abgeschnitten, das ist ja quasi der "Trick" der komprimierung. Warum die MP3's dann trotzdem Frequenzen zwischen 21500-22000Hz haben, was laut Internet der Bereich ist, in denen eigentlich bspw. FLAC's oder Audio-CD's liegen, verstehe ich echt nicht.

P.S.: Die Metdadaten sollten schon stimmen. Die Files liefen alle durch foobar2000 und nen MP3-Tagger, zudem zeigt die Frequenzanalyse ja, dass es eigentlich passt. Ausser das die Frequenzen etwas höher sind als sie sein sollten. Andersrum wäre der Fall ja klar.
 
housemusic schrieb:
Sorry hab ich ganz vergessen. Ist natürlich fixe Bitrate (CBR)! Würde aber nichts ändern, da die Frequenzobergrenze bei variabler Bitrate noch unter 20500Hz liegen würde.

wieso sollte das denn so sein?
die filterbank bei mp3 teilt das gesamte spektrum bis nyquist in 32 gleich breite frequenzbänder. also per se erst mal bis 22050Hz. wenn ein encoder das nicht nutzt (also keine gains für die höchsten bänder der filterbank ausspuckt), dann liegt das am encoder, bzw. am psychoakustischen modell, oder an einem pre-filtering. wenn ein encoder dort gains ausspuckt, kann das diverse gründe haben.
ist jetzt per se erst mal nix schädliches. bei 320kbps hast du auf jeden fall genug bits, um für die höchsten frequenzbänder auch ein paar bits zu spendieren.
 
Hast Du zufällig gerade den falschen Satz ins Zitat aufgenommen? ;-)

Also warum bei VBR die Frequenzobergrenze unter der von CBR liegt, habe ich u.a. von dieser Seite: https://www.whatinterviewprep.com/de/pr ... -analysis/
Dort ist Obergrenze von CBR 320 bei 20.5khz, bei VBR 0 (also höchste Qualität variabler Bitrate) bei 19,5khz. Also schneidet VBR die Frequenzen um 1khz "früher" ab. So lese ich das zumindest.

Aus Deinem Satz "ist jetzt per se erst mal nix schädliches. bei 320kbps hast du auf jeden fall genug bits, um für die höchsten frequenzbänder auch ein paar bits zu spendieren." verstehe ich jetzt richtig: Es ist also durchaus möglich das eine MP3 mit 320kbit über die eigentliche Frequenzobergrenze mit 20,5khz kommen kann, ohne dass der Klang darunter leidet, weil irgendwelchen Bits oder Artifakte "dazugedichtet" wurden?

Ich wunder mich da halt wie gesagt, das je nach Quelle immer davon gesprochen wird, das bei 20khz bzw 20.5khz maximal bei einer MP3 durch die komprimierung schluss ist.
 
housemusic schrieb:
Hast Du zufällig gerade den falschen Satz ins Zitat aufgenommen? ;-)

ja, habe ich :) :nihao:

housemusic schrieb:
Also warum bei VBR die Frequenzobergrenze unter der von CBR liegt, habe ich u.a. von dieser Seite: https://www.whatinterviewprep.com/de/pr ... -analysis/
Dort ist Obergrenze von CBR 320 bei 20.5khz, bei VBR 0 (also höchste Qualität variabler Bitrate) bei 19,5khz. Also schneidet VBR die Frequenzen um 1khz "früher" ab. So lese ich das zumindest.

ich habe den standard nicht gelesen (ISO/IEC 11172-3 ist das, den habe ich auch nicht zur hand). allerdings kenne ich das aus anderen mpeg standards so: bestimmte dinge sind da festzulegen (wieviele bänder die filterbank hat, wie huffman codiert werden soll etc.), und bestimmte dinge nicht (wie das psychoakustische modell aussieht. die dinge, die man nicht festlegt, sind typischerweise encoderspezifische dinge.

das bedeutet im umkehrschluss, dass verschiedene encoder sich unterschiedlich verhalten dürfen. wenn jetzt ein encoder so gebaut wäre, dass der nur frequenzen von 8kHz bis 10kHz codiert, und alle anderen wegwirft, kann er trotzdem ein valides mp3 file erzeugen. das klingt dann halt nur scheisse. :) am mp3 format an sich liegt das aber nicht.

was ich sagen will ist, dass es keine frequenzobergrenze bei mp3 gibt, ausser der nyquist frequenz. so sagt es der standard vermutlich. dass deine quellen eine bestimmte grenze angeben, könnte daran liegen, dass ein oder mehrere mp3 encoder das so machen. denn viele encoder beschneiden das signal aber bei niedrigen bitraten, weil sie dann mehr bits auf die wichtigeren unteren bänder spendieren können. das klingt dann besser, als die hohen bänder zu codieren, aber insgesamt zu wenig bits übrig zu haben. beide encoder wären valide, aber einer klingt halt besser. bei 320k mp3 hast du eigentlich genügend bits zur verfügung.

housemusic schrieb:
Aus Deinem Satz "ist jetzt per se erst mal nix schädliches. bei 320kbps hast du auf jeden fall genug bits, um für die höchsten frequenzbänder auch ein paar bits zu spendieren." verstehe ich jetzt richtig: Es ist also durchaus möglich das eine MP3 mit 320kbit über die eigentliche Frequenzobergrenze mit 20,5khz kommen kann, ohne dass der Klang darunter leidet, weil irgendwelchen Bits oder Artifakte "dazugedichtet" wurden?

wie gesagt: ich glaube nicht, dass es eine frequenzobergrenze gibt. ich kann mal nachschauen, ob ich den ISO standard finde, und dadrin nachschauen. fakt ist aber:
wenn du einen guten encoder benutzt hast, wird der nix tun, was nicht irgendwie für ihn sinn ergibt und durch hörtests validiert wurde.

dazugedichtet wird da nix. oder alles. je nach dem, wie du es betrachten möchtest :selfhammer: psychoakustische codecs halt. 8) es ist halt irgendwie müßig zu sagen "ich hab was mit mp3 encodiert und dann decodiert und jetzt sieht das spektrogramm anders aus."
 
Alles klar, jetzt habe ich das soweit verstanden. Mich hat halt extrem gewundert, das auf den ganzen Seiten, die das MP3 Modell erklären, nirgends darauf hingewiesen wird, das es auch über die Grenze von 20.5khz gehen kann. Wahrscheinlich sind die auch alle von dem Standard ausgegangen.

Da ich die Files eben selber nicht kodiert habe, weiss ich nun auch nicht, wie ich das Ergebnis interpretieren soll. Sind wie gesagt zumeist Freebies von Soundcloud.

Ich habe irgendwo gelesen, das beim kodieren standardmässig die Frequenzobergrenze eben mit 20 bzz 20.5khz eingestellt ist, man dieses aber manuell ändern könnte (was wahrscheinlich 99% aber nicht tun werden).

Und ich vermute, das man dies bei den entsprechenden Files vielleicht gemacht hat. Oder wurde ein exotischer Codec verwendet, da bei alles Files unter Codec "unbekannt" steht. Komischerweise sind die Files aber alle von unterschiedlichen Soundcloud-Quellen, also nicht von einem einzigen Uploader.

Da liegt jetzt der Verdacht nahe, wenn ich das gerade so schreibe und gedanklich mitlese, das Soundcloud selber die Dateien nochmals codiert, und mein "Problem" mit dem Frequenzen vielleicht daran liegt. Ich überprüfe das jetzt mal kurz...
 
Das Tiefpass-Filter setzt der Encoder als freien Parameter, dass kann man bei LAME auf der Kommando-Zeile sogar einstellen. ( --lowpass 17500 )

Da das Format ein Entwurfsproblem bei hohen Frequenzen hat, ist es sinnvoll - vor allen bei kleinen Bitraten - das Eingangssignal etwas Tiefpass zu filtern.
Dieses Filter wird (zumindest bei neuerem Lame) immer benutzt - und zwar mit unterschiedlichen Frequenzen, je nach Bitrate und Softwareversion.

Der Effekt vom Filter ist, das relativ wenige Menschen eine leicht Reduktion der Höhen hören, was wenig schlimm klingt. (Dumm auffallen tut das eher erst unter 16kHz. )
Dafür sind dann genug Bits da, um die tieferen Höhen ohne fiese Artefakte zu kodieren.

Bei 320kBit will man die 20kHz HiFi "Nennbandbreite" drin haben, weil das Format auch viel für technische Zwecke benutzt wird. Bei -V0 will man beste Qualität zum hören, da müsste man diesen Tiefpass schon hören (hat wohl nie einer geschafft... ), ansonsten kann man mit den Bits besseres anstellen.


P.S: Der Soundcloud *Player* recodiert alles auf 128k. Der freigebene Download ist allerdings immer der authentische Upload. Zumindest war das so, als ich das letzte mal geguckt habe. Manchmal (vor allem bei schlechten Mixen) bekommt man da auch .wav Files.
 
Na, wir hier zum Beispiel - Filtersweep vom Synth.
Vielleicht hätte ich da "technische" besser in "" schreiben sollen. Aber es wird doch einfach immer wieder mal genommen, wo man "eigentlich" Flac nehmen müsste, das aber zu unpraktisch ist.
 
OK, hab jetzt mal ein File, welches auf meinem Soundcloud Account hochgeladen war, runtergeladen und einen Frequenzvergleich gemacht mit dem original File auf meinem Rechner: Sind beide identisch.

Scheint dann zumindest da also kein Zusammenhang zu bestehen, sprich Soundcloud verwurstelt da nichts mit einem Codec.

Dann nehm ich das jetzt einfach mal so hin und seh die Files, wie sie sind, als OK hin.
 
nordcore schrieb:
Na, wir hier zum Beispiel - Filtersweep vom Synth.
Vielleicht hätte ich da "technische" besser in "" schreiben sollen. Aber es wird doch einfach immer wieder mal genommen, wo man "eigentlich" Flac nehmen müsste, das aber zu unpraktisch ist.

stimmt natürlich. da hatte ich jetzt gar nicht dran gedacht, ich lade ja sounddemos immer direkt auf soundcloud hoch, das ist eh 128k ;-)
 
... wegen der 128k weiß ich das überhaupt bloß: Da kann es sich lohnen, schon den 320k Upload mit --lowpass 16000 (o.ä.) zu filtern, damit beim automatischen Konvertieren in 128k weniger kaputt geht.
Das "Glitzer-Höhen weg" ist im klanglichen Einfluss einfach wesentlich kalkulierbarer als die komischen Artefakte, wenn da auf einmal die Bits knapp werden.

Ein weiterer gerne übersehener Punkt ist die durch mp3 eingebrachte "Übersteuerung". MP3 fügt dem Signal einen Fehler hinzu, der die Spitzenwerte erhöhen kann. Diese Summe landet dann bei den üblichen, voll an die Wand gefahrenen Quellen über 0dB, was am Ausgang des Decoders auf 0dBFs geclippt wird. Akustisch addiert das clippen so eine Art Knistern, und es ist i.A. so leise, das es eher nicht zu hören ist. Im Sinne einer optimalen Wiedergabe ist es natürlich dennoch Murks.
Wenn man allerdings ein untypisches ("technisches" ) Signal hat, dann kann es sich durchaus lohnen, das um einige (wenige) dB abzusenken.
 
Zwei Fragen:
Transcodiert Soundcloud immer, also auch, wenn ein 128er mp3 hochgeladen wird?

Sehe ich die mp3 Artefakte, wenn ich ein "technisches" Signal z.b. als 128er mp3 kodiere, dieses dann wieder in den Audioeditor lade und dann original und hin und her konvertiertes PCM File subtrahiere. Da sollte dann ja der Müll übrigbleiben.
 
swissdoc schrieb:
Zwei Fragen:
Transcodiert Soundcloud immer, also auch, wenn ein 128er mp3 hochgeladen wird?

Ja.

swissdoc schrieb:
Sehe ich die mp3 Artefakte, wenn ich ein "technisches" Signal z.b. als 128er mp3 kodiere, dieses dann wieder in den Audioeditor lade und dann original und hin und her konvertiertes PCM File subtrahiere. Da sollte dann ja der Müll übrigbleiben.

nein, wenn du das konvertierte vom originalsignal subtrahierst bleibt quasi "alles" übrig, was der encoder macht. alle änderungen, die er macht, sollten (im idealfall) verdeckt sein, deren lautstärke also so weit unter der des nutzsignals liegen, dass man die änderung nicht hört. subtrahierst du nun das nutzsignal (also das originalsignal), hörst du natürlich _alle_ änderungen, denn sie sind ja nicht mehr verdeckt. dieses differenzsignal ist zur beurteilung eines psychoakustischen codecs also denkbar ungeeignet.
der müll, den du suchst (also etwaige "fehler", die beim encodieren passiert sein könnten), ist natürlich auch drin. aber den müll von den sinnvollen/gewollten änderungen anhand des zeitsignals (oder auch im spektrogram) zu unterscheiden ist nicht immer einfach, und bedarf ggfs. einiger erfahrung. mit dem von nordcore erwähnten knistern könntest du allerdings glück haben. solche artefakte stechen leicht heraus.

den gleichen ansatz hattte ja dieses kunstprojekt letztes jahr:
http://www.theverge.com/2015/2/19/8068923/mp3-compression-ghost-suzanne-vega-toms-diner

als kunstprojekt ist das ja noch spannend, und auch gut und wichtig. aber zur beurteilung der qualität der kompression eignet sich dieses vorgehen halt nicht, sondern nur ein hörtest. (*)

* und vielleicht PEAQ https://en.wikipedia.org/wiki/PEAQ. Das tested psychoakustische Codecs systematisch. Aber von PEAQ gibt es ein "basic model" und ein nicht-so-much basic model. Das basic model ist _sehr_ ungenau. Die ausgereiftere Variante von Opticom arbeitet zuverlässig, aber ist sehr teuer. Einen Hörtest ersetzt aber auch PEAQ nicht, denn PEAQ sagt einem nicht "Ich finde, die höhen klingeln. Kann man da was machen?", ein guter Hörtester aber schon.
 
Einer der Tricks ist die Differenzsignal *verstärkt* dem Original zuzufügen. Auf die Weise kann man den Sicherheitsabstand testen.
Wenn man das Knistern auch bei +20dB nicht hört, dann ist es wenig sinnvoll, da einen mühsamen ABX-Test mit dem Original zu machen.

Der Witz an dem Knistern ist, dass man dort *nur* das Clipping drin hat: Foobar 2000 kann aus mp3 Floating-Point Waves machen, die *nicht* geclippt sind.
Also einfach einmal in 16bit, einmal in Float-Wave konvertieren, Differenz bilden, fertig.
 
nordcore schrieb:
Wenn man das Knistern auch bei +20dB nicht hört, dann ist es wenig sinnvoll, da einen mühsamen ABX-Test mit dem Original zu machen.

Klar. Zumal swissdoch vermutlich keinen Hörtest aufsetzen wollen wird / kann. So kann er natürlich trotzdem noch testen ob was im Argen liegt.

nordcore schrieb:
Der Witz an dem Knistern ist, dass man dort *nur* das Clipping drin hat: Foobar 2000 kann aus mp3 Floating-Point Waves machen, die *nicht* geclippt sind.
Also einfach einmal in 16bit, einmal in Float-Wave konvertieren, Differenz bilden, fertig.

Gute Idee - hatte ich nicht dran gedacht. :supi:

Wo ich dich gerade an der Strippe habe: Das Clipping passiert bei der Inversen Transformation?
 
Das Clipping passiert bei der Rundung der Ausgabe auf 16bit integer. Intern wird das alles mit Floats gemacht.
Die "zu großen" Signal entstehen aber schon beim Kodieren.
(Das Kodieren quantisiert ja die Koeffizienten der DCT relativ grob. Das fügt einen Fehler hinzu, der das Signal etwas verändert. Bei dem "auf 0dB optimierten" Signal aus dem Master-Limiter ist das halt gerne etwas größer als das Original. )
 
nordcore schrieb:
Das Clipping passiert bei der Rundung der Ausgabe auf 16bit integer. Intern wird das alles mit Floats gemacht.
Die "zu großen" Signal entstehen aber schon beim Kodieren.
(Das Kodieren quantisiert ja die Koeffizienten der DCT relativ grob. Das fügt einen Fehler hinzu, der das Signal etwas verändert. Bei dem "auf 0dB optimierten" Signal aus dem Master-Limiter ist das halt gerne etwas größer als das Original. )

also diese intersample peaks?
ich kenn's auch von aktuellen codecs so, dass beim kodieren headroom gelassen wird.
 
Intersample Peaks sind was anderes, die treten auch ohne MP3 auf. Außerdem sind sie das theoretische Minimum, weniger Übersteuerung kann kein Wandler schaffen.

Das einzige nicht esoterisch bis weltfremde Verfahren, also im Sinne einer soliden, realen, technischen Lösung wäre es, den digitalen Spitzenwert etwa 3dB unter 0dBFs zu halten.

Klanglich noch weit(!) besser ist allerdings den Pegel sinnvoll zu legen, wenn das Audio-Signal auf -18 bis -23dB RMS liegt, dann ist es ziemlich egal, wie man das mit den Spitzenwerten macht, den Unterschied trägt die Katze auf dem Schwanz. (Vor allem verglichen mit dem akustischen Sondermüll, der heute im sogenannten "Mastering" erzeugt wird. )

Witzigerweise scheint Apple das mit "mastered for iTunes" anzugehen (... und wenn sie das schaffen mal wieder die ganze Branche vorzuführen...).
Für die ganzen Ahnungslosen und Esoteriker gibt es 24bit/96kHz als "bessere Auflösung", real macht man den Klang besser, in dem man die völlig schwachsinnige Pegelschinderei nutzlos macht, in dem die Track nicht auf den akustisch unsinnigen Spitzenwert, sondern auf die Lautheit normiert werden.
 
nordcore schrieb:
Witzigerweise scheint Apple das mit "mastered for iTunes" anzugehen (... und wenn sie das schaffen mal wieder die ganze Branche vorzuführen...).
Für die ganzen Ahnungslosen und Esoteriker gibt es 24bit/96kHz als "bessere Auflösung", real macht man den Klang besser, in dem man die völlig schwachsinnige Pegelschinderei nutzlos macht, in dem die Track nicht auf den akustisch unsinnigen Spitzenwert, sondern auf die Lautheit normiert werden.

da sind apple aber nicht die einzigen. wird ja im tv und rundfunk vorgemacht.

mastered for itunes ist aber lauter, schließlich muss das ja auf nem iphone gut klingen. eine vernünftige stereoanalge zu hause kann man ja einfach lauter machen. bei smartphones und notebooks ist das maximum aber schnell erreicht und deshalb wurde bei itunes ein lauterer pegel festgelegt.

ist grade in der (noch) aktuellen keys ein artikel über laudness messung
 


News

Zurück
Oben