Title.ru

Я хочу писать программы на C / C++, которые принимают входные данные с MIDI-устройства.

MIDI-устройство подключается к моему компьютеру через разъем USB.

Я ищу (реализованную на C / C++) библиотеку, которую я могу использовать для чтения MIDI-сигналов с MIDI-устройства через порт USB.

Я счастлив манипулировать данными MIDI, как только я их получаю, я просто не хочу реализовывать код для их захвата.

Я планирую написать свой код с помощью IDE Bloodshed Dev-C++ в Windows XP.

Ответов (3)

Решение

PortMidi - еще одна кроссплатформенная библиотека ввода-вывода MIDI с открытым исходным кодом, которую стоит попробовать . С другой стороны, если вы работаете с приложением типа sysex, то Direct Win32 работает достаточно легко.

Только что наткнулся на другую кроссплатформенную платформу с открытым исходным кодом, которая включает поддержку MIDI: Juce .

Также я должен отметить, что в MIDI-устройстве, подключенном через USB, нет ничего особенного. Он по-прежнему будет представлен как MIDI-устройство в Windows, и вы будете использовать стандартные MIDI-интерфейсы API (mmsystem) для связи с ним.

[Июль 2014] Я только что наткнулся на RtMidi, который выглядит красивой, компактной кроссплатформенной библиотекой C++ с открытым исходным кодом.

Ознакомьтесь с проектом с открытым исходным кодом LMMS . Это музыкальная студия для Linux, которая позволяет использовать MIDI-клавиатуры с программными инструментами. Если вы покопаетесь в исходных файлах с «midi» в названии, вы, вероятно, найдете то, что ищете.

Может быть, исходный код Джека тоже может помочь. Это звуковой драйвер для Posix-совместимых систем с множеством возможностей и поддерживает аудиоустройства USB и Firewire.