Verständnis der Konvertierung und (De) Komprimierung von verlustfreiem Audio

5627
Ryan McClure

Ich habe ein paar Fragen zu verlustfreiem Audio. Ich überlege mir, meine gesamte Musiksammlung in verlustfreie .flac zu zerreißen, aber ich möchte zuerst ein paar Dinge darüber verstehen.

Wenn ich eine Datei mit dem Namen .flac habe und diese in, z. B. .wav, einfügen möchte, wie kann ich dies tun, um keinen Qualitätsverlust zu haben? Wenn ich es dekomprimiere, weiß ich, dass ich keine Qualität verlieren werde. Ist das Konvertieren von .flac in .wav dasselbe wie das Dekomprimieren?

Trifft dies auch auf das .ape-Format zu? Ich habe ein paar Public Domain-Aufnahmen, die ich in .ape heruntergeladen habe, aber ich möchte es .flac machen. Wäre .ape zu .flac ohne den Einsatz von .wav als mittlerer Mann möglich. Ich möchte sicherstellen, dass nicht ein bisschen in irgendeiner Weise verloren geht.

Wenn es irgendwelche Leitfäden gibt, die die Welt des verlustlosen Makels erklären, wäre jemand bereit, einen Link zu teilen? :)

12

2 Antworten auf die Frage

14
Horn OK Please

Zuerst:

Verstehen Sie den Unterschied zwischen einer Codierung und einem Containerformat . http://en.wikipedia.org/wiki/Digital_container_format

Ein Containerformat ist ein Datenformat, das andere codierte Daten "einkapselt". Sie enthält häufig "Metainformationen" über die codierten Daten oder bietet die Möglichkeit, mehrere separate Streams codierter Daten oder ähnliches zu speichern.

Eine Codierung, die von einem Codec erzeugt wird, ist das eigentliche "Fleisch" des Datenstroms.

Das bekannteste Beispiel ist das Format "Ogg / Vorbis". Ogg ist das Containerformat und Vorbis die Kodierung. Sie haben also eine Ogg-formatierte Datei und darin befinden sich diese kleinen Buckets, die verschlüsselte Daten enthalten. In jedem Bucket befindet sich ein Vorbis-codierter Datenstrom und sonst nichts. In den Eimer können zum Beispiel der Name des Interpreten und der Songtitel gestempelt sein.

Also zurück zu Tech:

  1. Wenn Sie bereits Musik in einem verlustbehafteten Format haben, wie mp3 oder ogg / vorbis, wird das Konvertieren in ein verlustfreies Format nur (sehr viel) Festplattenspeicher beanspruchen und NICHT - absolut nicht - die Qualität verbessern der Ton überhaupt. Sie können keine Treue schaffen, wenn sie bereits verloren ist. Es sei denn, Sie schreiben eine grafische Benutzeroberfläche in Visual Basic für eine erfolgreiche Fernsehsendung mit dem Namen CSI, aber das ist Phantasie, nicht Realität.

  2. Wenn Sie Musik in anderen verlustfreien Formaten haben und diese in FLAC konvertieren möchten, können Sie dies tun.

  3. Seien Sie vorsichtig mit dem Begriff "WAV". Wav muss nicht verlustfrei sein; WAV ist eigentlich nur ein Container für verschiedene mögliche Formate. Es ist wie AVI in diesem Sinne. Sie können eine verlustfreie WAV haben, wenn es sich um reine PCM-Daten handelt, Sie können jedoch auch MPEG-1 Layer III-Daten (verlustbehaftet) in eine WAV-Datei einbetten.

  4. Es ist möglich, Daten zu verlieren, wenn Sie von einem verlustfreien Format in ein anderes konvertieren, wenn Sie die Genauigkeit der Daten verringern. Wenn Sie beispielsweise einen vorzeichenlosen 16-Bit-PCM-Datenstrom bei 48000 Hz in einen 8-Bit-PCM-Datenstrom bei 44100 Hz konvertieren, verlieren Sie die Wiedergabetreue auf zwei Arten: Die Samples werden von 48000 auf nur noch 44100 pro zusammengeführt Sekunde (was zu Datenverlust führt), und die Daten müssen abgemischt werden, um die Informationen in nur 8 Bit statt 16 Bits pro Sample einzupassen, was die Qualität dramatisch beeinträchtigt.

