Audioformat: Vergleich und Implementierung von MP3 und WAV Teil 2


Free Download Mp4Gain
picture

Audioformat: Vergleich und Implementierung von MP3 und WAV Teil 2

MP3 vs WAV

Schall ist eine mechanische Welle, die durch die Schwingung eines Objekts erzeugt wird und zur Ausbreitung ein Medium benötigt. Im Wesentlichen ist ein Klang also eine Wellenform auf einer Achse über der Zeit.

MP3 VS WAV

Klang besteht aus drei Elementen: Tonhöhe, Lautstärke und Klangfarbe:

Die Tonhöhe wird durch die Frequenz der Schallwelle bestimmt, je höher die Frequenz, desto höher die Tonhöhe.
Die Lautstärke wird durch die Amplitude der Schallwelle bestimmt, je größer die Amplitude, desto lauter der Ton.
Die Klangfarbe wird durch die “Form” der Wellenform bestimmt (Klänge wie Rechteck, Dreieck und Sägezahn werden Impulswellen genannt und klingen individuell).
Eine Audiodatei ist eine Datei, die durch Umwandlung eines analogen Signals in ein digitales Signal erhalten wird. Im Allgemeinen gibt es fünf wichtige Parameter: Codierungsmethode, Anzahl der Kanäle, Abtastrate, Bittiefe und Bitrate.

Codierung: Wie dieses Format Binärdaten organisiert und wie sie komprimiert werden.
Anzahl der Kanäle: Mono-, Dual- oder 5.1-Kanäle usw.
Abtastrate: Die Anzahl der Abtastungen pro Sekunde.
Bittiefe: Die Anzahl der binären Bits, die verwendet werden, um den y-Wert des Abtastpunkts zu speichern.
Bitrate – Die gewünschte Anzahl von Bits pro Sekunde für die Datei.
Wir wissen, dass es im WAV-Format keine Komprimierung gibt, daher besteht seine Codierungsmethode darin, alle abgetasteten Punkte der Reihe nach direkt in die Datei zu schreiben.

Größe der WAV-Datei (B) = Anzahl der Kanäle * Abtastrate (Hz) * Bittiefe (Bit) / 8 + Dateikopfgröße (B, es sind 44B)

Implementierung

Wenn Sie eine MP3- oder WAV-Datei mit einem Texteditor öffnen, sehen Sie Zahlen wie diese:
4944 3303 0000 0000 3D48 5459 4552 0000
0006 0000 0032 3031 3800 5444 4154 0000
0006 0000 0000 0000 0000 5449 0000 0000 0000 0000 0000 0000 58330 366
5052 4956 0000
368 50 0000 584d 5000 3c3f 7870 6163 6B65
7420 6266 6769 6E3D 22EP BBBF 2220 6964 3D22 5735 6964
3D22 5735 4D30 4D70 4365 6869 487A 7265
537A 4E54 637A 6B63 3964 223F 3E0A 3C78
3A78 6D70 6D65 7461 2078 6D6C 6E73 3A78
3D22 6164 2F6 62 1654
5249 4646 2E3D 0e05 5741 5645 666d 7420
1200 0000 0300 0200 44ac 0000 2062 0500
0800 2000 0000 6461 7461 A026 0e05 8089
00bc 00E8 f0bb c09e 8dbc 00C2 87bc 80F1
d3bc 8063 CCBC C030 FCBC 8012 f4bc 20BB
13bd E051 0fbd c0b0 2dbd 6079 28bd 4012
46bd 6032 40bd c0e3 5dbd 6040 57bd c015
7cbd e035 74bd b058 8dbd 50e2 88bd f0a7 9dbd e0dd 98bd 70d3 acbd e0a9 a7bd
d043 b8bd b0da b2bd
00e3 c4bd 605c bfbd

Das obige ist das mp3/wav-Format desselben Songs. Was ist der Unterschied zwischen ihnen?


Free Download Mp4Gain
picture

Audioformat: Vergleich und Implementierung von MP3 und WAV

Audioformat: Vergleich und Implementierung von MP3 und WAV

WAV vs MP3

Ein mp3 hat 320 kbps, 44100 Hz, was bedeutet das?

mp3 vs wav

44100 Hz repräsentiert die Abtastrate des Signals. Das sogenannte Sampling besteht darin, in jeder Zeiteinheit den Wert y der Schallwelle zum aktuellen Zeitpunkt zu erhalten. Sampling ist der Prozess der Diskretisierung kontinuierlicher Daten (Umwandlung eines analogen Signals in ein digitales Signal).
Bildquelle

