用于从USB MIDI设备读取MIDI信号的C / C ++库

我想编写从MIDI设备获取输入的C / C ++程序。

MIDI设备使用USB连接器连接到我的PC。

我正在寻找一个(C / C ++实现的)库,我可以用来通过USB端口从MIDI设备读取MIDI信号。

一旦我得到它,我很高兴操纵MIDI数据,我只是不想为它的捕获实现代码。

我打算在Windows XP上使用Bloodshed Dev-C ++ IDE编写代码。

PortMidi是另一个值得一试的开源跨平台MIDI I / O库。 另一方面,如果您正在使用sysex类型的应用程序,那么直接使用Win32就足够了。

刚刚遇到另一个包含MIDI支持的开源跨平台框架: Juce 。

此外,我应该注意USB连接的MIDI设备没有什么特别之处。 它仍将在Windows中作为MIDI设备呈现,您将使用标准MIDI API(mmsystem)与其进行通信。

[2014年7月]我刚刚遇到了RtMidi ,它看起来是一个漂亮,紧凑,开源的跨平台C ++库。

查看开源项目LMMS 。 它是Linux的音乐工作室,包括使用MIDI键盘和软件乐器的能力。 如果你在名字中带有’midi’的源文件中挖掘,你可能会找到你正在寻找的东西。

也许Jack源代码也可能有所帮助。 它是Posix兼容系统的理想驱动器,具有很多可能性,并支持USB和Firewire音频设备。