Чтение волновых файлов для преобразования в моно (Minix 3)

Я собираюсь начать работу над проектом для Minix 3 (на C).

Моя идея состоит в том, чтобы создать что-то вроде музыкального плеера. Я хочу иметь возможность читать файлы (WAV), а затем преобразовывать их в поток частот, отправляемых на Таймер 2. Поскольку, насколько я знаю, нет простого способа читать настоящие музыкальные файлы, я подумал о подходе к реальные частоты в блоке, в простую моно кривую, отправленную на таймер 2. Ок, выдает:

  1. Я прочитал и научился читать заголовки wav, но нигде не могу найти, что означают данные в блоке данных. Как мне это интерпретировать?

  2. Моя первоначальная идея состояла в том, чтобы сделать настоящий музыкальный проигрыватель, но на моих занятиях мы не научились работать со звуковой платой в Minix 3. Есть ли какой-нибудь учебник, где я могу этому научиться?

  3. Насколько я мог понять, C уже является библиотекой для управления звуком (BASS). Можно ли и как установить его в Minix 3?

  4. Наконец, это способ сделать все это проще?


person ikyr9999    schedule 13.11.2011    source источник


Ответы (1)


Файлы WAV не являются "потоком частот". Он содержит серию образцов, отформатированных в соответствии с информацией, написанной в шапке.

В лучшем из миров вы просто настроили свою звуковую карту для обработки формата данных, указанного в заголовке, тогда вам просто нужно продолжать предоставлять необработанные данные в фрагментах «DATA» в буферы данных вашей звуковой карты.

Как это делается в Minix 3, выходит за рамки этого ответа (я просто не знаю, как Minix вообще обрабатывает звук), но я уверен, что это будет большим подспорьем для понимания основ цифрового звука.

person speakman    schedule 03.02.2012