Homepagina > © GoedGeluid.be > FAQ > W > WAV bestandsformaat

WAV bestandsformaat

zaterdag 30 november 2013, door wim

WAV is één van de allerbekendste bestandsformaten voor geluid. Velen denken dat het een Microsoft uitvinding is, maar de oorsprong is ouder. Die moeten we zoeken voor het PC tijdperk, bij Electronic Arts’ RIFF formaat (Rich Intermediate File Format). RIFF is echter bedoeld voor meer dan alleen geluid en kan in theorie ook andere data bevatten.

De bestandsextensie .wav daarentegen is bedacht door Microsoft, die het meteen nodig vonden om de mogelijkheid van compressie in te bouwen. Gecomprimeerde wav’s komen echter alleen bij Windows gebruikers voor en dan nog maar zelden. MP3 is het audio formaat dat de markt veroverd heeft als het over gecomprimeerde muziek gaat. Eigenlijk ondersteunt alleen Windows Media Player nog met ACM gecomprimeerde wav’s. Andere compressie formaten zijn mogelijk (Microsoft GSM 06.10, CELP, SBC, Truespeech, MP2 en MP3)., maar worden erg weinig gebruikt, buiten MPEG compressie. Maar bestanden in mp2 formaat worden gelukkig genoeg meestal van de extensie "mp2" voorzien, alhoewel het eigenlijk WAV bestanden zijn.

AIFF is ook gegroeid uit RIFF en ongeveer hetzelfde als WAV, op de bitrichting na. De data chunk van de ene wordt van links naar rechts gelezen, van de andere van rechts naar links. AIFF en RIFF werden beiden ontworpen door een kleine groep developers met een duidelijk idee waar ze naar toe gingen. Wav is organisch gegroeid, ontwikkeld door heel veel developers van allerlei bedrijven en uiteindelijk getrimd en uitgebreid door Microsoft. Wav is dus eerder een verwarrend geheel.

Het is een container formaat, zoals de meeste multimedia bestandsformaten. Denk hierbij aan .mov (Quicktime movie formaat), .flv (Flash), .mkv (Matroska container) en .wmv (Microsoft container).

Het WAV bestandsformaat ondersteunt alle resoluties die nodig zijn voor de pro geluidsgebruiker. Daarnaast ondersteunt het ook een aantal extra’s, zoals cue lists, playlists, associated data lists (allerlei tekst data, van take nummers tot lyrics), MIDI data en zelfs samples en instrumenten.

Dit zorgt er meteen voor dat ondanks het feit dat er niks ongewoon is aan het geluid in een "gewone" WAV, het toch wel eens misloopt bij het importeren omdat er andere informatie aanwezig kan zijn. Niet alle audio tools kunnen daarmee omgaan. Er zijn nog steeds programma’s die informatie in de wav wegschrijven die door sommige andere programma’s niet goed verteerd wordt. Deels komt dit doordat de documentatie soms vaag en incompleet is.

Grootte van de wav bestanden

Het WAV formaat is van huis uit beperkt tot 4 GB, omdat de lengte ervan uitgedrukt wordt door een 32-bit unsigned geheel getal in de header. Sommige programma’s beperken het zelfs tot 2 GB. Dat is een veiligheid, om het ook te laten werken met oudere versies van het Windows FAT schijf formaat. De oudere versies daarvan ondersteunen alleen bestanden van kleiner dan 2 GB. Extended FAT ondersteunt grotere bestanden, maar sommige toestellen kennen dat nog niet. Met name SD kaartjes van recorders, bv. zijn vaak FAT32 en beperkt.

Voor de modale gebruiker betekent dit maximaal 6,8 uren audio per bestand, als we even uitgaan van stereo bij CD kwaliteit (44.1 kHz, 16-bit), Voor professioneel meerkanaals gebruik en/of hogere sample rates en bitdieptes, kan dit echter krap worden.

Daarom kwam Sony met WAV64, voor gebruik in Sound Forge. De 64-bit header van W64 laat veel, veel grotere bestanden toe en heft dus deze beperking effectief op.

Broadcast WAV

