Kompressionsanalyse

  • Hallo,


    kann mir jemand sagen wie ich mit Audacity
    Rückschlüsse auf die kbps ziehen kann.


    Eine Frequenzanalyse verrät mir welcher
    Frequenzbereich verwendet wird, die
    Projektrate die Samplerate.


    Aber auf die Qualität, die Bandbreite die
    für das Komprimieren verwendet wurde,
    ist dass nicht wirklich schlüssig.

  • Audacity ist ein Editor, der für das Arbeiten mit unkomprimierten PCM Audiodaten konzipiert wurde. Für das Arbeiten mit komprimierten Audiodaten werden deshalb ausschliesslich externe Werkzeuge und Bbliotheken verwendet (libmad, lame, ffmpeg, flac, etc.). Wenn z.B. eine datenkomprimierte Datei importiert wird, dann werden erst einmal die komprimierten Audiodaten dekomprimiert und in unkomprimierte ".au" Dateien (im "_data" Ordner des Projekts oder im temporären Verzeichnis) umgewandelt bevor sie mit Audacity bearbeitet werden. Erst beim Exportieren werden die unkomprimierten ".au" Dateien wieder in das jeweilige komprimierte oder unkomprimierte Ausgabeformat umgewandelt.


    Es ist deshalb mit Audacity nicht möglich die Kompressionsrate oder die zur Kompression verwendete Bandbreite zu ermitteln, da diese Werte ausschliesslich von den externen Werkzeugen und Bibliotheken verwendet werden, innerhalb von Audacity aber keine Rolle spielen und deshalb auch nicht zur Verfügung stehen. Audacity arbeitet intern ausschliesslich mit dem ".au" (Sun Audio) Format.

  • Ja, stimmt so weit.


    Hab mich zu kurz gefasst.


    Ich möchte mir ein Paar Lieder bei iTunes (AppleStore)
    kaufen. (Es gibt auch einen Anbieter finetunes...).


    Da ich ja keine Ahnung habe, möchte ich das unkomprimierte
    Lied in Audacity Analysieren, ob es zb. mal ein 128kbps Lied
    war, dass jetzt nur neu in 256kbps kodiert worden ist.


    Dafür wollte ich dann Audacity verwenden und nach den
    Merkmalen suchen, aber welche?


    128kbps kann auch 44khz haben...


    Möchte natürlich keinen verlusstbehafteten Schrott für mein
    Geld, auch wenn mein Ohr nicht geschult ist...


    Man muss ja auch kein hardcore Programmierer sein um die
    Technik von Linux zu nutzen.
    (Wobei diese nicht kompliziert sondern durchdacht ist.)

  • ... ich möchte das unkomprimierte Lied in Audacity Analysieren, ob es zb. mal ein 128kbps Lied war, dass jetzt nur neu in 256kbps kodiert worden ist ...


    Das ist nach einer Daten-Komprimierung nur noch möglich, indem du z.B. eine mit 128k komprimierte Version und die von dir gekaufte komprimierte Version mit der Originalversion vergleichst, aus der beide komprimierte Version hergestellt wurden (beide komprimierte Versionen müssen aus der gleichen unkomprimierten Originaldatei hergestellt worden sein) und dann die beiden Ergebnisse miteinander vergleichst.


    Da alle Audio-Kompressionsverfahren (auch flac) auf einer beabsichtigten Zerstörung der Originaldaten beruhen ist eine Messung einer Datei, nachdem sie einmal Daten-komprimiert wurde, ohne direkten Vergleich mit der unkomprimierten Originalversion nicht mehr möglich, weder mit Audacity noch mit irgend einem anderen Programm.

  • Sowas habe ich befürchtet...


    Die originale wollte ich ja finden,
    hätte ich Sie, müsste ich nicht prüfen. ;)


    Apropos Flac:
    Wie meinst Du das?
    Ich denke Flac ist 100% umkehrbar.
    Oder meinst Du dass die komprimierte
    Datei nicht Binärgleich zum Original ist?

  • Ich misch mich mal kurz an. :)


    Also in meinem Player wir Format, Kbps, Samplerate und Sounformat für den jeweiligen Soundfile angezeigt. Weiß jetzt nicht, ob das weiterhilft oder ob das bei anderen Player auch üblich ist (verwende für Sound ausschließlich den kostenlosen Quintessential-Player).


    Zu Flac meine ich mich erinnern zu können, das der zwar komprimiert, aber verlustfrei (ähnlich wie WinRar mit seinen Daten). Jedes Bit ist also am Ende noch vorhanden, nur halt gepackt. Aber genau weiß ich das auch nicht.

  • Ich meinte natürlich NICHT dass durch Flac die Tondaten grundsätzlich zerstört werden...


    Weil das leicht misszuverstehen ist, was ich oben geschrieben habe, hier ein Beispiel was ich damit gemeint habe:


    * Originaldatei -> [Flac Kompression] -> komprimierte Datei -> [Flac Dekompression] -> dekomprimierte Datei


    Im Normalfall sind "Originaldatei" und "dekomprimierte Datei" vollkommen identisch weil Flac in der Lage ist die exakten Original-Tondaten wieder herzustellen.


    Wenn aber nun ein Hard- oder Softwarefehler auf dem Weg zwischen "Originaldatei" und "dekomprimierte Datei" aufgetreten ist, sind die beiden Dateien NICHT identisch.


    Was ich meinte mit "auch flac basiert auf der Zerstörung der Originaldaten" ist folgendes:


    Ob ein Hard- oder Softwarefehler aufgetreten ist, kann NICHT allein durch eine Analyse der "dekomprimierten Datei" herausgefunden werden, sondern das geht nur durch einen direkten Vergleich der "dekomprimierten Datei" mit der "Originaldatei". Wenn du die "Originaldatei" nicht hast kannst du auch nicht herausfinden ob etwas schief gelaufen ist, weil in der "dekomprimierten Datei" der Zusammenhang zu den Originaldaten nur dann wieder hergestellt werden kann wenn NICHTS schiefgegengen ist und deshalb aus der "dekomprimierten Datei" alleine NICHT herausgefunden werden kann OB etwas schief gegangen ist. Das Ergebnis in der "dekomprimierten Datei" ist also bestenfalls "unsicher", das ist aber bei allen Tondatenformaten so, nicht nur bei Flac.


    Ein "Softwarefehler" ist schneller passiert als gedacht:


    Audacity arbeitet intern mit Fliesskommazahlen und Fliesskommazahlen verursachen Rechenfehler. Es wurde in diesem Forum schon mehrfach diskutiert warum eine WAV-Datei wenn ich sie in Audacity importiere, überhaupt nichts daran verändere, und dann wieder im genau gleichen WAV-Format wieder exportiere, die beiden Dateien nicht mehr identische Samplewerte enthalten. Der Grund liegt daran, dass die WAV-Datei beim Importieren in die temporären ".au"-Dateien im "_data" Verzeichnis umgewandelt werden und beim Exportieren wieder zurück von AU anch WAV. Diese Konvertierung erfolgt mit Hilfe der "libsndfile" Bibliothek, die dafür ausgelegt ist mit Fliesskommazahlen zu arbeiten. Beim Umwandeln von Integerzahlen in Fliesskommazahlen und wieder zurück entstehen Umwandlungsfehler, weil die Zahlenbereiche von Integer- und Fliesskommazahlen nicht übereinstimmen.


    Da die importierten und exportierten Samplewerte von Audacity also NICHT identisch sind, ist es zum Beispiel auch überhaupt nicht möglich aus einer von Audacity exportierten Flac-Datei wieder die Daten der Originaldatei herzustellen.


    Um auch das wieder in den richtigen Zusammenhang zu bringen:


    Die durch Fliesskommazahlen verursachten Rechenfehler sind lächerlich gering gegenüber Kompressionsverlusten, wie sie zum Beispiel durch mp3 oder ogg Kompression verursacht werden. Trotzdem sollte man sich nicht allzu blind auf "verlustfreie" Datenkomression verlassen.

  • Ah ok.


    Naja, wenn man das Original hat, kann einem die MD5 Prüfsumme
    schon sehr nützlich sein. Ist ja genau dafür gedacht.
    (Wenn man das "Original" hat, versteht sich.)


    Das Audacity im- / export "Verlusste" hat ist mir neu, aber diese
    haben für mich bestimmt keine Bedeutung. Du weisst ja, mein Feind
    ist das Rauschen. ;)


    Naja, muss mal schaun, ob ich mir die Mühe machen werde, mir das
    anzulernen da Unterscheiden zu können. Dafür ist die Qualität der
    angebotenen Lieder dann doch zu gut.


    Danke.