Библиотека C/C++ для чтения MIDI-сигналов с MIDI-устройства USB.

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

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

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

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

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


person David    schedule 06.08.2008    source источник


Ответы (3)


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

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

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

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

person sean e    schedule 09.05.2009
comment
Только что посмотрел на PortMidi, нужен Java SDK, нет - person Mi Po; 07.05.2020
comment
@MiPo Где ты это видишь? Похоже, это кроссплатформенный C без каких-либо зависимостей от Java. - person sean e; 08.05.2020

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

person andrewrk    schedule 06.08.2008

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

person bernhardrusch    schedule 27.08.2008