WAV

WAV (англ. waveform audio format) — формат аудіофайлу, розроблений компаніями Microsoft та IBM. WAVE базується на форматі RIFF, поширюючи його на інформацію про такі параметри аудіо, як застосований кодек, частота дискретизації та кількість каналів. WAV як і RIFF передбачався для комп'ютерів IBM PC, тому всі змінні записані у форматі little endian. Відповідником WAV для комп'ютерів PowerPC є AIFF.

Хоча файли WAVE можуть бути записані за допомогою будь-яких кодеків аудіо, зазвичай використовується нестиснений PCM, який призводить до великих обсягів файлу (близько 172 кБ на секунду для CD-якості). Іншим недоліком файлу є обмеження обсягу до 4 ГБ, через 32-бітну змінну. Формат WAV був частково витіснений стисненими форматами, проте, завдяки своїй простоті, надалі знаходить широке використання в процесі редагування звуку та на переносних аудіопристроях, як програвачі та цифрові диктофони.

Канонічний формат файлу

WAVE файл складається з двох частин: заголовку файлу і області даних.

Канонічний формат WAVE файлу починається з RIFF заголовку і двох підсекцій: "fmt " і "data". Підсекція "fmt " описує параметри даних звукозапису. У підсекції даних "data" міститься розмір даних і фактичні дані звукозапису.


Структура WAV файлу
Позиція (HEX)ПозиціяРозмірНазваПояснення
  • RIFF Заголовок
0000 04 байтиChunkIDМістить літери "RIFF" в ASCII кодуванні

(0x52494646 у порядку байт big-endian)

0004 44 байтиChunkSize36 + SubChunk2Size, або більш точно: 4 + (8 + SubChunk1Size) + (8 + SubChunk2Size)

Це розмір всього файлу в байтах, не враховуючи 8 байтів перших двох полів: ChunkID і ChunkSize.

0008 84 байтиFormatМістить літери "WAVE"

(0x57415645 у порядку байт big-endian).

  • Підсекція "fmt "
000C 124 байтиSubchunk1IDМістить літери "fmt "

(0x666d7420 у порядку байт big-endian).

0010 164 байтиSubchunk1SizeПриймає значення 16 для формату кодування PCM.

Це розмір області цієї підсекції, що слідує після цього поля.

0014 202 байтаAudioFormatPCM = 1 (Лінійне квантування)

Значення відмнінні від 1 вказують на наявність конкретного

кодування аудіо даних.

0016 222 байтаNumChannelsКількість звукових каналів. Моно = 1, Стерео = 2, і т.д.
0018 244 байтиSampleRateЧастота дискретизації у Герцах. Наприклад, 8000, 44100, інші.
001С 284 байтиByteRate= SampleRate * NumChannels * BitsPerSample/8
0020 322 байтаBlockAlign= NumChannels * BitsPerSample/8

Кількість байт, яка міститься в одному семплі враховуючи кількість каналів.

0022 342 байтаBitsPerSampleКількість біт в одному семплі. Так звана "глибина" чи точність звучання.

8, 16, 32, і так далі.

2 байта ExtraParamSize Розмір поля з параметрами. Якщо PCM, ці два поля ExtraParamSize і ExtraParams не записуються.
X ExtraParams Місце для запису додаткових параметрів
  • Підсекція "data"
0024 364 байтиSubchunk2IDМістить літери "data"

(0x64617461 у порядку байт big-endian).

0028 404 байтиSubchunk2SizeРозмір даних звукозапису в байтах, які містяться в наступному полі.

Кількість семплів * NumChannels * BitsPerSample/8

002С 44XDataФактичні дані звукозапису.

Програми редактори

Програми відтворювачі

Посилання


This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.