WAV

WAV (ang. waveform audio format) – format plików dźwiękowych stworzony przez Microsoft oraz IBM. WAVE bazuje na formacie RIFF, poszerzając go o informacje o strumieniu audio, takie jak użyty kodek, częstotliwość próbkowania czy liczba kanałów. WAV podobnie jak RIFF został przewidziany dla komputerów IBM PC, toteż wszystkie zmienne zapisywane są w formacie little endian. Odpowiednikiem WAV dla komputerów Macintosh jest AIFF.

Pliki WAVE mogą być zapisane przy użyciu dowolnych kodeków audio, ale zazwyczaj stosuje się nieskompresowany format PCM, w którym pliki zajmują około 172 kB na sekundę dla jakości CD. Ze względu na fakt, iż pole reprezentujące rozmiar pliku jest liczbą 32-bitową, wielkość pliku jest ograniczona do maksymalnie 4 GB.

Struktura pliku WAV

Plik WAV zbudowany jest w następujący sposób:

Offset względem
początku pliku
Rozmiar
w bajtach
NazwaOpis zawartości
0 - 34"RIFF"Początek nagłówka używany do identyfikacji formatu RIFF
4 - 74fileSizeCałkowity rozmiar pliku w bajtach pomniejszony o 8, czyli o "RIFF" i fileSize, równy jednocześnie rozmiarowi danych powiększonemu o 36 (24h), czyli o fileSize - dataSize
8 - 114"WAVE"Typ pliku używany do identyfikacji formatu WAV
12 - 154"fmt "Tzw. format chunk marker (ang.). Ostatni bajt ma wartość 32 (20h), czyli wartość ASCII dla spacji
16 - 19416 (10h)Rozmiar formatu danych w bajtach
20 - 2121Typ formatu. Wartość 1 oznacza format PCM
22 - 232channelsLiczba kanałów
24 - 274sampleRateCzęstotliwość próbkowania. Wartość standardowa wynosi 44 100 Hz
28 - 314bytesPerSecondStrumień danych w bajtach na sekundę równy iloczynowi liczby kanałów przez częstotliwość próbkowania i rozdzielczość, podzielonemu przez 8
32 - 332bytesPerSampleIloczyn liczby kanałów przez rozdzielczość, podzielony przez 8, w bajtach
34 - 352bitsPerSampleRozdzielczość w bitach na próbkę (i kanał). Wartości standardowe wynoszą 8 lub 16 (10h)
36 - 394"data"Początek danych
40 - 434dataSizeRozmiar danych w bajtach równy iloczynowi strumienia danych przez czas trwania dźwięku w sekundach

Następnie w pliku znajdują się dane dźwiękowe. Format ich zapisu uzależniony jest od przyjętej rozdzielczości. Jeśli ta jest równa 8, wówczas zbiór wartości próbki wynosi od -128 do 127, przy czym każdą taką wartość należy powiększyć o 128, otrzymując w ten sposób wartości pomiędzy 0 a 255. W przypadku zaś, gdy rozdzielczość jest równa 16, wówczas wartość próbki wynosi od -32 768 do 32 767, przy czym wartości ujemne należy powiększyć o 65 536, natomiast nieujemne pozostawiamy bez zmian, otrzymując w ten sposób wartości pomiędzy 0 a 65 535, gdzie te od 0 do 32 767 są nieujemne, zaś te od 32 768 do 65 535 - ujemne.

Linki zewnętrzne