Das oben erwähnte Abtastverfahren wird als PCM (Pulse Code Modulation) bezeichnet. Gemäß dem Nyquist-Shannon-Abtastgesetz muss die Abtastrate mindestens das Doppelte der höchsten Zielfrequenz betragen. Der Hörbereich des menschlichen Ohrs beträgt etwa 20 Hz bis 20.000 Hz (wenn Sie neugierig sind, wie laut Sie hören können, können Sie hier klicken, um Ihre Ohren zu testen), obwohl Aufnahmesoftware oft eine Option von 48.000 Hz hat, aber wir können mit Sicherheit schließen : 44100 Hz kann fast alle unsere Anforderungen erfüllen, höher ist nur eine Verschwendung von Speicher und CPU. Mehr als 48.000 Samples sind für das menschliche Ohr bedeutungslos, was 24 Bildern pro Sekunde in einem Film entspricht. 44100 Hz ist die Standard-Samplerate für fast alle veröffentlichten Musiktitel. Bei Stimmen und vielen Instrumenten sind hochfrequente Klänge tatsächlich Rauschen, sodass hohe Abtastraten manchmal die Klangqualität verschlechtern können (weshalb wir den Equalizer anpassen müssen).

320 kbps stellt Ihre Bitrate/Bitrate dar, was eine Abkürzung für Kilobit pro Sekunde ist, was die Größe der Daten darstellt, die zur Beschreibung von Ton verwendet werden. Bei CDs (unkomprimierte Audiodatei) beträgt die Bitrate 1411,2 kbps, und die mp3-Tonqualität zum Erreichen von CD-Qualität sollte höher als 128 kbps/44100 Hz sein (128 kbps kann als die häufigste Bitrate bezeichnet werden). Im Allgemeinen bedeutet eine höhere Zahl eine bessere Qualität. Die Qualität hängt von vielen Faktoren ab (z. B. dem Verschlüsselungsalgorithmus). Oft brauchen wir keine zu hohe Bitrate: Unser Gerät kann mp3 und CD ohne Unterschied abspielen (Sound/Soundkarte ist normal).

Ein wav ist 44100 Hz 16-Bit-Stereo oder 22050 Hz 8-Bit-Mono, was bedeutet das? Stereo/Mono bezieht sich auf Dual/Mono. Bei monophonen Sounddateien sind die Sample-Daten eine 8-Bit Short Integer (short int 00H-FFH); Bei Zweikanal-Stereo-Sounddateien sind alle Sample-Daten eine 16-Bit-Ganzzahl (int) und die oberen acht Bits (linker Kanal) und die unteren acht Bits (rechter Kanal) repräsentieren jeweils die beiden Kanäle.

MP3-Format und die Unterschiede zwischen VBR und CBR, WAS IST BESSER?

MP3-Format und die Unterschiede zwischen VBR und CBR, WAS IST BESSER?

CBR & VBR

Es gibt noch einen weiteren Nachteil der VBR-Technologie. Beim Abspielen einer Audiodatei gibt es zwangsläufig eine Operation, um zu der Position der spezifizierten Zeit zum Abspielen zu springen (dh die sogenannte Suchoperation).

CBR vs VBR

Zu diesem Zeitpunkt ist es erforderlich, die Zeitposition des Ziels in die Position der Datei umzuwandeln. Springen Sie dann zu diesem Dateipositionsversatz, um ihn zu lesen und zu dekodieren. Wenn es sich um einen Download-and-Play-Netzwerkwiedergabemodus handelt, müssen Sie während des Suchvorgangs zuerst die Position der Datei berechnen. Springen Sie zu dieser Position und laden Sie einen Absatz herunter, bevor Sie weiterspielen. . Für die CBR-Codierung ist die Konvertierung in Dateipositions-Offset ebenfalls sehr einfach, indem die folgende Formel verwendet wird:

Dateiposition (Byte) = Zielzeitposition ( s ) * Bitrate (kbps) * 1000/8 + id3v2-Feldgröße (falls vorhanden)
Aber für die VBR-Codierung ist es offensichtlich unmöglich, diese Formel zum Konvertieren der Dateiposition zu verwenden. Der Grund ist ebenfalls sehr einfach: Die Bitrate jedes Frames ist nicht festgelegt und die Datenlänge pro Sekunde ist nicht durchschnittlich. Daher werden, genau wie bei der Berechnung der Dauer, andere Datenfelder benötigt.

Die Methode zum Berechnen der Audiodauer und Implementieren des Suchvorgangs mithilfe der VBR-Codierung
Um die beiden oben genannten Probleme zu lösen, fügt die VBR-Codierung einige Datenfelder hinzu. Gegenwärtig gibt es hauptsächlich zwei Arten von VBR-Codierungstechnologien, eine ist die von der Firma Xing vorgeschlagene Xing-Spezifikation und die andere ist die VBRI-Spezifikation des Fraunhofer-Codierers. Dieser Artikel stellt nur dar, wie die Xing-Spezifikation die Berechnung der Audiodauer und die Implementierung der Suchoperation löst.

