Menü

Werkzeuge durchsuchenÄnderungsprotokoll

zum Navigieren zum ÖffnenBeschreiben Sie das Problem, nicht das Tool

Den Header einer WAV-Datei untersuchen

Liest den Header einer WAV-Datei direkt im Browser und zeigt Abtastrate, Bittiefe, Kanäle, Kodierung, exakte Länge sowie alle enthaltenen RIFF-Chunks. Die Datei wird weder hochgeladen noch decodiert.

Beliebige RIFF-WAVE-Datei, einschließlich Broadcast Wave und RF64. Sie wird nur in diesem Tab gelesen und nirgendshin gesendet.

Abtastrate (Hz)
Abtastframes pro Sekunde. 44.100 Hz ist CD-Standard, 48.000 Hz ist bei Video üblich, 96.000 Hz bei hochauflösenden Mastern.
Bittiefe (Bit pro Sample)
Kanäle
Kodierung
Länge
Länge (Sekunden)
Bitrate (kbit/s)
Abtastframes
Audiodaten (Bytes)
Chunks in der Datei

So funktioniert es

Was dieses Werkzeug untersucht

Eine WAV-Datei ist kein einzelner Audioblock mit einem Etikett davor. Sie ist ein RIFF-Container aus mehreren Chunks. Zwei davon sind entscheidend: fmt beschreibt das Audioformat und data enthält die Samplebytes. Aufnahmegeräte und Editoren ergänzen häufig weitere Blöcke für Zeitcode, Markierungen, Produktionsnotizen oder Füllraum.

Das Werkzeug liest diese Struktur und beantwortet damit Fragen, die der Dateiname nicht zuverlässig beantwortet: Ist die Aufnahme wirklich PCM? Hat sie 44,1 oder 48 kHz? Sind die Samples 16, 24 oder 32 Bit breit? Wie viele Kanäle und vollständige Abtastframes sind vorhanden?

So entsteht die Dauer

Bei PCM und IEEE-Float hat jeder Abtastframe eine feste Breite:

frames = audio_bytes ÷ block_alignment
seconds = frames ÷ sample_rate

Ein Stereo-Frame enthält zwei gleichzeitige Samples, aber er zählt trotzdem als ein Zeitpunkt. Deshalb wird nicht einfach die Zahl der Bytes durch die Abtastrate geteilt. Die Blockausrichtung verbindet Kanalzahl und Samplebreite mit der tatsächlichen Framegröße.

Deklarierte und vorhandene Daten

Nach einem Stromausfall oder einer vollen Speicherkarte kann eine Aufnahme vollständige Audiodaten enthalten, obwohl der Header noch eine Länge von null nennt. Die Einstellung Aus der Datei ermitteln vertraut dem Header, solange sein Wert plausibel ist, und wechselt andernfalls auf die vorhandenen Bytes.

Dieser Fallback ist bewusst konservativ. Liegen hinter dem Audio noch Metadaten, kann er die Dauer etwas überschätzen. Ohne ihn würde eine wertvolle, unterbrochene Aufnahme dagegen als leer erscheinen.

Was die Prüfung nicht leisten kann

Der Header beschreibt, wie Bytes abzuspielen sind; er beweist nicht, dass die Samples sinnvoll sind. Für Clipping, Stille, Frequenzinhalt oder hörbare Beschädigungen müsste das Audio decodiert und analysiert werden. Auch eine falsche Abtastrate im Header bleibt eine falsche Angabe: Das Werkzeug zeigt dann dieselbe falsche Dauer, mit der ein Player die Datei abspielen würde.

