2

我正在使用 C++ 中的 Juce 框架处理 MIDI 效果(一个修改传入 MIDI 的 VST 插件生成新数据并将其转发出去)。我发现在技术上可以使用每个样本生成新的 MIDI 消息,使我的 MIDI 流以 16 到 24 位每秒 41,000 次或更多次。这对于 MIDI 硬件来说似乎完全不可能处理。

当我决定通过 USB 连接新旧硬件合成器的 MIDI 带宽时,我必须遵守任何准则或规则吗?

编辑:我应该补充一点,对于我想要做的事情,更高的带宽会有所帮助,但应该与 Arturia Minibrute 等硬件一起使用。我正在尝试做一些新颖的事情,例如将包络和 LFO 应用于调制和音高轮。

4

1 回答 1

5

DIN 电缆上的 MIDI 以 31250 位/秒的速度运行,即 3125 字节/秒。

USB MIDI 规范没有指定任何带宽,但底层 USB 批量传输协议隐含地允许接收设备决定何时接受新数据包。换句话说,USB MIDI 设备可以决定它的运行速度,但没有简单的机制来确定这个限制(特别是如果您的操作系统只是丢弃设备驱动程序无法足够快地传递的 MIDI 消息)。

USB/MIDI 接口以 3125 字节/秒的速度运行。不涉及“真实” MIDI 接口的 USB MIDI 设备可能运行得更快;例如,我的 SC-8820 可以处理大约 10 KB/s。

实际上,您无法知道某个通用 MIDI 端口后面的硬件是什么。除非您对设备有专门的了解,否则您应该使用 3125 字节/秒的限制。

于 2015-04-09T07:20:40.187 回答