Wav

Wav

Vorlage:Infobox Dateiformat/Wartung/magic fehltVorlage:Infobox Dateiformat/Wartung/standard fehltVorlage:Infobox Dateiformat/Wartung/website fehlt

Waveform
Dateiendung .wav
MIME-Type audio/wav
audio/wave
audio/x-wav
Entwickelt von Microsoft & IBM
Art Audiodatei
Erweitert von RIFF

Das WAVE-Dateiformat ist ein Containerformat zur digitalen Speicherung von Audiodaten, das auf dem Resource Interchange File Format (RIFF) aufsetzt, das von Microsoft für das Betriebssystem Windows definiert wurde.

Enthalten sind meist sog. PCM-Rohdaten, die Abtastwerte des Audiosignals unkomprimiert digital darstellen, oder komprimierte Audiodaten, z. B. ADPCM oder MP3. Im Falle von PCM unterstützt es verschiedene Quantisierungsauflösungen, Abtastraten und Kanalzahlen. Es stellt heute einen De-facto-Standard für die Speicherung von Audiodaten unter Windows dar.

Inhaltsverzeichnis

Einleitung

Audiodateien enthalten die digitalisierte Form eines akustischen Signals, also eine zeit- und wertdiskrete Darstellung des zeitlichen Verlaufs einer Schwingung. Bei der Analog-Digital-Umsetzung wird zu bestimmten Zeitpunkten die Auslenkung (Elongation) einer Schwingung festgehalten.

Die Qualität des aufgezeichneten Klangs hängt vor allem von zwei Werten ab:

Samples & Frames

Samples werden verschränkt gespeichert.

„Sample“ ist die englische Bezeichnung für einen charakterisierenden Teil einer Gesamtheit. Hier geht es um einzelne Abtastwerte, die durch Analog-Digital-Wandlung ermittelt werden. Bei Multikanaldaten gibt es pro Zeitpunkt mehrere „Sample Points“, die zu einem „Sample Frame“ zusammengefasst sind, zuerst Kanal 0 (mono oder linker Stereokanal), dann Kanal 1 usw.

Dateistruktur

WAV-Dateistruktur

Das RIFF-Format besteht aus Datenpaketen (Chunks), die wie beim IFF aufgebaut sind, bis auf die Byte-Reihenfolge: niederwertiges Byte (LSB) voran. Die WAVE-Spezifikation definiert drei Chunks als verpflichtend: Der RIFF-Chunk identifiziert die Datei als .wav-Datei und enthält als Container die anderen Chunks. Der FORMAT-Chunk enthält Parameter wie z. B. die Abtastrate. Der DATA-Chunk enthält den Signalverlauf.

Im Laufe der unkoordinierten Entwicklung kam es zu einer unüberschaubaren Anzahl weiterer Chunk-Typen mit teils redundanten Inhalten. Ein Beispiel ist der Label-Chunk und Note-Chunk, die beide Cuepoint-Einträge im Cue-Chunk mit einer Beschriftung versehen. Dabei bezeichnet ein „Label“ den Titel eines Cuepoints, „Note“ einen Kommentar. Sie sind als Sub-Chunks im übergeordneten Associated-Data-List-Chunk gespeichert. Des weiteren gibt es eine Vielzahl von komprimierten Formaten, für die ein Fact-Chunk mit der dekomprimierten Größe verbindlich ist, die aber ansonsten unterschiedlichste Parameter definieren, was eine vollständige Unterstützung des WAV-Formats für Entwickler noch schwieriger macht.

RIFF-Chunk (auch „RIFF WAVE“-Chunk)

Er enthält als Container die anderen Chunks, sein Header besteht lediglich aus

  • chunkID (Char[4], "RIFF")
  • ChunkSize (unsigned long, = Dateilänge in Bytes - 8)
  • riffType (Char[4], "WAVE")


Format-Chunk

Er beginnt mit der Kennung "fmt " und muss in der Datei genau einmal enthalten sein und zwar als erster Sub-Chunk. Auf seine ChunkSize folgt der Inhalt, der aus einem Satz allgemeiner Parameter und einem nachfolgenden formatspezifischen Teil besteht. Der allgemeine Teil:

  • wFormatTag (0x0001 steht für PCM, das kanonische, unkomprimierte Format)
  • wChannels (unsigned short, 1 für Mono, 2 für Stereo, mehr ist möglich)
  • dwSamplesPerSec (unsigned long, Abtastrate in Hz)
  • dwAvgBytesPerSec (unsigned long, nötige Übertragungsbandbreite)
  • wBlockAlign (unsigned short, Größe der Frames in Bytes)

