Программное проигрывание MIDI с OpenAL и SF2 - PullRequest
2 голосов
/ 26 ноября 2010

Я могу создать базовый файл MIDI с нуля, проверенный с помощью TiMidity ++, и я знаю достаточно OpenAL для воспроизведения потокового источника из файла.

Мне просто интересно, возможно ли создать программу на Cвоспроизводить MIDI-файлы, читая файлы SF2 и MIDI и используя OpenAL для воспроизведения звука.Нужно ли использовать другую библиотеку?Я хочу знать заранее, потому что формат SF2 выглядит довольно сложным.

Ответы [ 2 ]

0 голосов
/ 30 августа 2012

Вам необходимо использовать CoreAudio.Создайте AUGraph с сэмплером, подключенным к IOUnit.Посмотрите на заголовочные файлы AUComponent.h в рамках AudioUnit.После настройки звукового графика вы можете воспроизвести заметку, используя следующую функцию:

MusicDeviceMIDIEvent(sampler, status, note, velocity, 0);
0 голосов
/ 04 мая 2011

Базовое аудио находится там, где оно есть!

Если вы делаете это на Mac, DLSMusicDevice делает то, что вы хотите.

если вы работаете на iOS, вам нужно будетмного «от руки», но это управляемо (также утомительно).Если вы идете по этому пути, посмотрите на пример кода «микшерский хост».

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...