简体中文
什么是 MIDI NRPN?
InputConfig 在 Mac App Store 免费提供。支持 macOS 14 或更高版本,无需账户,不追踪,开源。
NRPN,也就是非注册参数编号(Non-Registered Parameter Number),是一种控制比 128 个 Control Change 编号更多设置的办法。它由按顺序发送的普通 Control Change 消息组成:CC 99 和 CC 98 选择哪个参数,然后 CC 6 和 CC 38 设定它的数值。这样就有 16,384 个参数,每个参数的数值最多有 16,384 步。RPN 用 CC 101 和 CC 100 以同样的方式工作,对应一小批所有厂商共用的参数。
这套办法是 MIDI 标准的一部分。哪个 NRPN 编号做什么由每台合成器的厂商决定,列表在它的手册里。
逐条消息读懂 NRPN
| 步骤 | 消息 | 带的内容 |
|---|---|---|
| 1 | CC 99 | 参数编号的粗调一半(MSB) |
| 2 | CC 98 | 参数编号的细调一半(LSB) |
| 3 | CC 6,Data Entry | 数值的粗调一半(MSB) |
| 4 | CC 38 | 数值的细调一半(LSB),如果这个参数用到它 |
CC 96 和 CC 97 可以接在后面代替数值,把选中的参数加一或减一。前两条消息指向一个设置,后两条消息去改它。
认识已注册的那些
RPN,也就是注册参数编号(Registered Parameter Number),用 CC 101 和 CC 100 选择参数,数值同样用 CC 6 和 CC 38。它的编号在每台设备上意思都一样。
| RPN(MSB,LSB) | 参数 |
|---|---|
| 0,0 | 弯音范围,单位是半音和音分 |
| 0,1 | 微调音高 |
| 0,2 | 粗调音高 |
| 127,127 | 空值:没有选中任何参数 |
注册的意思是大家都认同,非注册的意思是由厂商自己定义。MIDI 弯音轮解释了 RPN 0 设定的范围。
走一个例子
在通道 1 上把弯音范围设为 12 个半音,需要四条消息,再用两条消息把门关上。
| 字节(十六进制) | 含义 |
|---|---|
| B0 65 00 | CC 101 为 0:RPN,粗调一半是 0 |
| B0 64 00 | CC 100 为 0:RPN,细调一半是 0,于是选中了弯音范围 |
| B0 06 0C | CC 6 为 12:十二个半音 |
| B0 26 00 | CC 38 为 0:没有额外的音分 |
| B0 65 7F,B0 64 7F | RPN 空值,这样之后的 CC 6 不会意外改动任何东西 |
最后要发送空值,否则下一条 Data Entry 消息还会落在同一个参数上。把其中任何一条粘贴到 MIDI 消息解码器里就能检查。
区分 NRPN 和 CC
| Control Change | NRPN | |
|---|---|---|
| 一次改动需要的消息数 | 一条 | 三条或四条 |
| 参数数量 | 128 个,很多有固定用途 | 16,384 个 |
| 数值范围 | 0 到 127 | 最多 0 到 16,383 |
| 编号由谁定义 | 常用的由 MIDI 标准定义 | 每个厂商自己定义 |
CC 简单但粗,NRPN 精细但要发更多消息。
知道什么时候需要用它
合成器手册里你想要的设置只以 NRPN 列出时,或者 128 步太粗、你能听出跳动时,就用 NRPN。其他情况下,普通的 CC 更容易,大多数 DAW 一秒钟就能 MIDI 学习它。我做的免费 Mac App InputConfig 用游戏手柄发送的是单条消息:音符、Control Change、弯音轮或 Program Change。如果合成器把同一个设置也做成了 CC,就用 CC。MIDI CC 列表给出了标准的那些的名字。
简短总结
- NRPN。CC 99 和 98 选择,CC 6 和 38 设定。由厂商定义。
- RPN。CC 101 和 100 选择,CC 6 和 38 设定。属于标准。
- 收尾。发送 127 和 127 来取消选择。
一个 NRPN 是四条 Control Change 合起来当一条用。
常见问题
NRPN 是什么的缩写?
Non-Registered Parameter Number,即非注册参数编号。非注册的意思是每个厂商自己决定它的编号控制什么。
哪些 CC 编号组成 NRPN?
CC 99 和 CC 98 选择参数,CC 6 和 CC 38 设定它的数值。CC 96 和 CC 97 用来把数值加一或减一。
NRPN 和 RPN 有什么区别?
它们的工作方式相同。RPN 用 CC 101 和 CC 100 选择,编号是标准的,比如弯音范围。NRPN 用 CC 99 和 CC 98 选择,编号由厂商决定。
NRPN 和 CC 有什么区别?
CC 是一条消息,数值从 0 到 127。NRPN 是按顺序发送的三条或四条 CC 消息,可以触及 16,384 个参数,数值最高到 16,383。
怎样通过 MIDI 设置弯音范围?
发送 RPN 0:CC 101 为 0,CC 100 为 0,然后用 CC 6 给出半音数,用 CC 38 给出音分。最后把 CC 101 和 CC 100 都发为 127 来结束。
为什么我的合成器无视 NRPN?
四条消息必须按顺序到达合成器所用的通道,编号必须是它的手册里列出的,而且有些合成器需要在设置里打开 NRPN 接收。
更多中文页面
详细指南(英文)
作者说明。Ryleigh Newman 开发了 InputConfig,因为双手活动不便,每天都用手柄操作自己的 Mac。本页译自英文。Mac 的语言设为简体中文时,App 的主要按钮和菜单显示为中文,本页使用这些名称,并在括号中附上英文名称。App 的其他部分和网站的其他页面都是英文。
本页的其他语言版本: English, العربية, Čeština, Dansk, Deutsch, Español, Suomi, Français, עברית, Magyar, Bahasa Indonesia, Italiano, 日本語, 한국어, Norsk, Nederlands, Polski, Português, Русский, Slovenčina, Svenska, ไทย, Türkçe, Українська, Tiếng Việt, 繁體中文
免费。macOS 14 或更高版本。无需账户,数据不会离开你的 Mac。 源代码在 GitHub 上.