Jeder digitale Audiostrom, auch der von einem komprimierenden (verlustbehafteten oder verlustfreien) Encoder codierte, verfügt über die folgenden "Sample-Formateigenschaften", die wesentliche Elemente sind, die die Eigenschaften des Streams beschreiben:

  1. Samplebitbreite und -tiefe, dh 8 Bit, 16 Bit usw. Bitbreite und -tiefe unterscheiden sich geringfügig, und es gibt auch Little-Endian / Big-Endian (was sich nicht auf die Qualität auswirkt) und signiert oder unsigniert (was auch nicht der Fall ist) beeinflusst die Qualität, beeinflusst jedoch den Umgang des Encoders / Decoders mit den Daten). Der entscheidende Punkt ist, dass "mehr Bits besser sind". 32-Bit ist also besser als 16-Bit usw.

  2. Frequenz, auch Abtastrate genannt. Mehr ist besser, weil Sie mehr "Audio-Samples" pro Sekunde abspielen lassen. Stellen Sie sich vor, Sie würden schnell mit Ihrem Finger über ein Kartenspiel streichen und zusehen, wie die Karten verschwommen vorbeiziehen - so passiert digitales Audio. Jedes Sample ist eine Karte. Wenn Sie mehr Karten pro Sekunde vorbeifliegen lassen, ist der Ton nahtloser. Sie würden es wirklich bemerken, wenn Sie nur 5 Karten pro Sekunde werfen würden, aber es würde alles zusammen verschwimmen, wenn Sie Tausende von Karten pro Sekunde werfen. Also ist mehr besser, weil es natürlicher und näher an der Realität ist, was analog und unendlich teilbar ist (gut, bis zu den Planck-Einheiten, aber das ist fragwürdig und nicht thematisch).

"Verlustfrei" bedeutet nur, dass Sie, wenn Sie in der Ausgabe dasselbe oder ein besseres Probenformat verwenden wie in der Eingabe, keine Daten verlieren.

Wenn Sie also vom 16-Bit- zum 32-Bit-Abtastformat wechseln, verlieren Sie keine Daten. Wenn Sie jedoch von 32 Bit auf 16 Bit wechseln, verlieren Sie Daten.

Die Antwort auf Ihre Frage, ob die Verwendung von FLAC sinnvoll ist, hängt von den Quelldaten ab: Wenn Sie 64-Bit-WAV-Dateien haben, die ursprünglich in diesem Beispielformat mit 192000 Hz (192KHz) aufgenommen wurden, konvertieren Sie sie in ein " Im Standard-FLAC-Beispielformat von 16 Bit und 44,1 KHz verlieren Sie eine Menge Daten. Wenn Ihre WAV-Datei aus 8 Bit besteht und nur 22100 Samples pro Sekunde vorhanden ist und Sie sie in ein 16-Bit-FLAC mit 44100 Samples pro Sekunde konvertieren, gehen keine Daten verloren. Und Sie können sogar die Dateigröße erhöhen, je nachdem, ob die verlustfreie Komprimierung oder das kleinere Sample-Format die Nase vorn hat.

Das Format des Samples beeinflusst, wie viel Speicherplatz die Datei beansprucht, sodass die "größeren" Bits und die "schnelleren" Sampleraten mehr Speicherplatz beanspruchen.

Was die praktischen Belange und das menschliche Gehör angeht: Sie werden es nicht wirklich merken, wenn Sie Originale mit hoher Wiedergabetreue in 16-Bit-44,1-kHz-FLAC konvertieren. Sie werden jedoch auch keine Verbesserung feststellen, wenn Sie eine MP3-Datei in FLAC konvertieren. Sie müssen also prüfen, in welchem ​​Beispielformat sich Ihre Quelldaten befinden, bevor Sie entscheiden, was zu tun ist.

Nun, da ich Ihnen all diese Informationen zur Verfügung gestellt habe, sind hier meine direkten, leeren und null erklärenden Antworten auf Ihre Fragen:

Ich habe ein paar Fragen zu verlustfreiem Audio. Ich überlege mir, meine gesamte Musiksammlung in verlustfreie .flac zu zerreißen, aber ich möchte zuerst ein paar Dinge darüber verstehen.

Wenn Ihre Musiksammlung auf CDs ist und Sie sie in FLAC rippen möchten, passt das meiner Meinung nach sehr gut. Das Audio in CD-Qualität liegt bei 44,1 KHz und bei 16 Bit pro Sample. Dies stimmt genau mit den Standardeinstellungen von FLAC überein (zumindest die Standardeinstellungen in den von mir verwendeten Encodern). Daher verlieren Sie keine Daten und sind bei der Dekodierung mathematisch identisch mit den Eingabedaten.