Für PCM-Daten hat der Format-Chunk nur noch dieses eine Feld:

  • wBitsPerSample (unsigned short, Quantisierungsauflösung, identisch für alle Kanäle)

Wird keine Kompression verwendet, ist dwAvgBytesPerSec das Produkt aus Abtastrate und Framegröße. Die Framegröße ergibt sich aus der Vorgabe, dass alle Werte im Daten-Chunk als Integer zu kodieren sind mit einer gerade ausreichenden Größe in Byte (evtl nötige Pad-Bits stehen am niederwertigen Ende mit dem Wert 0). Für das PCM-Format gilt

wBlockAlign = wChannels * ((wBitsPerSample + 7) / 8) (Integer-Division ohne Rest),

sodass die Framegröße für 12-Bit-Stereo nicht drei sondern vier Byte beträgt.


Data-Chunk

Er hat die Kennung "data". Seine chunkSize enthält (wie bei allen Chunks) weder die 8 Bytes von Kennung und Größe noch das am Ende zur vorgeschriebenen Ausrichtung auf Wortgrenzen evtl. nötige Null-Byte. Sein Inhalt ist eine Folge von Frames, deren Aufbau im Folgenden lediglich für das PCM-Format angegeben wird.

Sample-Werte sind für Bittiefen bis 8 als unsigned char kodiert, sonst signed int. Bei Bit-Tiefen, die nicht durch 8 teilbar sind, wird das erste Byte (LSB) rechts mit Nullen aufgefüllt (Zero-Padding). Das ergibt beispielsweise für den größten positiven 12-Bit-Wert die Bytefolge „0xF0 0x7F“. Bei zwei Kanälen (Stereo) wird erst der linke, dann der rechte Kanal gespeichert.

Dieses Format, ohne Header gespeichert, hat üblicherweise die Endung *.raw und setzt bei der Wiedergabe die Kenntnis von Abtastrate, Bittiefe und Byte-Reihenfolge voraus (letztere ist nur unter RIFF festgelegt, nicht für rohes PCM).

Berechnung der Größe einer Audiodatei im Datenformat PCM

Pro Sekunde fallen Abtastrate · Bytes pro Sample · Anzahl der Kanäle (mono = 1, stereo = 2) an Bytes an.

Beispiel: 5 Minuten = 300 Sekunden, CD-Qualität (16 Bit = 2 Byte, 44.100 Hertz, stereo)

(44{.}100\;\textrm{Hz} \cdot 2\;\textrm{Byte} \cdot 2) \cdot 300\;\textrm{s} = 52{.}920{.}000\;\textrm{Byte} = 51{.}679{,}69\;\textrm{KB} = 50{,}5\;\textrm{MB}

Beispiel eines allgemein lesbaren WAVE-Dateiformates

RIFF-Header:

Offset Länge (in bytes) Inhalt
0 4 'RIFF'
4 4 <Dateigröße - 8>
8 4 'WAVE'

Der fmt-chunk beschreibt das Sample-Format:

Offset Länge (in bytes) Inhalt Beschreibung
12 4 'fmt ' Header Signatur
16 4 <fmt length> Länge des restlichen fmt-Headers (16 Byte)
20 2 <format tag> sample Datenformat (siehe separate Tabelle weiter unten)
22 2 <channels> Anzahl der Kanäle: 1 = mono, 2 = stereo; Mittlerweile sind auch mehr als 2 Kanäle, für surround sound, möglich. ergänzt von [1]
24 4 <sample rate> Abtastrate pro Sekunde (z.B. 44100)
28 4 <bytes/second> Sample-Rate * Block-Align
32 2 <block align> Kanäle * bits/sample / 8
34 2 <bits/sample> 8, 16 oder 24

Der Daten-Chunk enthält die Sample-Daten:

Offset Länge (in bytes) Inhalt Beschreibung
36 4 'data' Header Signatur
40 4 <length> Länge des Datenblocks
44 <bits/sample>/8 Sample Data

