简体中文

什么是 MIDI SysEx?

在 Mac App Store 下载 InputConfig这款应用完全免费。无需创建账户。没有订阅,没有麻烦的下载,也没有任何锁定的功能。针对 Apple 芯片优化。

SysEx 是 System Exclusive 的缩写,是 MIDI 里用来表达标准消息说不了的一切内容的消息。它以字节 F0 开头,指明它是给哪个厂商的,带着需要的任意多个数据字节,最后以 F7 结束。厂商用它来做音色转储、固件更新,以及没有 Control Change 编号的设置。不认识这个厂商的设备会忽略整条消息。

这个格式是 MIDI 标准的一部分。日常的 MIDI 工作大多碰不到它,最后一节会说明什么时候可以不管它。

读懂这条消息

部分字节(十六进制)含义
开始F0System Exclusive 开始
厂商 ID一个字节,或以 00 开头的三个字节哪个厂商的设备应该读取它
数据任意多个字节,每个 00 到 7F厂商定义的任何内容
结束F7System Exclusive 结束

SysEx 没有 MIDI 通道。有些厂商在数据里放一个设备编号,这样就能指定好几台中的某一台。

厂商 ID 和 F7 之间的一切,只有那个厂商说它是什么意思,它才是什么意思。MIDI 消息解码器能读取粘贴进去的字节,并报告一条 System Exclusive 消息有多长。

认识通用消息

有两个厂商 ID 不属于任何厂商。7E 标记与时序无关的通用消息,7F 标记通用实时消息。任何设备都可以回应它们。

消息字节(十六进制)作用
Identity RequestF0 7E 7F 06 01 F7请每台设备报告它的厂商、型号和版本
General MIDI OnF0 7E 7F 09 01 F7让 General MIDI 乐器进入它的标准状态
Master VolumeF0 7F 7F 04 01,两个数值字节,F7设置整台设备的音量

Identity Request 是询问设备是什么的标准办法。

它用来做什么

  • 音色转储。把合成器的音色存到电脑里,再发回去,这是 SysEx 管理工具的工作。
  • 固件更新。很多设备把新固件当作一长串 SysEx 消息来接收。
  • 深层设置。没有 Control Change 编号的参数,通过厂商的编辑器 App 来编辑。
  • 采样和批量传输。设备需要通过 MIDI 搬运的任何大块数据。

SysEx 搬运数据,而其他消息用来演奏音乐。

在 Mac 上发送和接收它

  • 管理工具或编辑器 App。厂商自己的编辑器,或者 SysEx 管理工具,把文件发送给设备,并记录设备发回的内容。
  • 正确的端口。设备必须已连接,并且在 音频MIDI设置 的 MIDI Studio 里处于在线状态。
  • 浏览器。网页需要单独的、更强的权限才能使用 SysEx,因为它可以改写设备。本站大多数 MIDI 工具不会请求这个权限。MIDI SysEx 监视器是会请求的那一个,所以你可以在 Chrome、Edge 或 Firefox 里读取转储,或发送 Identity Request。

只给设备发送它自己的厂商为它发布的 SysEx。Mac 上的 音频MIDI设置 讲了 MIDI Studio 窗口。

找一个 SysEx 资料库

资料库是一种 App,把设备发送的内容保存为 .syx 文件,并在以后把文件发回去。这是在你改动任何东西之前,备份合成器音色的常用办法。

  • 你:连接设备,检查它列在音频MIDI设置的 MIDI Studio 窗口里,然后打开资料库或厂商自己的编辑器,把这台设备选为端口。
  • 资料库:录下设备发送的转储,并把它保存为 .syx 文件。
  • 检查:保存的文件不是空的。在向设备发送任何东西之前,先备份它。

想快速看一眼转储,或者在浏览器里发送 Identity Request 或 .syx 文件,MIDI SysEx 监视器可以在 Chrome、Edge 和 Firefox 里使用。Safari 没有 Web MIDI,它自己的页面做了说明。Mac 上的 SysEx 资料库页面一步步讲了过程,以及转储失败时怎么办。在向设备发送任何东西之前,先把它的音色备份保存下来。

日常控制就别管它

音符、旋钮、踏板和音色切换都有标准消息,映射工具用的就是这些。我做的免费 Mac App InputConfig 绑定音符、Control Change、弯音、触后、Program Change 和走带消息,除了触后,发送的也是同一批。System Exclusive 不在其中。如果一个控件有 CC 编号,就不需要 SysEx 去触及它。MIDI CC 列表显示哪些编号是标准的。

MIDI 视图下的 InputConfig Live Visualizer,显示旋钮转动时它的 CC 编号和数值在变化。
图 1:InputConfig Live Visualizer 显示旋钮转动时它的 CC 编号和数值在变化。
InputConfig 编辑器显示三行按钮,为音量、声像和混响发送固定的 Control Change 数值。
图 2:日常控制用不着 SysEx。这里三个按钮用普通的 Control Change 把音量设为 100,声像设在中间,混响设为 40。

总结

  • 形状。以 F0 开头,然后是厂商 ID,然后是数据,以 F7 结束。
  • 含义。除了通用消息,由厂商决定。
  • 用途。用于转储、固件,以及没有 CC 的设置。

SysEx 是 MIDI 里装厂商想发送的任何东西的信封。

常见问题

SysEx 是什么的缩写?

System Exclusive。这个名字的意思是消息专属于某一个厂商的系统:其他厂商的设备会忽略它。

SysEx 消息是什么格式?

它以 F0 开头,然后是一个字节或三个字节的厂商 ID,然后是任意多个 00 到 7F 的数据字节,最后以 F7 结束。

SysEx 文件是什么?

一个通常以 .syx 结尾的文件,里面有一条或多条 SysEx 消息,比如一组合成器音色或一次固件更新。

SysEx 会损坏设备吗?

错误的数据可能覆盖音色,或者中断固件更新。只发送厂商为那个确切型号发布的文件,并且先备份。

Mac 上有 SysEx 资料库吗?

有。许多厂商提供自己的编辑器,独立的资料库 App 把设备的转储保存为 .syx 文件,并把它发回去。浏览器工具可以在 Chrome、Edge 或 Firefox 里读取转储或发送文件。

InputConfig 能发送 SysEx 吗?

不能。InputConfig 绑定并发送音符、Control Change、Pitch Bend、Program Change 和走带消息,也读取触后。System Exclusive 不在其中,所以它既不能发送转储,也不能读取转储。

更多中文页面

简体中文页面

详细指南(英文)

作者说明。Ryleigh Newman 开发了 InputConfig,因为双手活动不便,每天都用手柄操作自己的 Mac。本页译自英文。Mac 的语言设为简体中文时,InputConfig 会以简体中文显示。网站的部分页面只有英文。

本页的其他语言版本: English, Español, Français, Italiano, 日本語, Nederlands, Português, Русский, ไทย

在 Mac App Store 下载 InputConfig免费。macOS 14 或更高版本。无需账户,数据不会离开你的 Mac。 源代码在 GitHub 上。