Wenn ich eine Datei mit dem Namen .flac habe und diese in, z. B. .wav, einfügen möchte, wie kann ich dies tun, um keinen Qualitätsverlust zu haben? Wenn ich es dekomprimiere, weiß ich, dass ich keine Qualität verlieren werde. Ist das Konvertieren von .flac in .wav dasselbe wie das Dekomprimieren?

Sie können es in eine .wav-Datei mit demselben oder einem breiteren Beispielformat als die Eingabedaten konvertieren, und es kommt zu keinem Qualitätsverlust.

Wenn ein Mediaplayer das Audio in Ihrer flac-Datei abspielt, decodiert er die flac-Daten im Wesentlichen in ein PCM-Format, bevor diese PCM-Daten an die Soundkarte gesendet werden. Es wird auf die exakt gleichen Daten dekomprimiert, die eingegangen sind. Wenn also 16-Bit-44,1-kHz-PCM-Daten eingegangen sind, wird dies herauskommen und zu Ihren Lautsprechern gehen.

Der einzige Unterschied zwischen dieser Aktivität und dem Konvertieren des Audios in eine WAV-Datei besteht darin, dass beim Konvertieren in eine WAV-Datei ein WAV-Container mit den entsprechenden Füllbits usw. erstellt werden muss. Außerdem können Sie das Beispielformat auswählen der WAV-Datei. Wenn Sie jedoch davon ausgehen, dass das Beispielformat dasselbe ist, besteht der einzige Unterschied zwischen Ihren FLAC- und WAV-Dateien in der Dateigröße: Die WAV-Dateien werden erheblich größer sein.

Trifft dies auch auf das .ape-Format zu? Ich habe ein paar Public Domain-Aufnahmen, die ich in .ape heruntergeladen habe, aber ich möchte es .flac machen. Wäre .ape zu .flac ohne den Einsatz von .wav als mittlerer Mann möglich. Ich möchte sicherstellen, dass nicht ein bisschen in irgendeiner Weise verloren geht.

Nein, dies ist nicht möglich, ohne dass ein PCM-Format als Zwischenhändler verwendet wird. Ja, es ist möglich, eine WAV-Datei zu verwenden. Beachten Sie den Unterschied. PCM-Datenstrom. WAV-Datei. Wenn Ihnen die Unterscheidung nicht klar ist, lesen Sie den Anfang meines Beitrags noch einmal. Wenn Sie sicherstellen möchten, dass "nicht einmal ein bisschen" verloren geht, müssen Sie Ihre APE-Dateien untersuchen und wissen, in welchem ​​Beispielformat sie sich befinden. Stellen Sie sicher, dass Ihr FLAC-Encoder für die gleichen Einstellungen für das Encoding eingestellt ist.

Intern wird jedes Audiokonvertierungsprogramm vom Quellformat in ein verlustfreies PCM-Beispielformat decodiert und diese PCM-Beispiele dann in das Zielformat umcodiert.

Wenn es irgendwelche Leitfäden gibt, die die Welt des verlustlosen Makels erklären, wäre jemand bereit, einen Link zu teilen? :)

Meiner Meinung nach ist der beste Weg zu lernen. Wenn Sie sich die Zeit nehmen, um das Gstreamer-Framework, seine Verwendung und die Bedeutung der verschiedenen Einstellmöglichkeiten des Beispielformats sowie den Aufbau einer Pipeline zu erlernen, werden Sie ein tiefes Verständnis für digitales Audio entwickeln. Hör zu. http://gstreamer.freedesktop.org/ Sie können das Gstreamer-SDK auch von http://code.entropywave.com/gstreamer-sdk/ (Windows wird unterstützt) abgerufen und mit gst-launch-0.10 experimentiert, ohne etwas kompilieren zu müssen von der Quelle.

Ein paar aufschlussreiche Dinge:

gst-inspect-0.10 vorbisenc gst-inspect-0.10 vorbisdec gst-inspect-0.10 audioconvert gst-inspect-0.10 audioresample

Dann erfahren Sie mehr über Kappen, den Bau von Pipelines usw. und schon geht es weiter.

* Hinweis: Ich weiß, dass ich nicht erklärt habe, was PCM ist. Wikipedia macht das besser als ich: http://en.wikipedia.org/wiki/Pulse-code_modulation

