C# — Читаем формат WAV

Формат WAV файла
4 байта, char[4] — RIFF
4 байта, Int32    — Количество байт до конца файла, после этого (размер файла минус 8 байт)
4 байта, char[4] — WAVE
4 байта, char[4] — fmt (четверый символ пробел, с кодом 32)
4 байта, Int32    — 16 в десятичной (зарезервированая константа)
2 байта, Int16    — Формат (1- PCM, 2 — другие)
2 байта, Int16    — Количество каналов (1- моно, 2 — стерео)
4 байта, Int32    — Частота дискретизации (количество отсчетов в секунду по каждому из каналов)

4 байта, Int32    — Байт в секунду (количество байт в секунду по всем каналам)
2 байта, Int16    — 4 в десятичной (зарезервированная константа)
2 байта, Int16    — Разрядность АЦП/ЦАП (8, 12, 16) бит

4 байта, char[4] — data
4 байта, Int32    — Количество байт в секции данных (после секции данных идет еще информация о файле)

Итого в шапке 44 байта. Далее идет секция данных. Если разрядность 16 бит и 2 канала, то в первый блок будет состоять из  2 байт первого канала и 2 байт второго канала. Второй блок будет таким же, и так далее. После секции данных может следовать секция описания файла, которую можно приводить к строке ASCII
 
 
 
 

Об авторе zotovandrey

Разработчик программного обеспечения
Запись опубликована в рубрике Программирование. Добавьте в закладки постоянную ссылку.

Оставьте комментарий