Der Hauptinhalt der Xing-Spezifikation ist der Xing-Header, was bedeutet, dass der erste Audioframe am Anfang des VBR-codierten mp3 nicht zum Speichern bestimmter Audiodaten, sondern zum Speichern zusätzlicher Audioinformationen verwendet wird. Diese Informationen sind mit den vier Zeichen „Xing“ als Feldanfang gekennzeichnet (einige Dateien verwenden auch die vier Zeichen „Info“ als Anfang des Xing-Headers).

Die Position des Xing-Headers im ersten Audio-Frame ist nach dem standardmäßigen 4-Byte-MP3-Audio-Frame-Header. Zwischen dem Frame-Header und dem Xing-Header befindet sich ein leerer Teil, in dem der Dateninhalt vollständig 0 ist. Dieses Leerzeichen Die Länge von Der Abschnitt ist angegeben. Nachdem der Decoder den Frame-Header des ersten Audioframes geparst hat, überspringt er den leeren Teil der angegebenen Länge und beurteilt dann, ob der nächste Inhalt die vier Zeichen von „Xing“ oder „Info“ sind, um das Audio zu beurteilen, wenn die VBR-Codierung .

Mp3, Unterschiede zwischen CBR und VBR

Mp3, Unterschiede zwischen CBR und VBR

CBR vs VBR

Unterschiede im Dateninhalt zwischen CBR- und VBR-MP3-Dateien. Es ist ersichtlich, dass die Bitrate der VBR-codierten MP3-Datei aufgrund des Unterschieds im Dateninhalt zwischen Frames nicht unbedingt gleich ist. Im Allgemeinen komprimiert und codiert die VBR-Technologie im Bereich von 8 bis 320 kbps, sodass die Bitrate der gesamten Datei höher ist als die der gesamten Datei.Konstante CBR-Codierung, die VBR-Codierung hat daher eine Bitrate mit variabler Bitrate in der gesamten Datei den Namen VBR (Variable Bitrate).

CBR & VBR

Zusätzlich zu den beiden Codierungen CBR und VBR gibt es auch eine Codierung vom Typ ABR (Average Bit Rate, Average Bit Rate), die im Grunde mit CBR identisch ist, die meisten Audioframes werden jedoch mit der angegebenen Bitrate codiert Der Inhalt ist mit einer höheren Bitrate als angegeben codiert, aber normalerweise ist dieser Inhalt kurz, sodass es im Vergleich zu CBR keinen großen Unterschied in der Dateigröße gibt, sodass dieser Typ nicht üblich ist.

Nachteile der VBR-Technologie gegenüber der CBR-Technologie
Die Verwendung der VBR-Technologie zum Codieren und Komprimieren von MP3-Dateien kann sicherlich die Dateigröße optimieren, bringt aber gleichzeitig auch einige neue Probleme beim Erfassen von Audioinformationen und beim Überwachen des Wiedergabefortschritts mit sich.

Die erste ist die Berechnung der Dauer des Audios. Wenn es sich um eine CBR-Codierung handelt, ist die Datengröße aller Audioframes fest, da die Bitrate konstant ist, sodass die Datengröße, die zum Decodieren für jede Sekunde der Wiedergabe benötigt wird, gleich ist, sodass es sehr einfach ist, die Audiozeitlänge zu berechnen. Verwenden Sie einfach die folgende Formel:

timelength ( s ) = (gesamte Dateilänge (Byte) – gesamte ID3-Feldgröße (falls vorhanden)) * 8 / (Bitrate (kbps) * 1000 )
In der Formel bezieht sich das id3-Feld auf das grundlegende Informationsfeld, das am Anfang oder Ende der MP3-Datei platziert wird und im Allgemeinen verwendet wird, um den Namen der Audiodatei, den Namen des Sängers und den Namen des Albums aufzuzeichnen. Das id3 ist in zwei Versionen, v1 und v2, unterteilt und enthält nur v1. Die oben genannten drei Arten von Informationen, und die Größe ist festgelegt, werden normalerweise am Ende der Datei platziert; v2 ist flexibler als v1, die Art der aufgezeichneten Informationen ist nicht auf die oben genannten drei beschränkt und die Größe ist nicht festgelegt, sie wird normalerweise am Anfang der Datei platziert. Das id3-Feld ist ein optionales Feld und die mp3-Datei hat es nicht unbedingt. Um also die Audiozeit der mp3 zu berechnen, müssen Sie es zuerst lesen, um zu sehen, ob die id3 existiert.

Bei VBR-codierten MP3-Dateien ist die Datengröße jedes Frames willkürlich, da die Bitrate jedes Frames nicht festgelegt ist. Offensichtlich ist die Größe der pro Sekunde reproduzierten Daten unterschiedlich. Auf diese Weise kann die Dauer des gesamten Audios nicht mit der obigen Formel berechnet werden und es werden andere Datenfelder benötigt, was einer der Nachteile der VBR-Technologie ist: Es ist relativ schwierig und kompliziert, die Dauer des Audios zu berechnen.