midi2.0系列文档教程-(二)2.UMP中的MIDI协议协商包

  • midi1.0的协议协商包

midi1.0协议协商包的格式如下:

  1. 第一个字节:为协议类型,值为 0x01;

  2. 第二个字节:为协议版本,值为 0x00;

  3. 第三个字节:为协议扩展,如果两个设备通过协议协商后均支持UMP格式的传输,那么就可以使用MIDI1.0协议的已定义扩展。扩展字段是标志位,每个标志位表示一个扩展或可选功能,其扩展标志位详情如下:

  • s值为扩展标志位的大小

    值为0时,交换的UMP大小不得超过64位,即8比特;

    值为1时,可以交换大小为96位(12字节)和128位(16字节)的UMP。这个更大的包是支持SysEx 8和混合数据集所必需的;

  • J值为减少抖动时间戳的扩展标志位

    当J值1时,应在每次MIDI1.0协议协商时使用。

当S值0和J值1时,设备能够处理大小为64位的UMP,加上UMP里JR时间戳的32位,总大小为96位(12字节)。

当S值1和J值1时,设备能够处理大小为128位的UMP,加上UMP里JR时间戳的32位,总大小为160位(20字节)。

  • midi2.0的协议协商包

midi2.0协议协商包的格式如下:

  1. 第一个字节:为协议类型,值为 0x02;

  2. 第二个字节:为协议版本,值为 0x00;

  3. 第三个字节:为协议扩展,扩展标志位只有J值,当值为1时,应在每次MIDI2.0协议协商时使用;

使用UMP格式的MIDI 2.0协议的设备能够处理大小为128位(16字节)的UMP。

J值为1时,设备能够处理128位大小的UMP,加上UMP里JR时间戳的32位,总大小为160位(20字节)。

参考资料:

https://www.midi.org/specifications/midi-2-0-specifications/midi2-core/universal-midi-packet-and-midi-2-0-protocol-specification,M2-104-UM_v1-0_UMP_and_MIDI_2-0_Protocol_Specification.pdf,16-20,20230128

资源下载: