Чтение волновых файлов для монофонического преобразования (Minix 3) - PullRequest
1 голос
/ 13 ноября 2011

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

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

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

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

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

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

1 Ответ

0 голосов
/ 03 февраля 2012

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

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

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

...