6

我正在启动一个通过蓝牙进行无线 MIDI 连接的项目。据我所知,BT 规范中没有定义 MIDI 配置文件。

我想知道你们中的一些人是否有兴趣分享有关在 BT 上使用 MIDI 的最佳方式的经验,尤其是关于延迟问题。

我的项目基于 BT 低能耗 (BTLE),我现在正在尝试找到要使用的最佳 BT 配置文件,可能是串行端口 RFCOMM 现有配置文件,还是新的自定义配置文件?

任何提示将不胜感激。最佳杰罗姆

4

1 回答 1

4

像 RFCOMM 这样的配置文件不属于 BTLE,而是属于蓝牙经典。

在音乐应用程序中,您应该关心延迟。从第一个字节开始的时间是从 MIDI 键盘发送到它到达目的地的时间真的很重要。SPP / RFCOMM 中没有确切的波特率,但吞吐量取决于两侧。 http://snapshot.bluecove.org/bluecove-examples/bluecove-tester/speed.html

如果您输入 MIDI(31250 BAUD),通过“通道”发送,通过 MIDI(31250 BAUD)发送,那么您需要查看 2 件事:1)吞吐量,必须足够大以“接收”和“源” ' Midi In 和 Midi Out 2) 延迟,必须足够快以使其在“音乐上”准确。

一个 Midi ON 事件大约需要 30 个信号位,因此您每秒可以发送大约 104 个 Midi 事件。延迟约为 10 毫秒。

在 iOS 上,如果您违反建议,最快的连接间隔(大约 20 个字节的 1 个块)约为 19 毫秒,如果您遵循建议,则为 39 毫秒。总延迟将是:Midi In (10ms) + BTLE GATT (up to 39ms) + Midi Out (10ms) = 60ms。比普通 MIDI 电缆慢 6 倍。最小 BTLE 连接间隔为 7.5 毫秒,但您会在最低级别丢失数据包,所以我们只说 10 毫秒:Midi In (10ms) + BTLE (10ms) + Midi Out (10ms) = 30ms。还不错,但也不是很令人印象深刻。在每个连接间隔中,您可以打包大约 20 字节,因此应该有足够的带宽或吞吐量。

看看这个 BTLE RFCOMM 项目:http: //support.connectblue.com/display/PRODBTSPA/Bluetooth+Low+Energy+Serial+Port+Adapter+-+Getting+Started

于 2013-04-17T07:18:50.950 回答