什么是 MIDI 2.0?UMP、32 位和 MIDI-CI 详解

MIDI 从八十年代起就已存在,MIDI 1.0 至今仍在使用。但在精确控制现代软件乐器时,它就力不从心了。MIDI 2.0 弥补了这些不足。下面介绍它背后的原理,以及 KnobShift 为何从头到尾都基于 MIDI 2.0 构建。

什么是 MIDI 2.0?

MIDI 2.0 是 2020 年推出的新一代 MIDI 标准。它的主要新增内容包括:

  • 一种新的消息格式:Universal MIDI Packet(UMP);
  • 力度和控制器等数值的更高分辨率;
  • MIDI-CI(Capability Inquiry),让设备之间可以彼此对话。

MIDI 2.0 在设计上与 MIDI 1.0 兼容。UMP 也可以承载 MIDI 1.0 消息。

什么是 Universal MIDI Packet(UMP)?

MIDI 1.0 以连续的单字节流发送数据。UMP 则将消息打包成由 32 位字组成的固定数据包,根据消息不同,长度为 32、64、96 或 128 位。这带来了几项优势:

  • 有足够空间容纳高分辨率数值。
  • 不再只有 16 个通道,而是有 16 个组,每组 16 个通道。
  • 同一种格式可用于不同的传输方式,例如 USB 或网络。

7 位与 32 位:分辨率为什么重要?

MIDI 1.0 中传统的控制变化(CC)数值为 7 位,也就是从 0 到 127 只有 128 级。在音量控制上你几乎察觉不到。但如果缓慢转动滤波器的截止频率,就可能听到一级一级的跳变,这通常被称为“拉链”噪声。

MIDI 2.0 以 32 位表示控制器,也就是超过四十亿级。即使是非常细微、缓慢的动作,也能无阶梯地传到插件。MIDI 2.0 还新增了 Assignable Controllers,每个通道有数千个可自由分配的控制器,同样为 32 位。

什么是 MIDI-CI?

MIDI-CI 是 Capability Inquiry(能力查询)的缩写。它让两台设备可以互相发现,并询问对方能做什么。MIDI 1.0 几乎没有这样的机制:控制器发送数值时,并不知道另一端是否收到了、收到了什么。

MIDI-CI 包括以下部分:

  • Discovery: 设备相互识别。
  • Profiles: 针对特定类型设备约定的标准映射。
  • Property Exchange: 交换结构化数据。

什么是 Property Exchange?

借助 Property Exchange,一台设备可以以结构化 JSON 数据的形式查询或设置另一台设备的信息。例如,一个通道上所有控制器及其名称的列表(ChCtrlList 资源)。设备还可以订阅变化,之后会自动收到新的数值。

对于控制插件来说,这正是关键所在:你不必再手动把控制器映射到 CC 编号。另一端会描述有哪些参数,以及它们叫什么。

KnobShift 如何使用 MIDI 2.0?

KnobShift 全面基于 MIDI 2.0 构建:

  • iPad 与 Mac 之间的所有消息都以 UMP 传输,通过 USB 线或无线局域网上的 Network MIDI 2.0(USB、无线局域网)。
  • 每个插件参数都以 32 位 Assignable Controller 发送。
  • iPad App 和 KnobShift Companion 通过 MIDI-CI 自动互相发现。
  • 通过 Property Exchange,Companion 将当前聚焦插件的参数发送到 iPad。App 据此自动构建界面,并按振荡器、滤波器、包络等分区整理。
  • 数值、显示文本、焦点变化、旁通,以及用于触摸自动化的控件触碰,也都通过 Property Exchange 传输。

由于连接是双向的,当你在 DAW 中回放自动化时,iPad 上的控件也会随之移动。详见用 KnobShift 录制自动化。

需要 MIDI 2.0 硬件吗?

使用 KnobShift 不需要。你需要一台运行 macOS 14 或更高版本的 Mac、一台装有 KnobShift App 的 iPad;如需使用无线局域网,还需要 macOS 26.4 或更高版本。要开始使用,请参阅在 Mac 上安装 KnobShift。关于 MIDI 2.0 和 KnobShift 的问题,欢迎在论坛提问。

常见问题

MIDI 2.0 控制器有多少级?

一个 32 位数值有超过四十亿级,而传统的 7 位 MIDI 1.0 控制器只有 128 级。

MIDI-CI 和 Property Exchange 有什么区别?

MIDI-CI 是两台设备互相发现并询问对方功能的机制。Property Exchange 是其中的一部分,用于交换结构化数据,例如所有参数的列表。

使用 MIDI 2.0 需要新的线缆吗?

不一定。MIDI 2.0 可以通过 USB 或网络等方式运行,KnobShift 两种都使用。