Sample Datenformate (Format Tag)

ID Bezeichnung
0x0001 PCM
0x0002 MS ADPCM
0x0003 IEEE FLOAT
0x0005 IBM CVSD
0x0006 ALAW
0x0007 MULAW
0x0010 OKI ADPCM
0x0011 DVI/IMA ADPCM
0x0012 MEDIASPACE ADPCM
0x0013 SIERRA ADPCM
0x0014 G723 ADPCM
0x0015 DIGISTD
0x0016 DIGIFIX
0x0017 DIALOGIC OKI ADPCM
0x0020 YAMAHA ADPCM
0x0021 SONARC
0x0022 DSPGROUP TRUESPEECH
0x0023 ECHOSC1
0x0024 AUDIOFILE AF36
0x0025 APTX
0x0026 AUDIOFILE AF10
0x0030 DOLBY AC2
0x0031 GSM610
0x0033 ANTEX ADPCME
0x0034 CONTROL RES VQLPC
0x0035 CONTROL RES VQLPC
0x0036 DIGIADPCM
0x0037 CONTROL RES CR10
0x0038 NMS VBXADPCM
0x0039 CS IMAADPCM (Roland RDAC)
0x0040 G721 ADPCM
0x0050 MPEG-1 Layer I, II
0x0055 MPEG-1 Layer III (MP3)
0x0069 Xbox ADPCM
0x0200 CREATIVE ADPCM
0x0202 CREATIVE FASTSPEECH8
0x0203 CREATIVE FASTSPEECH10
0x0300 FM TOWNS SND
0x1000 OLIGSM
0x1001 OLIADPCM
0x1002 OLICELP
0x1003 OLISBC
0x1004 OLIOPR

Literatur

  • Born, Günter, Referenzhandbuch Dateiformate. 1990, Addison Wesley Longman, in diversen überarbeiteten Auflagen
  • Born, Gunter: File Formats Handbook. 1995, ITP Boston

Weblinks


Wikimedia Foundation.

Игры ⚽ Нужна курсовая?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • wav´i|ly — wav|y1 «WAY vee», adjective, wav|i|er, wav|i|est. 1. having waves; having many waves: »wavy hair, a wavy line. 2. moving with a wavelike motion …   Useful english dictionary

  • wav — wav·i·ly; wav·i·ness; wav·ing·ly; mi·cro·wav·able; …   English syllables

  • Wav — (WAVE)  формат файла контейнера для хранения записи оцифрованного аудио потока. Под Windows этот формат чаще всего используется в качестве оболочки для несжатого звука (PCM), когда для каждого отсчёта амплитуды сигнала выделяется определённое… …   Википедия

  • WAV — steht für: ein Containerformat für Audiodaten, siehe RIFF WAVE die Partei Wirtschaftliche Aufbau Vereinigung Diese Seite ist eine Begriffsklärung zur Unterscheidung mehrerer mit demselben Wort bezeichneter Begriffe …   Deutsch Wikipedia

  • .wav — wav,   Erweiterung für Audiodateien im unkomprimierten Wave Format (Audioformate) …   Universal-Lexikon

  • WAV — [wæv] n [U] technical waveform audio a type of computer ↑file that contains sound …   Dictionary of contemporary English

  • wav — (Windows Wave) audio file format for IBM compatible personal computers which is used widely to distribute sounds over the Internet …   English contemporary dictionary

  • WAV — Infobox file format name = Waveform icon = extension = .wav mime = audio/wav audio/wave audio/x wav. [http://filext.com/file extension/WAV] type code = WAVE uniform type = com.microsoft.waveform ​audio owner = Microsoft IBM genre = audio file… …   Wikipedia

  • .wav — WAVEform audio format Waveform Extension de fichier .wav Type MIME audio/wav audio/wave Développé par Microsoft IBM Type de format fichier audio Extension du …   Wikipédia en Français

  • WAV — WAVEform audio format Waveform Extension de fichier .wav Type MIME audio/wav audio/wave Développé par Microsoft IBM Type de format fichier audio Extension du …   Wikipédia en Français

  • Wav — WAVEform audio format Waveform Extension de fichier .wav Type MIME audio/wav audio/wave Développé par Microsoft IBM Type de format fichier audio Extension du …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”