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
[edytuj | edytuj kod]Plik WAV zbudowany jest w następujący sposób:
Offset względem początku pliku |
Rozmiar w bajtach |
Nazwa | Opis zawartości |
0 - 3 | 4 | "RIFF" | Początek nagłówka używany do identyfikacji formatu RIFF |
4 - 7 | 4 | fileSize | Cał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 - 11 | 4 | "WAVE" | Typ pliku używany do identyfikacji formatu WAV |
12 - 15 | 4 | "fmt " | Tzw. format chunk marker (ang.). Ostatni bajt ma wartość 32 (20h), czyli wartość ASCII dla spacji |
16 - 19 | 4 | 16 (10h) | Rozmiar formatu danych w bajtach |
20 - 21 | 2 | 1 | Typ formatu. Wartość 1 oznacza format PCM |
22 - 23 | 2 | channels | Liczba kanałów |
24 - 27 | 4 | sampleRate | Częstotliwość próbkowania. Wartość standardowa wynosi 44 100 Hz |
28 - 31 | 4 | bytesPerSecond | Strumień danych w bajtach na sekundę równy iloczynowi liczby kanałów przez częstotliwość próbkowania i rozdzielczość, podzielonemu przez 8 |
32 - 33 | 2 | bytesPerSample | Iloczyn liczby kanałów przez rozdzielczość, podzielony przez 8, w bajtach |
34 - 35 | 2 | bitsPerSample | Rozdzielczość w bitach na próbkę (i kanał). Wartości standardowe wynoszą 8 lub 16 (10h) |
36 - 39 | 4 | "data" | Początek danych |
40 - 43 | 4 | dataSize | Rozmiar 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
[edytuj | edytuj kod]- Lista zarejestrowanych kodeków dźwięku z identyfikatorami. Microsoft. [zarchiwizowane z tego adresu (2010-06-20)]. (ang.).
- Specyfikacja/Dokumentacja formatu WAV. sonicspot.com. [zarchiwizowane z tego adresu (2006-11-05)]. (ang.).
- WAV & BWF Metadata Guide (ang.)