日本語

MIDIのMSBとLSBとは?

Mac App StoreでInputConfigをダウンロード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と呼ばれるパラメーター番号です。

値を計算する

MSBLSB値
000
0127127
10128
6408,192、中央
12712716,383、最大

MSBの1ステップは、LSBの128ステップに相当します。多くの機器はMSBだけを送受信します。そのため、ほとんどの操作部は128段階で動きます。

バンクセレクトで使う

プログラムチェンジで選べる音色は128個です。それ以上を選ぶために、機器は音色をバンクに分け、バンクセレクトで先にバンクを選びます。

順番メッセージチャンネル1のバイト(16進数)
1CC 0、バンクセレクトMSBB0 00、続いてMSB
2CC 32、バンクセレクトLSBB0 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, 繁體中文, 简体中文

Mac App StoreでInputConfigをダウンロード無料。macOS 14以降。アカウント不要で、データがMacの外に出ることはありません。 ソースコードはGitHubにあります.