欢迎光临散文网 会员登陆 & 注册

MIDI 中的 MSB 和 LSB

2023-05-07 14:18 作者:徐唯轶  | 我要投稿

MIDI 中的 MSB 和 LSB
一次学会 MIDI 控制器

徐唯轶

建个系统来提质增效降本
专栏:工程师聊音乐设备

2023-05-07


什么是 MSB 和 LSB

Elektron Analog Drive 这款效果器为例

在其 MIDI 列表中有这样的描述:

8 bits 7 in MSB, 1 in LSB

8位(数据),(其中)7(位数据)在 MSB,1(位数据)在 LSB。


这里 MSB 和 LSB 是数字信息领域的基础名称:

MSB:Most Significant Bit 最高有效位

LSB:Least Significant Bit 最低有效位


位 Bit

在理解 MSB LSB 之前,我们先要理解 Bit (位)。

在数字信息领域,通讯的基础都是二进制,即 0/1 信号,一个信号就是一个 Bit (位)。

8 bits 就是一个信息,由 8 个信号组成,最小为 0000 0000,最大为 1111 1111。

其中 0000 0000 转换成十进制为 0。

1111 1111 转换成十进制为 255。


MSB LSB 与 Bit 关系

“8 bits 7 in MSB, 1 in LSB”

8位(数据),(其中)7(位数据)在 MSB,1(位数据)在 LSB。

这句话,就是 MSB 负责 8 位信号的前 7 位,LSB 负责 8 位信号的后 1 位。

以数数的方式来说,MSB 是从最高,或者最左边开始数 7 位,而 LSB 是从最低,或者最右边开始数 1 位。


为什么需要 MSB 和 LSB

MIDI 1.0 体系下,信号位数最大 7,即数据范围为 0 ~ 127。

如果以台阶来看,从 0 到 最大,中间就有 127 阶。或者说“分辨率”、“像素点”就是 128 (含)。

而模拟信号领域,目前仍假定为无限“分辨率”。

用有限的 128 “分辨率”去控制模拟信号,在高级设备中,就可能差点意思,如15寸屏幕分辨率从开始的 720P,1080P,到现在 4K。

所以,对于高端效果器,这个“分辨率”越高越好。


在 MIDI 体系下,就诞生了用 2 段数据组成更多位数“更高分辨率”的方案。

而组成大数(头部数据)的就为 MSB,组成小数(尾部数据)的就是 LSB。

比如我们买东西时,咨询的价格,往往是 2500 多,这就是 MSB。而真到了成交时,价格往往会变成 2599,或者 2501 等。


为什么是 8 位?

从基础数据上看,MSB 最大支持 7 位,LSB 也是 7 位。那合并后的最大位数可以是 14 位。

而在控制旋钮的层面上,8 位是最常见的方案。


这是因为程序编制中,偏向 2 的倍数。所以,2 位,4 位,8位,12位,16 位是较常见的选择。(注:12 位是折中方案)

MIDI 本身也是 8 位,只是将其中一位用于数据校验,所以只有 7 位有效数据。

而传统数控模电产品的本身旋钮控制上,基准“分辨率”也是 8 位。因为 7 位即以下有些少,16 位对于多数设备,以及使用者可能难以被感知。

所以在这类应用中,8 位成为了一个最常见的选择。

也许未来产业升级,整个硬件水平、消费能力、和用户辨识度上升,12 位,甚至 16 位会成为主流。


怎么设置 MSB LSB?

回到 Elektron Analog Drive 这个案例。

当 MSB 给出 108 这个值时,对应 7 位数据为 1101 100

而 LSB 给出 1 数值时,对应 1 位数据为 1

两者组合成 1101 1001,对应十进制就是 217。


其他应用

用 MSB LSB 控制参数,这类应用相对不多。因为 MIDI 控制,是数字领域。

最常见的数字效果器,还是各类综合效果器,在参数设置上,最符合人性就是 0 ~ 100,也就说 0 ~ 127 已经超过了应用的需求。

只有数控模电这类高端效果器,也会产生更高“分辨率”的需求。


但如果仅谈 MSB LSB 这类双组合控制概念,使用最多的是预设控制。在动则 300 ~ 400 的预设数量面前,7 位 128 的数量完全不够看,所以预设跳转往往是双指令, 用 CC 控制分组(MSB),用 PC 选择组内对应预设(LSB)


以上就是 MIDI 中 MSB 和 LSB 的全部内容


MIDI 中的 MSB 和 LSB
一次学会 MIDI 控制器

徐唯轶

建个系统来提质增效降本
专栏:工程师聊音乐设备

2023-06-24


MIDI 中的 MSB 和 LSB的评论 (共 条)

分享到微博请遵守国家法律