So wird es gemacht

  1. Prüfe in den ersten zwölf Bytes, ob RIFF, RIFX oder RF64 und anschließend WAVE angegeben ist. Eine Dateiendung allein ist kein Beleg für das Format.
  2. Laufe ab Byte zwölf durch die Chunk-Liste. Jeder Chunk besteht aus einer vier Zeichen langen Kennung, einer 32-Bit-Länge, seinem Inhalt und bei ungerader Länge einem Füllbyte.
  3. Begrenze jede deklarierte Länge auf die tatsächlich vorhandenen Bytes, damit ein beschädigter Header weder einen Absturz noch eine Endlosschleife auslöst.
  4. Lies aus dem fmt-Chunk Formatcode, Kanalzahl, Abtastrate, Byterate, Blockausrichtung und Bittiefe. Bei WAVE_FORMAT_EXTENSIBLE kommt der echte Formatcode aus der Unterformat-GUID.
  5. Bestimme die Audiodaten aus dem data-Chunk. Ist seine deklarierte Größe null oder größer als die Datei, verwende als sichere Näherung die vorhandenen Bytes bis zum Dateiende.
  6. Teile bei Formaten mit fester Samplebreite die Audiodaten durch die Blockausrichtung und anschließend die Frames durch die Abtastrate. Bei komprimierten Formaten stammt die Framezahl aus dem fact-Chunk.
  7. Gib die Messwerte aus und biete den vollständigen Header samt Chunk-Karte als JSON-Datei an. Es findet keine Netzwerkübertragung statt.

Wovon es ausgeht

  • Eine WAV-Datei speichert ihre Dauer nicht als einzelnen Wert. Sie wird aus Audiodaten, Blockausrichtung und Abtastrate berechnet, genau wie bei einem Audioplayer.
  • Die angezeigte Bittiefe ist die Containerbreite. Eine 24-Bit-Aufnahme in 32-Bit-Wörtern kann daher 32 Bit melden; die Kodierungszeile nennt zusätzlich die gültigen Bits.
  • Bei einer festen Samplebreite werden nur vollständige Frames gezählt. Ein unvollständiger Rest am Dateiende ist nicht abspielbar und wird verworfen.
  • Bei komprimiertem WAVE ist die Byte-Rate nur ein Mittelwert. Ohne fact-Chunk kann die Dauer deshalb nur geschätzt werden.
  • Es wird ausschließlich der Header ausgewertet. Ob die Samples Stille, Übersteuerung oder beschädigtes Audio enthalten, lässt sich damit nicht beurteilen.
  • Der Fallback bis zum Dateiende kann Metadaten hinter dem data-Chunk als Audio mitzählen. Das ist bei einer abgebrochenen Aufnahme sicherer als eine Länge von null.
  • Die vollständige Datei liegt während der Prüfung im Arbeitsspeicher dieses Tabs und ist deshalb auf 256 MB begrenzt.

Fragen

Wird meine Audiodatei irgendwohin hochgeladen?

Nein. Ein Worker in diesem Browser-Tab liest die Datei auf Ihrem Gerät. Es gibt keinen Server, an den die Datei gesendet wird, und der automatisierte Browsertest schlägt bei einer solchen Anfrage fehl.

Warum werden 32 Bit angezeigt, obwohl der Recorder 24 Bit nennt?

Das sind zwei verschiedene Angaben. Viele Geräte speichern 24 gültige Bits in einem 32 Bit breiten Container. Die Bittiefe zeigt den Container; die Kodierung nennt bei einem erweiterten WAV zusätzlich die gültigen Bits.

Warum unterscheidet sich die Länge geringfügig von meinem Player?

Wahrscheinlich stimmen die deklarierte Größe des data-Chunks und die vorhandenen Bytes nicht überein. Das passiert häufig bei unterbrochenen Aufnahmen. Unter den weiteren Optionen können Sie beide Auslegungen prüfen.

Kann das Werkzeug die Qualität der Aufnahme beurteilen?

Nein. Es decodiert kein einziges Sample. Ein korrekter Header verrät Abtastrate und Format, aber nicht, ob die Aufnahme still, übersteuert oder klanglich brauchbar ist.

Quellen