Audioqualität und möglichen Qualitätsverlust durch Kompression prüfen

Der Trick zwei Spuren zu vereinen, bei der eine invertiert ist klappt so problemlos auch nicht. Die MP3 Encoder hängen gern mal einige Samples Stille an das Stück an (sowohl am Anfang wie auch am Ende möglich). Entsprechen muss man da meist noch händisch Arbeit reinstecken, damit die Tracks sich genau überlappen.
Ansonsten überwiegt bei dem Differenzsignal der Fehler aus der Verschiebung anstatt des eigentlich gesuchten Abweichung.
 
powerfx schrieb:
Lade z.B. alle Dateien in Audacity, schalte die Tracks auf Spektrum um und du kannst sehen, welche Frequenzbereiche bei MP3 weggeschnitten wurden. FLAC und Wave werden identisch aussehen.

Nach genau sowas hatte ich gesucht, musste aber erst mal etwas rauszoomen, bis es offensichtlich wird. :)

58er schrieb:
Was hier für Pfeifen unterwegs sind ist ja nicht mehr feierlich.

Zum Thema:

Wenn du überprüfen willst ob zwei Signale identisch sind, lade beide in Audacity, invertiere eines der Signals und führe dann die Spuren zusammen. Sind die Signale identisch erhälst du überall NULL, quasi Stille. Sind die Signale nicht identisch, dann kannst du dir nach dem zusammenführen die Differenz anhören, anschauen.

Interessant. Das Ergebnis war, dass sowohl wav/wav, flac/flac als auch wav/flac (bzw. flac/wav) zu einem geraden Strich führten, während mp3 noch Reste übrig ließ.
Ist es eig. normal, dass, falls beide Signale nicht identisch waren (z.b. mp3 und wav bzw. flac), sich das Ergebnis noch einigermaßen erkennbar anhört?

58er schrieb:
Zur Funktionsweise von Flac und warum es lossless ist:

Flac macht im ersten Schritt ähnliche Dinge wie MP3, also ein Signal mit Verlusten erstellen und extrem Redundanz rausrechnen.
Allerdings wird zusätzlich die Differenz vom Original zu dem komprimierten Signal (also was dem lossy Signal fehlt) mit abgespeichert. Das macht das Ganze wieder lossless.

Werden .flac-Dateien bei der Wiedergabe eig. wieder "dekomprimiert"? Hatte nur mal aufgeschnappt, dass mehr Leistung für die Kompression als für die Wiedergabe benötigt wird, verglichen zu anderen Kompressionsverfahren.

Piktogramm schrieb:
Der Trick zwei Spuren zu vereinen, bei der eine invertiert ist klappt so problemlos auch nicht. Die MP3 Encoder hängen gern mal einige Samples Stille an das Stück an (sowohl am Anfang wie auch am Ende möglich). Entsprechen muss man da meist noch händisch Arbeit reinstecken, damit die Tracks sich genau überlappen.
Ansonsten überwiegt bei dem Differenzsignal der Fehler aus der Verschiebung anstatt des eigentlich gesuchten Abweichung.

In dem Fall müssten etwaige Unterschiede doch lediglich am Anfang und am Ende sichtbar sein, oder?
 
Ich kann nicht abschätzen was du als einigermaßen erkennbar ansiehst, aber normalerweise sollte das Differenzsignal eines guten MP3 zum Original sehr klein sein. Der Rhythmus bleibt dürfte erhalten bleiben, die prägnanten Tonlagen aber keinesfalls. Wenn ja, dann stimmt etwas nicht.

Was das Hinzufügen von Samples angeht, nein da ändert sich nicht nur der Anfang / das Ende. Wenn am Anfang des Stückes Samples eingefügt werden, dann verschiebt sich ja der ganze Track um diese Anzahl Samples. Wenn du diesen Track invertierst und vom Original abziehst ist das Endergebnis entsprechen komisch. Vereinfachtes Modell:

Wir ziehen eine Sinusfunktion sin(x) von sich selbst ab:
https://www.wolframalpha.com/input/?i=sin(x)-sin(x)
Das Ergebnis ist über alle Werte von x immer =0

Jetzt verschieben wir eine der Sinusfunktion um den Wert 180:
https://www.wolframalpha.com/input/?i=sin(x)-sin(x+180)
Auf einmal hat man da anstatt einer konstanten 0 eine "Schwingung" gleicher Frequenz wie der Ausgang von sin(x). Die resultierende Schwingung hat aber eine andere Amplitude (in dem Fall stärker / lauter) und ist minimal verschoben.

Da Musik eine nahezu beliebig komplexe Überlagerung von zig Schwingungen ist der Spaß real eine ganze Ecke komplexer. Das zugrundeliegende Prinzip ist jedoch gleich.

Insofern dürfte die kleine Verschiebung vielleicht sogar dafür sorgen, dass dein Differenzsignal aus Original zu MP3 mit einigen Abweichungen trotzdem noch gut erkennbar ist.
 
Gracee schrieb:
In dem Fall müssten etwaige Unterschiede doch lediglich am Anfang und am Ende sichtbar sein, oder?
Nein, weil ja dadurch das ganze Signal "verschoben" wird.

