日本語
MIDIのMSBとLSBとは?
InputConfigはMac App Storeで無料です。macOS 14以降に対応し、アカウントもトラッキングもありません。オープンソースです。
MSBとLSBは、MIDIのデータバイト1つに収まらない数を2つに分けた半分ずつです。データバイトが持てるのは0から127です。2つ合わせると、0から16,383まで持てます。MSB(最上位バイト)が粗い半分で、LSB(最下位バイト)が細かい半分です。全体の値は、MSBに128を掛けて、LSBを足したものです。
この組み合わせはMIDI規格の一部で、4か所に出てきます。バンクセレクト、ピッチベンド、CCの細かい制御、そしてRPNとNRPNと呼ばれるパラメーター番号です。
値を計算する
| MSB | LSB | 値 |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 127 | 127 |
| 1 | 0 | 128 |
| 64 | 0 | 8,192、中央 |
| 127 | 127 | 16,383、最大 |
MSBの1ステップは、LSBの128ステップに相当します。多くの機器はMSBだけを送受信します。そのため、ほとんどの操作部は128段階で動きます。
バンクセレクトで使う
プログラムチェンジで選べる音色は128個です。それ以上を選ぶために、機器は音色をバンクに分け、バンクセレクトで先にバンクを選びます。
| 順番 | メッセージ | チャンネル1のバイト(16進数) |
|---|---|---|
| 1 | CC 0、バンクセレクトMSB | B0 00、続いてMSB |
| 2 | CC 32、バンクセレクトLSB | B0 20、続いてLSB |
| 3 | プログラムチェンジ | C0、続いてプログラム |
バンクは、プログラムチェンジが届くまで切り替わりません。マニュアルがバンクを1つの数で示しているときは、MSB×128にLSBを足した値です。先にバンクを送り、プログラムは最後に送ります。残りはMIDIプログラムチェンジで説明しています。
ピッチベンドで見つける
ピッチベンドは、いつも両方の半分を1つのメッセージで運びます。細かい半分が先で、E0、LSB、MSBの順です。中央、つまりベンドなしは、LSBが0でMSBが64、値は8,192です。ピッチベンドは、毎回16,384段階をすべて使う、数少ない一般的なメッセージです。範囲はMIDIピッチベンドで説明しています。
CCと細かい半分を組にする
コントローラー0から31には、それぞれ32大きい番号に、細かい半分を運ぶ相手がいます。モジュレーションホイールのCC 1は、CC 33と組になります。ボリュームのCC 7は、CC 39と組です。細かい制御が欲しい機器は両方を送り、そうでない機器は最初の1つだけを読みます。CC 32から63は、CC 0から31の細かい半分です。すべての組は、MIDI CC一覧で見られます。
RPNとNRPNで見る
パラメーター番号では、パラメーターを選ぶのに2つ、値を設定するのにさらに2つが必要です。CC 101と100、またはCC 99と98が選択を行い、CC 6とCC 38が値のMSBとLSBを運びます。NRPNは、MSBとLSBの組を2つ、続けて送ったものです。例は、MIDI NRPNとRPNで順に追えます。
バイトを確かめる
このサイトのMIDIメッセージデコーダーは、1つの値からピッチベンドを組み立て、両方の半分を16進数、10進数、2進数で表示します。貼り付けたバンクセレクトとプログラムチェンジのバイトも、言葉に読み戻します。機器が違うバンクに着いたときは、マニュアルがCC 0とCC 32のどちらにどの半分を求めているかを確かめてください。私は、ゲームコントローラーからコントロールチェンジとプログラムチェンジを送る無料のMacアプリInputConfigを作っています。送る内容はMIDI出力のページに一覧があります。
短くまとめると
- MSB。粗い半分で、1ステップが128に相当します。
- LSB。細かい半分で、1ステップが1に相当します。
- 値。MSBに128を掛けてLSBを足すと、0から16,383の数になります。
7ビットのバイト2つで、14ビットの数が1つできます。
よくある質問
MIDIのMSBとLSBは何の略ですか?
最上位バイト(most significant byte)と最下位バイト(least significant byte)の略です。7ビットのデータバイト2つに分けた、14ビット値の粗い半分と細かい半分です。
MSBとLSBからMIDI値を計算するには?
MSBに128を掛けて、LSBを足します。MSB 1、LSB 0なら128です。MSB 127、LSB 127なら16,383です。
バンクセレクトのMSBとLSBとは?
CC 0がバンクセレクトMSB、CC 32がバンクセレクトLSBです。最初の128個より先のバンクにある音色を選ぶには、両方を送ってから、プログラムチェンジを送ります。
LSBは必ず送る必要がありますか?
必要ないことも多いです。多くの機器はMSBだけを使います。バンクセレクトはマニュアルで確かめてください。両方が必要な機器も、片方だけでよい機器もあり、どちらが必要かも機器によって違います。
MSBとLSBはどちらが先ですか?
バンクセレクトとパラメーター番号では、通常、MSBが独立したメッセージとして先に送られます。ピッチベンドのメッセージの中では、LSBが先です。
MIDIのバイトはなぜ7ビットだけなのですか?
最上位のビットは、メッセージの始まりであるステータスバイトの印です。データバイトはそのビットを0にしておくので、残りは7ビットで、範囲は0から127になります。
日本語のページ
くわしいガイド(英語)
このページを書いた人。 Ryleigh NewmanはInputConfigを開発しています。手がうまく動かないため、毎日コントローラーで自分のMacを操作しています。このページは英語から翻訳したものです。Macの言語が日本語のとき、アプリの主なボタンとメニューは日本語で表示されます。このページではその名前を使い、英語の名前をかっこに添えています。アプリのほかの部分とサイトのほかのページは英語です。
ほかの言語で読む: 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にあります.