Ook het RF64 formaat van de EBU (European Broadcasting Union) lost dit probleem op. RF64 is een gewoon wav bestand, maar als het groter wordt dan 4 GB, wordt het in meerdere delen gesplitst. Het eerste deel bevat een link naar het volgende en dat op zijn beurt weer naar het volgende, moest dat nodig zijn. Voor wie er meer over wil weten, is er de EBU Broadcast WAV Manual.

Een andere gelijkaardige uitbreiding van het WAV formaat is BWAF (Broadcast WAV Audio File). Het is echter bijna volledig binnen de beperkingen van het WAV formaat gebleven en veroorzaakt alleen een nieuwe data extensie, .bwf.

Opbouw van een Wav

Er zijn maar twee verplichte delen ("chunks") die elke WAV verplicht moet bevatten. Het eerste deel, de "format chunk" beschrijft het tweede.

De formaat chunk

Dit is één van de verplichte chunks, hij staat ook verplicht eerst in het wav bestand, net na de RIFF header en bevat gegevens zoals compressie, aantal kanalen (1-65535), grootte van de data, sample rate (1 Hz tot 4,3 GHz), gemiddelde streaming bitrate (aantal kanalen X bitdiepte / 8, afgerond naar het volgende gehele getal), bitdiepte (1-65535). De maximum waarde (16 bit, of 65.535) van deze parameters is bijna altijd ruim genoeg om ook de meeste toekomstige formaten te ondersteunen.

De data chunk

Dit is de tweede verplichte chunk en hij staat direct na de format chunk in het bestand. Deze chunk bevat meestal LPCM (Linear Pulse Code Modulation) data. Het ID is altijd "data".

Cue chunk

De Cue chunk is optioneel en bevat "cue points" of markeer punten. In combinatie met de "Playlist chunk", kan je er ook mee herhalen of "loopen". Belangrijkste gegevens zijn de positie van de cue in de track en het ID van de bijhorende audio.

Eén van de minder gebruikte velden in de Cue chunk is "dwSampleOffset", een bron van incompatibiliteit van wav bestanden. Het geeft de offset aan tov het begin van het eerste block. Maar dit is niet helemaal gedefinieerd net als bij de Playlist chunk. Het wordt gelukkig zelden gebruikt.

Playlist chunk

De optionele Playlist chunk geeft een afspeel volgorde op voor de cue points die in de Cue chunk opgegeven worden. Ook eventuele herhaling (looping) wordt hierin gespecificeerd. De delen van een playlist hebben geen voorgeschreven volgorde.

Het aantal keren dat een track herhaald wordt is ook niet gespecificeerd. Het maximum is niet opgegeven en "eeuwig" herhalen kan dus niet bij sommige software. Andere software weet dan niet wat met een zeer grote waarde toe doen. Dit is, net als bij de Cue chunk, een hiaat in de documentatie van het wav formaat.

Associated Data List

De optionele "Associated Data List" bevat teksten die bij de CuePoints van de Cue chunk horen. Er zijn enkele onderverdelingen in de "Associated Data List". de belangrijkste zijn "labl", "note" en "ltxt".

Label Chunk

Een optioneel tekst label bij de Cue points.

Eigenlijk zou dit geen optie mogen zijn als Cue points gebruikt worden.

Note Chunk

De optionele Note chunk is hetzelfde van opbouw als de "Label chunk". Een "Note chunk" bevat tekst die bij een CuePoint hoort, terwijl de "Label chunk" het CuePoint label hoort te bevatten.

Het is dus zonder meer mogelijk dat er zowel een "Note" als een "Label" is voor sommige of alle CuePoints, met verschillende tekst.

Sampler Chunk

De optionele Sampler chunk bevat de gegevens voor een midi instrument, waaronder ook looping.

Dit dupliceert dus een deel van de functies van de Cue points chunk.

Instrument chunk

De optionele Instrument chunk bevat de gegevens voor instrumenten.

De optionele "Instrument Chunk" dupliceert eigenlijk de functionaliteit van de "Sampler chunk".

Dit artikel beantwoorden

SPIP | | Overzicht van de site | De activiteit van de site opvolgen RSS 2.0