MIDI
[Wikipedia|▼Menu]
ステータスバイトでは、ノートオンやコントロールチェンジ、システムエクスクルーシブなどを定義する。データバイトは、ステータスバイトで定義したものについて、その内容や数値を指定するのに使用する。

ステータスバイトが80H - FFHのうち何であるかによって、「チャンネルメッセージ」、「システムメッセージ」に分かれる。
チャンネルメッセージ

チャンネルメッセージとは、特にチャンネルを指定して送信するMIDIメッセージのことである。チャンネルメッセージのステータスバイトは80H - EFHである。ここからさらに「チャンネルボイスメッセージ」、「チャンネルモードメッセージ」と分類される。
チャンネルボイスメッセージMIDIノートナンバー(音域)と音名、周波数の対応表

チャンネルボイスメッセージとは、音を鳴らす、止める、音色を変える、ピッチを変えるといった、音源の演奏に必要な情報に関する定義のことである。最大2つのデータバイトが続くことで、その内容・数値を決定する。

ステータスバイトの下位4ビットがMIDIチャンネル番号-1(0(0H)Hはチャンネル1、15(FH)はチャンネル16)を表している。

データバイトにて指定するノートナンバーとは、最も低い音を0、最も高い音を127と割り当てた音の高さのことであり、半音刻みとなっている。中央ハにはノートナンバー60が割り当てられ、88鍵盤のピアノで出せる音域(A0 - C8の7オクターブと短3度)はノートナンバー21 - 108と割り当てられるので、MIDIではそれよりさらに広い音域(C-1 - G9の10オクターブと完全5度)をカバーできる。また、ベロシティとは音の強さ(楽器で例えれば各弦や各鍵を弾く速さによって変化する音の強弱(強弱法))のことである。1 - 127までありmp(メゾピアノ)が64となり、127が最も強く、1が最も弱く、数値が0の場合は発音の終了(楽器で例えれば離鍵など)を表す[2]

なお、以下の説明では、これら0 - 127までの数字を、16進数で表記する。また、nはチャンネル番号を表わす。
8nH ノートオフ
音を止める命令。鍵盤楽器ではキーを離した時に送信される。ノートオフによって鳴っている音を止める。第1データバイト - ノートナンバーを指定第2データバイト - オフベロシティ値
9nH ノートオン
音を鳴らす命令。鍵盤楽器ではキーを押した時に送信される。この後ノートオフが送信されないままだと、音が鳴りっぱなしとなる。第1データバイト - ノートナンバーを指定第2データバイト - ベロシティ値なお「ノートオン・ベロシティ0」もノートオフと同じメッセージとみなされる。
AnH ポリフォニック キープレッシャー
鍵盤楽器で、キーを押した状態でさらにその圧力を変化させた場合に(いわゆるアフタータッチ)、その圧力に応じて送信される。第1データバイト - ノートナンバーを指定第2データバイト - プレッシャー値
BnH コントロールチェンジ
音量、音質など様々な要素を制御するための命令。第1データバイト - コントロールナンバー(00H - 77H)を指定 - どのパラメータをコントロールするのか指定第2データバイト - コントロール値 - コントロール番号にて指定した要素の大小や強弱を設定ただし第1データバイトが78H - 7FH(120 - 127)の場合はコントロールチェンジではなく、チャンネルモードメッセージとなる。
CnH プログラムチェンジ
音色を変える命令。00H - 7FHで、最大128種類から音色を選択できる。第1データバイト - プログラムナンバーを指定第2データバイトは使用しない。
DnH チャンネルプレッシャー
鍵盤楽器で、キーを押した状態でさらにその圧力を変化させた場合に、その圧力に応じて送信される。ポリフォニック キープレッシャーと違い、そのチャンネルの全ノートナンバーに対して適用される。第1データバイト - プレッシャー値第2データバイトは使用しない。
EnH ピッチベンド
鳴っている音のピッチを変える命令。MSB (Most Significant Byte) 128段階の1段階ずつをさらにLSB (Least Significant Byte) で128分割しているので、計16384段階の細かい指定ができる。シーケンサー上では、-8192 - 0 - 8191といった数値で表示することが多い。第1データバイト - ピッチベンド値LSB第2データバイト - ピッチベンド値MSB

ステータスバイト部のnには0H - FHが代入され、これは1チャンネル - 16チャンネルを表す。「90H 3CH 40H」というMIDIメッセージがあったとすると、これは「ノートオン、1チャンネル。3CH=60なので中央ハを鳴らす。40H=64なのでmpで鳴らす」という命令である。
チャンネルモードメッセージ

