Analyse des MP3-Dateiformats


Free Download Mp4Gain
picture

Analyse des MP3-Dateiformats

MP3 file format analysis

MP3-Kodierung

MP3 file format analysis

Signalbeschreibung:

(1) Eingangssignal mit MP3-Codierung: PCM-Tonsignal (Pulse Code Modulation), einige Audiodateien im .wav-Format sind PCM-Signale.

( 2 ) MP3-codiertes Ausgangssignal: Übertragung im MP3-Format

Dateikapazität im WAV-Format = (Abtastfrequenz X Quantisierungsanzahl der Bits X Kanal) X Zeit / 8 (Byte = 8 Bits). Wenn die 2 Bytes von 14H~15H einen Wert von 1 haben, zeigt dies das PCM-Codierungsformat des Datenbits an, das als Eingang des MP3-Encoders verwendet werden kann.

3. Analyse des SHINE-Programms
SHINE ist ein in C geschriebenes MP-Codierprogramm, das aus insgesamt 11 Quelldateien besteht. Fügen Sie die Quelldatei zur neu erstellten VC-Kaufmodus-Konsolenanwendung hinzu, um sie auszuführen, aber sie muss bei der Ausführung den Befehlszeilenmodus verwenden.

1. Dateidatenstruktur
In types.h wird ein Strukturtyp config_t definiert, mit dem eine globale Variablenkonfiguration initialisiert wird, die in einer objektorientierten Sprache einem „Objekt“ entspricht und während des gesamten Prozesses zur Codierung von Daten und Parametern verwendet wird und verwalten

Definieren Sie einen Strukturtyp wave_t, um Dateiinformationen im PCM-Pulsformat zu speichern, und verwenden Sie wave_t, um die wave-Variable in config_t zu definieren, die die MP3-codierten Quellinformationen als Eingabe für den MP3-Encoder speichert.

Es wird ein Strukturtyp mpeg_t definiert, der zum Speichern von MP3-codierten Informationen verwendet wird, und die mpeg-Variable wird in config_t mit mpeg_t definiert, und die in dieser Variablen gespeicherten Informationen werden als MP3-codierte Parameterinformationen ausgegeben.

typedestruct {

time_tstart_time;

char*infile;

Runde_Welle;

char* Ausgabedatei;

mpeg_tmpeg;

} config_t;

Die obige Struktur wird hauptsächlich verwendet , um die ” Header ” – Informationen zu speichern , und die Byte – Stream – Entitätsinformationen werden nach dem Codieren der Ausgabe in der bs – Struktur gespeichert ( in der Datei bitstream.h definiert ) , und die bs – Struktur ist definiert als

statische Struktur


Free Download Mp4Gain
picture

Analyse des MP3-Dateiformats

Analyse des MP3-Dateiformats

MP3 file format analysis

1. Zusammenfassung von MP3- und MPEG-Dateien

MP3 file format analysis

Eine MP3-Datei besteht aus Frames, und ein Frame ist die kleinste Einheit einer MP3-Datei. Der vollständige Name von MP3 muss MPEG1 Layer-3-Audiodatei sein.

MPEG (MovingPictureExperts Group), MPGE-Audioschicht bezieht sich auf den Tonteil der MPGE-Datei, der je nach Qualität und Komplexität der Codierung in drei Schichten unterteilt ist, nämlich Schicht-1, Schicht2 und Schicht3, entsprechend MP1, MP2 und Dateien im MP3-Format.

2. Struktur von MP3-Dateien
MP3-Dateien sind in 3 Teile unterteilt: TAG_V2(ID3V2) , Rahmen, TAG_V1(ID3V1) .

( 1 ) Rahmenformat

Der Frame-Header hat 4 Bytes und seine Struktur ist wie folgt

typedef FrameHeader

{

unsigned intsync: 11; // Synchronisationsinformationen

vorzeichenlose Invertierung: 2; // Ausführung

unsigned intlayer: 2; // Schicht

unsigned intprotection: 1; // CRC-Prüfung

unsigned bitrate: 4; // Bitrate

vorzeichenlose Zwischenfrequenz: 2; // Beispielrate

unsigned intpadding: 1; // Rahmenlänge anpassen

unsigned intprivate: 1; // reserviertes Wort

unsigned intmode: 2; // Kanalmodus

unsigned int mode extension: 2; // Erweiterter Modus

unsigned intcopyright: 1; // Urheberrechte ©

unsigniertes Original: 1; // Original-Logo

unsigned Hervorhebung: 2; // Hervorhebungsmodus

}

HEADER, *LPHEADER;

Die Wiedergabe jedes Frames dauert 26 ms, unabhängig von der Länge des Frames. Die Länge von MAIN_DATA ist

Length(MAIN_DATA) = ((Version == MPEG1)?144:72) * Bitrate/Frequenz + Padding;

(2) ID3V1-Format

ID3V1 wird am Ende der MP3-Datei gespeichert, insgesamt 128 Bytes, alle Informationen werden sequentiell gespeichert und der unzureichende Teil wird mit ‘\0’ aufgefüllt, was mit UltraEdit geöffnet und angezeigt werden kann.

typedef tagID3V1-Struktur

{

char-header[3];

Zeichentitel[30];

Künstler char[30];

Albumzeichen[30];

char Jahr[4];

char Kommentar[28];

Kohlevorrat;

Zeichenspur;;

charGenus;

}

ID3V1,*pID3V1;

( 3 ) ID3V2-Format

ID3V2 wird im Header der MP3-Datei gespeichert und besteht aus einem Tag-Header und mehreren Tag-Frames.

Der Tag-Header ist 10 Byte groß,

char-header[3];

char sehen;

Charakterüberprüfung;

char-Flag;

Zeichengröße [4];

Jeder Tag-Frame besteht aus einem 10-Byte-Frame-Header und mindestens einem Byte Inhalt mit variabler Länge. Der Frame-Header ist wie folgt definiert:

Zeichenrahmen-ID[4];

Zeichengröße [4];

char-Flags[2];

Wie funktioniert eine mp3-Datei?

Wie funktioniert eine mp3-Datei?

How does an mp3 file work

Wie ist eine mp3 aufgebaut?

How does an mp3 file work

Ein MP3-Song hat drei
Versionen: 96 Kbps (96 Kilobit pro Sekunde), 128 Kbps und 192 Kbps. Kbps (Bitrate), die die Menge an Musikdaten pro Sekunde angibt,
Je höher der Kbps-Wert, desto besser die Tonqualität und je größer die Datei, der MP3-Standard schreibt vor, dass eine MP3-Datei mit konstanter Bitrate als CBR bezeichnet wird, und die meisten davon
MP3-Dateien sind CBR, und MP3-Dateien mit sich ändernder Bitrate werden als VBR bezeichnet, und die Länge jedes FRAME kann geändert werden. Die Folgenden sind
die Unterschiede zwischen CBR und VBR:
1) CBR: Die Größe des FRAME bei fester Bitrate ist fest (die Formel ist wie oben), solange die Gesamtlänge der Datei und die Länge des Frames bekannt sind, kann mp3 aus den 26ms berechnet werden, die dazu benötigt werden jeden Frame abspielen. Die Gesamtwiedergabezeit kann auch überwacht werden, indem die Anzahl der Frames gezählt wird, um Vorgänge wie schnellen Vorlauf, schnellen Rücklauf und langsame Wiedergabe zu steuern. Hinweis: Manchmal sind nicht alle Frames gleich lang und einige Frames können ein oder mehrere Bytes länger sein.
2) VBR: VBR ist ein Algorithmus, der von der Firma XING veröffentlicht wurde, daher wird das Schlüsselwort „XING“ im MP3 FRAME (viele beliebte
Kleine Software kann auch eine VBR-Komprimierung durchführen (es ist nicht bekannt, ob sie dieser Vereinbarung entsprechen), sie wird im ersten gültigen FRAME in der MP3-Datei gespeichert und identifiziert, dass die MP3-Datei VBR ist. Gleichzeitig speichert der erste FRAME die Gesamtzahl der FRAMES der MP3-Datei, was es einfach macht, die Gesamtspielzeit zu erhalten, und gleichzeitig gibt es 100 Bytes, um den FRAME INDEX von 100-mal Segmenten zu speichern die Gesamtspielzeit. . Angenommen, ein 4-minütiger MP3-Song 240S ist in 100 Segmente unterteilt, und der Zeitunterschied zwischen zwei benachbarten INDEXen beträgt 2,4S, also durch diesen INDEX, solange vorher einige FRAMES verarbeitet werden, und dann können wir schnell den FRAME-Header finden, den wir brauchen, um schnell zu sein nach vorne. Tabelle 2 Erläuterung des Bytes von
Struktur des ersten Frames der VBR 1-4-Datei Derselbe Standard-Soundframe-Header wie CBR 5-40 Speichern Sie das VBR-Datei-Logo “Xing” (58 69 6E 67), die spezifische Position dieses Logos hängt vom angenommenen MPEG-Standard ab und der Ton hängt vom Kanalmodus ab. Die führenden und abschließenden Bytes des Flags werden nicht verwendet. 36-39 MPEG-1 und Nicht-Mono (allgemein) 21-24 MPEG-1 und Mono 21-24 MPEG-2 und Nicht-Mono 13-16 MPEG-2 und Mono 41-44 Flags, zeigen an, ob die Bildnummer, Se speichert Informationen über Dateilänge, Verzeichnistabelle und VBR-Skalierung, und wenn ja, 01 02 04 08. 45-48 Bildnummer (einschließlich erstes Bild) 49-52 Dateilänge 53-152 Dateitabellenverzeichnis, verwendet für Byte-Positionierung entsprechend zur Zeit. 153-156 VBR-Skala für Bitratenänderungen

Wie funktioniert eine mp3-Datei?

Wie funktioniert eine mp3-Datei?

How does an mp3 file work

Wie ist eine mp3 aufgebaut?

How does an mp3 file work

Eine MP3-Datei besteht aus Frames (Frames), Frames stellen die kleinste Kompositionseinheit einer MP3-Datei dar. Der vollständige Name von MP3 sollte MPEG1 Layer 3-Audiodateien lauten
(Motion Picture Experts Group) wird ins Chinesische als Moving Picture Experts Group übersetzt und bezieht sich speziell auf Bewegtbild- und Audiokomprimierungsstandards.
MPEG1-Standard, auch bekannt als MPEG-Audioschicht, die basierend auf der Komprimierungsqualität und der Codierungskomplexität in drei Schichten unterteilt ist, nämlich
Layer-1, Layer2 und Layer3, die den drei Sounddateien MP1, MP2 bzw. MP3 entsprechen und unterschiedlich verwendet werden
Ebenen von Audiodateien nach verschiedenen Zwecken. Je höher die MPEG-Audiocodierungsstufe, desto komplexer der Codierer und desto höher die Komprimierungsrate. Die Komprimierungsverhältnisse von MP1 und MP2 sind 4:1 und
6:1-8:1, während das Komprimierungsverhältnis von MP3 so hoch ist wie 10:1-8:1 12:1, was bedeutet, dass eine Minute Musik in CD-Qualität 10 MB benötigt
Speicherplatz ohne Komprimierung, aber nur etwa 1 MB nach MP3-Komprimierung Codierung. MP3 verwendet jedoch ein verlustbehaftetes Komprimierungsverfahren für Audiosignale.

Geringe Klangverzerrung, MP3 verwendet eine “sensorische Codierungstechnologie”, dh beim Codieren wird die Audiodatei zuerst auf das Frequenzspektrum analysiert, und dann wird der Rauschpegel durch einen Filter gefiltert, und dann wird jedes verbleibende Bit spärlich und durch Quantisierung angeordnet , und bilden Sie schließlich eine MP3-Datei mit einem höheren Komprimierungsverhältnis und erstellen Sie die Datei
komprimiert wird, erzielen Sie bei der Wiedergabe einen Klangeffekt, der näher an der ursprünglichen Klangquelle liegt.

2. Die vollständige Struktur der Datei
MP3 Die MP3-Datei ist grob in drei Teile unterteilt: TAG_V2 (ID3V2), Rahmen, TAG_V1 (ID3V1) ID3V2
enthält
Informationen wie Autor, Komponist, Album usw. Die Länge ist nicht festgelegt, was den Informationsumfang von ID3V1 erweitert.
rahmen
… Rahmen A-Serie
Frames, die Anzahl wird durch die Dateigröße und die Länge des Frames bestimmt
. Die Länge jedes RAHMENS kann nicht fixiert sein oder sie kann fixiert sein. Sie wird durch die Bitrate bestimmt. Jeder FRAME ist in zwei Teile unterteilt: Frame-Header und Dateneinheit.Der Frame-Header zeichnet Informationen wie Bitrate, Abtastrate und MP3-Version auf, und jeder Frame ist voneinander unabhängig. ID3V1 enthält Informationen wie Autor, Komponist, Album usw. ., und die Länge beträgt 128BYTE. 3. MP3-Frame-Format 1. Frame-Header-Format Der Frame-Header ist 4 Byte lang. Bei MP3-Dateien mit fester Bitrate ist das Frame-Header-Format aller Frames gleich. Die Datenstruktur ist wie folgt: typedef FrameHeader { unsigned int sync: 11; // unsignierte Synchronisationsinformationen int version: 2; // Ausführung