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

31

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

MIDI设备通过USB连接器连接到我的电脑上。

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

一旦我获取到MIDI数据,我就可以愉快地进行数据操作了,我只是不想实现其捕获代码。

我计划在Windows XP上使用Bloodshed Dev-C++ IDE编写我的代码。

3个回答

22

PortMidi是另一个值得一试的开源跨平台MIDI I/O库。 若您正在开发sysex类型的应用程序,则直接使用Win32足够简单。

我刚刚发现了另一个包含MIDI支持的开源跨平台框架:Juce

此外,我应该指出,USB连接的MIDI设备并没有什么特别之处。 它仍然会在Windows中显示为MIDI设备,并且您将使用标准的MIDI API(mmsystem)与其通信。

[2014年7月] 我刚刚发现了一个看起来很不错、紧凑、开源的跨平台C++库:RtMidi


刚刚看了一下PortMidi,需要Java SDK,算了。 - Mi Po
@MiPo 你在哪里看到的?看起来是跨平台的 C 代码,没有任何 Java 依赖。 - sean e

1

看看开源项目LMMS。它是一个适用于Linux的音乐工作室,包括使用软件乐器的MIDI键盘功能。如果你在源文件中搜索名称带有“midi”的文件,你可能会找到你需要的东西。


1

也许Jack的源代码也会有所帮助。它是一个针对符合Posix标准的系统的音频驱动程序,具有很多功能,并支持USB和Firewire音频设备。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接