Я хочу писать программы на C / C ++, которые принимают данные с MIDI-устройства.
Устройство MIDI подключается к моему ПК с помощью разъема USB.
Я ищу (реализованную на C / C ++) библиотеку, которую можно использовать для считывания MIDI-сигналов с MIDI-устройства через порт USB.
Я счастлив, манипулируя данными MIDI, как только я их получаю, я просто не хочу реализовывать код для их захвата.
Я планирую написать свой код, используя Bloodshed Dev-C ++ IDE для Windows XP.
PortMidi - это еще одна кроссплатформенная библиотека ввода-вывода MIDI с открытым исходным кодом, на которую стоит обратить внимание. С другой стороны, если вы работаете с приложением типа sysex, то прямой Win32 работает достаточно легко.
Просто наткнулся на еще один кроссплатформенный фреймворк с открытым исходным кодом, который включает поддержку MIDI: Juce .
Кроме того, я должен отметить, что в MIDI-устройстве, подключенном через USB, нет ничего особенного. Он по-прежнему будет представлен как устройство MIDI в Windows, и вы будете использовать стандартные API MIDI (mmsystem) для связи с ним.
[Июль 2014] Я только что натолкнулся на RtMidi, который выглядит как хорошая компактная кроссплатформенная библиотека C ++ с открытым исходным кодом.
Проверьте проект с открытым исходным кодом LMMS . Это музыкальная студия для Linux, которая включает возможность использовать MIDI-клавиатуры с программными инструментами. Если вы покопаетесь в исходных файлах с именем 'midi', вы, вероятно, найдете то, что ищете.
Может быть, исходный код Джека тоже может помочь. Это звуковой драйвер для Posix-совместимых систем с множеством возможностей и поддержкой аудиоустройств USB и Firewire.