Gracee schrieb:
Ist es eig. normal, dass, falls beide Signale nicht identisch waren (z.b. mp3 und wav bzw. flac), sich das Ergebnis noch einigermaßen erkennbar anhört?
Das Problem wird vermutlich eher das s.o. sein. Wie Piktogramm schon schrieb, MP3 ist nicht Sample-genau. Wenn du es also invertieren etc. willst, musst du es erst ausrichten. Dazu also in der Wellenform so lange reinzoomen bis einzelne Sample-Punkte zu sehen sind und dann einen der beiden Tracks entsprechend verschieben, bis der Verlauf der Wellenformen übereinstimmt.

Gracee schrieb:
Werden .flac-Dateien bei der Wiedergabe eig. wieder "dekomprimiert"? Hatte nur mal aufgeschnappt, dass mehr Leistung für die Kompression als für die Wiedergabe benötigt wird, verglichen zu anderen Kompressionsverfahren.
Alle komprimierten Formate werden bei der Wiedergabe dekomprimiert. Anders kann es ja gar nicht funktionieren.
 
Die Länge der .mp3 Datei ist laut Eigenschaften aber auf die Sekunde genau die Gleiche wie die (Länge) der .flac und der .wav Dateien. Gibt's da keine Möglichkeit, die mp3-Datei in Audacity entweder einfacher auszurichten oder gleich ganz ohne besagte Verschiebung zu erstellen?
 
Es geht hier um Millisekunden oder vielleicht sogar Mikrosekunden (ca. 23 µs pro Sample bei 44,1 kHz).
Das Ausrichten ist nicht so schwer, die Sampling-Frequenz ist ja ein Raster. Ich wüsste nicht, dass man dieses Offset verhindern kann, weil es einfach zur Funktionsweise von MP3 gehört. Deswegen gibt es etwa auch bei Lame diesen "--nogap" Switch, um mit den Pausen zwischen zwei Track rumzutricksen.
 
Wie schaut's eig. bei .ogg-Dateien aus, wird da auch etwas dran gehängt?
Beim invertieren und mischen von .ogg mit .wav kommt nämlich ein etwas anderes Ergebnis raus als bei .mp3 statt .ogg; und ich hab schon eher den Eindruck, dass sich hierbei lediglich um den Unterschied zwischen lossy und lossless handeln könne.

Wenn beim invertieren und mischen von .flac und .wav, also zwei lossless-Formaten, in Audacity nur noch eine flache Linie angezeigt wird und keinerlei Töne mehr, dann sind die beiden Dateien aber inhaltlich definitiv identisch, stimmts? Bevor ich noch irgendwas anderes übersehen hab...
 
Wenn du sowieso gerade mit audacity hantierst kannst du doch selber nachschauen ob die Tracks genau gleich lang sind. Zoom halt rein bis du die einzelnen Samples erkennst und vergleiche das Ende der Tracks.

.ogg ist ein Containerformat, welches sowohl verlustfreie als auch verlustbehaftete Codecs unterstützte: https://en.wikipedia.org/wiki/Ogg#Ogg_codecs


Wenn eine komplett flache Linie herauskommt, sind die Signale identisch. Das Problem ist halt, dass Abweichungen der ersten 1-3 unteren Bits kaum wirst sehen noch hören können. Für absolute Sicherheit müsstest du sehr weit zoomen und alle Samples überprüfen. Typischerweise spart man sich diesen Aufwand. Entweder indem man den Betrag der Abweichung aller n-Samples berechnen lässt oder indem indem man das komprimierte Signal zurück in das ursprüngliche unkomprimierte Format überführt und die Checksummen der Signale vergleicht
 
Gracee schrieb:
Wenn beim invertieren und mischen von .flac und .wav, also zwei lossless-Formaten, in Audacity nur noch eine flache Linie angezeigt wird und keinerlei Töne mehr, dann sind die beiden Dateien aber inhaltlich definitiv identisch, stimmts? Bevor ich noch irgendwas anderes übersehen hab...
Die Unterschiede können auch so gering sein, dass du keinen Unterschied erkennen kannst, dieser aber trotzdem vorhanden ist.

Gracee schrieb:
Und wenn .ogg lossy komprimiert wurde, tritt dort das gleiche Phänomen wie bei .mp3-Dateien auf?
Das hängt vom Codec ab. Oft ist es Vorbis. Ich glaube, es gab mal eine Option dafür, aber der Decoder müsste es auch unterstützen. Kannst ja mal testen, wie das bei Audacity ist.

Gracee schrieb:
Sind die Checksummen denn auch davon abhängig, welche Tags (Interpret, etc.) in der Datei vergeben sind?
Wenn du die Hashfunktion auf die gesamte Datei anwendest, dann natürlich ja.
 
powerfx schrieb:
Die Unterschiede können auch so gering sein, dass du keinen Unterschied erkennen kannst, dieser aber trotzdem vorhanden ist.

Wenn Unterschiede, egal wie gering sie auch sein mögen, auftreten würden, wäre das Format nicht mehr verlustfrei.
 
Die Frage war ja nach "inhaltlich". Das impliziert einen Grund für den Vergleich (z.B. Dateien aus verschiedenen Quellen).
 
ja, und inhaltlich muss das selbe bei zurückwandlung in Wav herauskommen. Wenn nicht, dann stimmt was nicht. Wobei auch das abspielen 1:1 das selbe wiedergeben sollte. Aber das kann auch von der Implementierung des Programms zur Wiedergabe Einflüsse haben
 
Zurück
Oben