繁體中文

MIDI 裡的 MSB 和 LSB 是什麼意思?

在 Mac App Store 下載 InputConfigInputConfig 在 Mac App Store 免費提供。支援 macOS 14 或以上版本,不需要帳號,不追蹤,開放原始碼。

MSB 和 LSB 是一個數字的兩半,這個數字大到一個 MIDI 資料位元組裝不下。一個資料位元組能表示 0 到 127,兩個放在一起可以表示 0 到 16,383。MSB 是最高有效位元組,也就是粗調的那一半,LSB 是最低有效位元組,也就是微調的那一半。完整的數值是 MSB 乘以 128,再加上 LSB。

這種配對是 MIDI 標準的一部分,出現在四個地方:Bank Select、彎音、CC 的微調,以及稱為 RPN 和 NRPN 的參數編號。

算出數值

MSBLSB數值
000
0127127
10128
6408,192,中間
12712716,383,最大值

MSB 的一階等於 LSB 的 128 階。很多裝置只送出和讀取 MSB,這就是為什麼大多數控制項是以 128 階移動。

用在 Bank Select

Program Change 能選到 128 種音色。要選到更多,裝置會把音色分成幾個音色庫,並由 Bank Select 先選好音色庫。

順序訊息頻道 1 的位元組(十六進位)
1CC 0,Bank Select MSBB0 00,接著是 MSB
2CC 32,Bank Select LSBB0 20,接著是 LSB
3Program ChangeC0,接著是音色編號

在 Program Change 到達之前,音色庫不會改變。如果說明書把音色庫寫成一個數字,意思就是 MSB 乘以 128,再加上 LSB。先送音色庫,最後才送音色編號。MIDI Program Change 有其餘的說明。

在彎音裡找到它們

彎音永遠在一則訊息裡帶著兩半,而且微調的那一半在前面:E0,然後是 LSB,再來是 MSB。中間,也就是沒有彎音,是 LSB 0 加上 MSB 64,也就是 8,192。彎音是唯一每次都會用到全部 16,384 階的常見訊息。MIDI 彎音解釋了它的範圍。

把 CC 和它的微調那一半配成對

控制器 0 到 31 各有一個編號大 32 的搭檔,負責帶微調的那一半。CC 1,也就是調變輪,搭配 CC 33。CC 7,音量,搭配 CC 39。想要更細緻控制的裝置會兩個都送,不需要的裝置只會讀第一個。CC 32 到 63 是 CC 0 到 31 的微調那一半。MIDI CC 清單列出了每一組配對。

在 RPN 和 NRPN 裡看到它們

一個參數編號需要兩半來選出參數,還要另外兩半來設定數值:CC 101 和 100,或 CC 99 和 98 負責選擇,而 CC 6 和 CC 38 帶著數值的 MSB 和 LSB。NRPN 就是接連送出的兩組 MSB 和 LSB。MIDI NRPN 和 RPN 會帶你走一遍。

檢查你的位元組

這個網站上的 MIDI 訊息解碼器能用單一數值組出彎音,並用十六進位、十進位和二進位顯示兩半,也能把貼上的 Bank Select 和 Program Change 位元組讀回成文字。當裝置選到錯的音色庫時,請檢查它的說明書期望 CC 0 放哪一半、CC 32 放哪一半。我做了 InputConfig,這是從遊戲手把送出 Control Change 和 Program Change 的免費 Mac App,它的 MIDI 輸出頁面列出了它送出的內容。

簡短版

  • MSB。這是粗調的那一半,每一階等於 128。
  • LSB。這是微調的那一半,每一階等於 1。
  • 數值。MSB 乘以 128 再加上 LSB,得到 0 到 16,383 的數字。

兩個 7 位元的位元組組成一個 14 位元的數字。

常見問題

MIDI 裡的 MSB 和 LSB 是什麼縮寫?

分別是最高有效位元組和最低有效位元組:把一個 14 位元的數值分在兩個 7 位元資料位元組裡的粗調與微調兩半。

我要怎麼從 MSB 和 LSB 算出 MIDI 數值?

把 MSB 乘以 128,再加上 LSB。MSB 1 加 LSB 0 是 128。MSB 127 加 LSB 127 是 16,383。

Bank Select MSB 和 LSB 是什麼?

CC 0 是 Bank Select MSB,CC 32 是 Bank Select LSB。兩個都送,再送一個 Program Change,就能選到前 128 個之外的音色庫裡的音色。

我一定要送 LSB 嗎?

常常不用。很多裝置只用 MSB。Bank Select 請查說明書:有些裝置兩個都要,有些只要一個,而且各家要的那一個不一樣。

MSB 和 LSB 哪一個先送?

對 Bank Select 和參數編號來說,通常先把 MSB 當成獨立的訊息送出。在彎音訊息裡面,則是 LSB 在前。

為什麼 MIDI 位元組只有 7 位元?

最高位元用來標記狀態位元組,也就是訊息的開頭。資料位元組把它保持為 0,剩下 7 位元,範圍是 0 到 127。

更多中文頁面

詳細指南(英文)

作者說明。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, 简体中文

在 Mac App Store 下載 InputConfig免費。macOS 14 或以上版本。不需要帳號,資料不會離開你的 Mac。 原始碼在 GitHub 上.