Wow, das ist einfach unglaublich, wie klar und wie gut du das alles erklärt hast. Ich habe noch nie an die Hälfte dieser Dinge gedacht, gute Denkanstöße. Vielen Dank für die Antwort - und die Zeit, die Sie für die Eingabe dieses Dokuments benötigt haben! +1! Ryan McClure vor 11 Jahren 0
Sie sollten stets darauf achten, dass die Bitraten und Abtastraten intakt bleiben, da verlustfrei im Idealfall identische PCM-Daten sind. Ein Upsampling auf etwas anderes als die doppelte Abtastrate ist niemals verlustfrei (Sie können nicht gleich Nullen hinzufügen) und verschwendet Speicherplatz. In jedem Fall sollte dies bei FLAC kein Problem sein, da es jede PCM-Bitauflösung von 4 bis 32 Bit pro Sample, jede Abtastrate von 1 Hz bis 655.350 Hz in 1-Hz-Schritten und eine beliebige Anzahl von Kanälen von 1 bis 1 verarbeiten kann 8 (http://en.wikipedia.org/wiki/FLAC#Design) mtone vor 11 Jahren 0
WAV enthält immer PCM. Es ist vielleicht kein CDM in PCM-Qualität (aber praktisch kann man davon ausgehen, dass es fast immer der Fall ist), aber es wird PCM sein, nicht etwas wie mpeg 3 Layer 2. psusi vor 11 Jahren 0
@psusi: Sorry, aber du liegst falsch. Bitte lesen Sie den Wikipedia-Artikel über WAV: http://en.wikipedia.org/wiki/WAV. Wenn Sie möchten, kann ich einen Link zu einer WAV-Datei mit MP3-Audio posten. Was bei WAV-Dateien zu beachten ist, ist, dass es sich nur um eine RIFF-Datei handelt, und eine RIFF-Datei ist eine ziemlich grundlegende Überarbeitung eines Mediencontainerformats. Zumindest in ihrem grundlegenden Zweck unterscheidet es sich jedoch nicht wesentlich von Ogg oder Matroska, abgesehen von der Unterstützung von Audio und nicht von Video. Edit: Ich muss keine wav / mp3-Datei erstellen; Yay! In der Tat ist es mit Wikipedia verlinkt! http://www.nch.com.au/acm/8kmp316.wav Horn OK Please vor 11 Jahren 0
Diese Antwort enthält einige Ungenauigkeiten. "Frequenz, auch als Abtastrate bezeichnet. Mehr ist besser, weil Sie mehr" Samples "von Audio pro Sekunde abspielen." - So arbeiten Samples nicht. Wenn die Bittiefe nicht betroffen wäre, könnten Daten mit einer Abtastrate von 48 kHz verlustfrei Signale bis zu 24 kHz darstellen. Das Hinzufügen weiterer Samples würde dies nicht ändern. Weitere Samples beeinflussen nur, welche Frequenzen Sie darstellen können. Das Konvertieren von 44,1 kHz in 48 kHz ist auch nicht streng verlustfrei, auch wenn der eingeführte Fehler wahnsinnig klein ist. cooky451 vor 8 Jahren 0
1
Seandex

Ich muss der Aussage von allquixotic nicht zustimmen.

Wenn Sie bereits Musik in einem verlustbehafteten Format haben, wie mp3 oder ogg / vorbis, wird das Konvertieren in ein verlustfreies Format nur (sehr viel) Festplattenspeicher beanspruchen und NICHT - absolut nicht - die Qualität verbessern der Ton überhaupt. Sie können keine Treue schaffen, wenn sie bereits verloren ist. Es sei denn, Sie schreiben eine grafische Benutzeroberfläche in Visual Basic für eine erfolgreiche Fernsehsendung mit dem Namen CSI, aber das ist Phantasie, nicht Realität.

Ihnen fehlt es an Wissen über Audiotechnik und die Menschen werden mit der falschen Aussage gefüttert.

  1. Sowohl Ogg als auch Vorbis verfügen über Container, in denen die ursprünglichen Wave-Daten gespeichert werden, und sie können mit diesen Daten in verlustfrei konvertiert werden. Bitte google genug.

  2. Sogar die Umwandlung von MP3 in verlustfreie Qualität von niedriger Qualität führt zu einer Menge Klangverbesserung. Sie ist nicht so perfekt wie das Original, kann jedoch mit Dynamik und Dithering leicht behoben werden. https://www.izotope.com/de/products/master-and-deliver/ozone.html/OzoneDitheringGuide.pdf

Audio enthält keine 10100110101001 Daten, daher bedeutet eine geringere Dateigröße nicht, dass die Qualität verloren geht. Möglicherweise haben Sie vor Jahrzehnten Erfahrung mit 128kbps bis 320kbps, und es wird vermutet, dass 128kbps verlustfrei sind. Bitte lassen Sie sich diese einfache Aufgabe testen und realisieren Sie sie.