MIDIメッセージ概要
MIDI規格では、楽器のいろいろな演奏動作に対してMIDIメッセージが定義されています。 例えば、キーボードでいえば鍵盤を押す・離す、ペダルを踏む・離すといったような動作にしたがってメッセージを送出します。



MIDIメッセージを受け取った受信側はメッセージの種類によって所定の音を合成したり、他の動作をしたりします。 例えばメッセージ送出側のキーボードに”ド”の鍵盤が押されると受信側のMIDI機器(シンセサイザ)は現在選択されている楽器音色(これも予めMIDIメッセージによって設定されている)で”ド”の音を合成しアンプに出力され、 私たちの耳に”ド”の音として聞こえるわけです。


MIDIメッセージの種類

様々な楽器やその動作に対応するため、多くのMIDIメッセージが定義されています。



MIDIメッセージは複数のパート別に独立したコントロールをするためのチャンネルメッセージと、 MIDIシステム全体をコントロールするためのシステムメッセージに大別できます。

チャンネルメッセージでは最大16パートをコントロールするため、MIDIチャンネルという概念が用いられます。 さらにチャンネルメッセージはノート(音符)情報などのボイスメッセージとボイスメッセージの受信状態を設定するモードメッセージに区別されます。
ボイスメッセージには、ノートオン・オフ(音を出す・止める)、プログラムチェンジ(音色切替)、ピッチベンド等があります。

システムメッセージはシーケンサやリズムマシンなどにおける同期関係を扱うコモンメッセージとタイミングクロックなどのリアルタイム処理などを行うリアルタイムメッセージ、 音色パラメータなど機器によって統一できないメッセージのためのエクスクルーシブメッセージがあります。
それぞれのメッセージについては後で詳しく説明していきます。


ステータスバイトとデータバイト

多くのMIDIメッセージは複数のバイトで構成されていて、メッセージの種類をあらわすステータスバイトとデータバイトからで構成されます。


それぞれのバイトのビット7がそのバイトがステータスバイトなのかデータバイトなのかを区別しています。 ステータスバイトはビット7が常に1に、データバイトはビット7が0になります。 したがってステータスバイトの値は80hからFFhまでとなり、データバイトの値は00hから7Fhまでになります。


MIDIチャンネル

すべてチャンネルメッセージはチャンネル番号をステータスバイトの下位4ビットに付けて送出します。 受信側はそのチャンネル番号によって、そのメッセージがどのチャンネルに対してのメッセージなのかを判別できます。 つまりチャンネル番号によってパート(楽器)の区別をしています。



チャンネル番号はステータスバイトの下位4ビット(下位ニブル)であらわされるので、 4ビットで表現できる0〜15(0h〜Fh)の16種類の値をとることができ、よってMIDIチャンネルは最大16チャンネルまで表現できます。

では、まずはボイスメッセージから説明していきます。