我有一个通过USB带有MIDI接口的声音处理器设备。除了官方应用程序外,我还想通过PC控制设备。但是我没有命令协议说明。
我可以在usbmon的帮助下将几个USB数据包转储到设备中。他们看起来像:
0x0B 0xB0 0x00 0x00
0x0C 0xC0 0x05 0x00
如果我从我的应用发送此命令,则设备将激活程序5。
该协议似乎是MIDI,但是如果我遵循该协议并尝试与设备的其他功能进行交互,则不会获得预期的结果。
因此,我正在寻找任何帮助以使其正常运行。例如,我需要学习如何选择效果或控制音量和其他参数。
问候,
德米特里
最佳答案
您可以在Universal Serial Bus Device Class Definition for MIDI Devices和MIDI规范中找到所需的内容。
您的示例包含两个数据包,每个数据包包含一个MIDI事件。可以将它们解码如下:
cable: 0
event: control change
channel number: 0
controller number: 0 (bank select)
controller value: 0
cable: 0
event: program change
channel number: 0
program number: 5
关于c - USB Midi协议(protocol)了解,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34383761/