チャンネルモードメッセージとは、ある楽器は和音が出せるのか、16チャンネルは区別するのかしないのか、といったことを設定するための定義のことである。BnHで始まるがコントロールチェンジには含まれず、BnHのあとに78H - 7FHが続くと、チャンネルモードメッセージのいずれかと判断される。多くの場合、第2データバイトには00Hがダミーとして送信され、受信側も無視する。ステータスバイト部のnには0H - FHが代入され、これは1チャンネル - 16チャンネルを表す。
BnH 78H オールサウンドオフ
該当するチャンネルの発音中の音を直ちに消音する。後述のオールノートオフより強制力が強い。
BnH 79H リセットオールコントローラ
該当するチャンネルの全種類のコントロール値を初期化する。初期化されるコントロールや初期値は、受信するMIDI機器側に依存する。
BnH 7AH ローカルコントロール
鍵盤と音源を兼ねそろえたシンセサイザーの、鍵盤部と音源部の内部的な接続に関する設定。第2データバイトを指定することでオンオフを行う。00H - ローカルオフ - 鍵盤と音源が接続されていない状態。鍵盤を弾くと、MIDI OUTからMIDIメッセージは送信されるが、音源は動かない。7FH - ローカルオン - 鍵盤と音源が接続されている状態。鍵盤を弾くと、音源から音が出る。
BnH 7BH オールノートオフ
該当するチャンネルの発音中の音すべてに対してノートオフ命令を出す。ただし、音の余韻の長いものや、サスティンペダルがオンの状態では音は止まらないので、オールサウンドオフを使用する。
BnH 7CH - 7FH MIDIモード設定
7CH、7DH、7EH、7FHの4つのチャンネルモードメッセージを使いオムニモード、発音数のオンオフを組み合わせることで、4種のMIDIモードを設定できる。オムニモード - 7CH オムニオン、7DH オムニオフで設定。MIDIチャンネルを区別するかしないか。オフの場合、チャンネルに関係なく全ての情報を受信し処理、発音する。発音数 - 7EH モノモードオン、7FH ポリモードオンで設定。どちらかを設定すると片方のモードは自動的にオフになる。単音しか出せないのか、和音が出せるのかを設定する。
モード1 = 7DH オムニオン + 7FH ポリモード
MIDIチャンネルを意識せず和音演奏ができるモード。
モード2 = 7DH オムニオン + 7EH モノモード
MIDIチャンネルに関わらず、常に1音のみ鳴らすモード。
モード3 = 7CH オムニオフ + 7FH ポリモード
一般的な送受信モード。MIDIチャンネルを区別し、各チャンネル毎に和音を用いた演奏が可能なモード。
モード4 = 7CH オムニオフ + 7EH モノモード
チャンネルは区別するが、各チャンネル毎に1音しか出せないモード。たとえば6弦あるギターシンセサイザーの各弦を各チャンネルに割り当てる場合に使用する。この場合、単音で発声するチャンネルは6つとなるので、第2データバイトでは06Hを送信する。
システムメッセージ

システムメッセージとは、チャンネルに関係なくMIDIシステム全体に対する命令を行うMIDIメッセージである。システムメッセージのステータスバイトはF0H - FFHである。機能ごとに「システムエクスクルーシブメッセージ」、「システムコモンメッセージ」、「システムリアルタイムメッセージ」の分類される。
システムエクスクルーシブメッセージ詳細は「システムエクスクルーシブメッセージ」を参照

システムエクスクルーシブメッセージ(Sys-Ex、またはSysExと略記し、シスイーエックスと読む場合もある)は、MIDI機器のより細かい設定を行ったり、音色データやサンプリングデータを送受信するなど、各メーカーのMIDI機器の固有のデータのやりとりに使用できるシステムメッセージである。ステータスバイトF0Hで始まる。

MIDIメッセージは大抵2バイト程度のデータバイトで成り立つが、SysExはMIDIメッセージ中、唯一データバイト長が指定されていない。可変長のため、最後にシステムコモンメッセージとして定義されているF7H エンドオブエクスクルーシブ (EOX) を送信することでSysExの終了を表現する。
システムコモンメッセージ

システムコモンメッセージは、主にシステムリアルタイムメッセージと併用され、MIDIシーケンサーなどの同期に使用される。ステータスバイト以下にデータバイトが続くものが多い。
F1H MTCクォーターフレームメッセージ
MIDIタイムコード (MTC) の絶対時間情報を扱う。全2バイトで構成され、2バイト目で時刻、分、秒、フレームのカウントを処理する。
F2H ソングポジションポインタ
同期時にマスター側で操作したロケータ位置をスレーブ側に送信する際に使用。16分音符単位で指定できる。第1データバイトでソングポジションポインタLSB、第2データバイトでソングポジションポインタMSBを扱う。
F3H ソングセレクト
受信側のMIDI機器が複数のソング・シーケンスを扱える場合、第1データバイトでソングナンバーを選択する。
F4H 未定義

F5H 未定義
定義されず、使われていない。
F6H チューンリクエスト
アナログシンセサイザー(デジタルのそれに比べ自身の発熱や周囲の温度変化、舞台上で浴びる照明などで経時により調律が狂いやすい)などで、オシレータを再調律させるための命令。現在はアナログシンセサイザーとともにほとんど使われない。
F7H エンドオブエクスクルーシブ (EOX)
F0Hから始まるSysExの終了を示すステータスバイト。単独で機能し、データバイトを持たない。
システムリアルタイムメッセージ

システムリアルタイムメッセージは、MIDIシーケンサーなどの同期、MIDIタイミングクロックに使用される。ステータスバイト以下にデータバイトが続かず、単独の1バイトのみで機能する。リアルタイムに送信される必要があるため、最優先で送信される。
F8H タイミングクロック
絶対時間を持たないクロック情報。4分音符ごとに24カウントされる。
F9H 未定義
定義されず、使われていない。
FAH スタート

FBH コンティニュー

FCH ストップ
マスター側機器のコントロールパネルを操作したときに送信。それぞれスレーブ側機器の先頭から再生、停止中からの再生、停止を行う。
FDH 未定義
定義されず、使われていない。
FEH アクティブセンシング
突然のMIDIケーブルの断線や接触不良や出力側機器の故障などで、音が鳴りっぱなしになったりしないようにするためのフェイルセーフの仕組みである。MIDI機器間ではこのアクティブセンシングが常に送信されている。ウォッチドッグタイマーの一種である。受信側は、一度もアクティブセンシングを受けていない状態では通常通り動作するが、一度送信側からこれを受信すると、300ms(ミリ秒)以内に次のMIDIメッセージが送られてくることを期待するようになる。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:96 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef