HOME > MIDI規格の豆知識

MIDI規格の豆知識


・以下に解説してある内容は知らなくても問題はありませんが、知っていると便利な知識です。基本的にMIDI規格1.0 を元に編集してあります。

1.MIDI規格

・MIDI規格では、楽器の様々な演奏動作に関してそれぞれのMIDIメッセージが定義されています。
…例えばメッセージ送出側が「ド」の音を要求する(鍵盤を押す)と受信側のMIDI音源は現在選択されている音色で「ド」の音を発音するという仕組みです。

Go Top

2.MIDIメッセージの種類

・MIDIメッセージには大きく2つに分類することができます。
 1.MIDIチャンネルごとに独立した演奏情報を伝えるためのチャンネルメッセージ
 2.MIDI接続されたシステム全体をコントロールするためのシステムメッセージ

 ・チャンネルメッセージ         ・システムメッセージ
  │                   │
  ├ボイス                ├エクスクルーシブ    
  │ ├ノートオン            │ └エクスクルーシブ
  │ ├ノートオフ            │
  │ ├ポリフォニックキープレッシャー  ├コモン
  │ ├コントロールチェンジ       │ ├クォータフレーム
  │ ├プログラムチェンジ        │ ├ソングポジションポインタ
  │ ├チャンネルプレッシャ       │ ├ソングセレクト
  │ └ピッチベンドチェンジ       │ ├チューンリクエスト
  │                   │ └エンドオブエクスクルーシブ
  └モード                │
    ├オールサウンドオフ        └リアルタイム
    ├リセットオールコントローラー     ├タイミングクロック
    ├ローカルコントロール         ├スタート
    ├オールノートオフ           ├コンティニュー
    ├オムニオフ              ├ストップ
    ├オムニオン              ├アクティブセンシング
    ├モノフォニックオン          └システムリセット
    └ポリフォニックオン
・ランニングステータス …ランニングステータスとは、チャンネルメッセージを送信する際に、直前のメッセージのステータスバイトと同一である場合、ステータスバイトを省略して送信できるという決まりのことです。

Go Top

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

・多くのMIDIメッセージは複数のバイト(※1byte=8bit)で構成されています。一般的にバイトと最下位ビットをLSB(Least Significant Bit)、最上位ビットをMSB(Most Significant Bit)という表現をします。

  ステータスバイト       データバイト
  [1][-][-][-][-][-][-][-]   [0][-][-][-][-][-][-][-]
   7  6  5  4  3  2  1  0     7  6  5  4  3  2  1  0 (bit)
  └上位4bit┘└下位4bit┘
  メッセージ チャンネル番号
…それぞれのバイトの「bit7(最上位)」で「ステータスバイト」なのか「データバイト」なのかを区別します。ステータスバイトは「bit7」が常に「1」データバイトは「bit7」が「0」になります。
  よって、ステータスバイトの値は80hからFFhまで
      データバイトの値は00hから7Fhまでになります。

   ステータスバイト   データバイト
   1 0 0 0 0 0 0 0(80h) 0 0 0 0 0 0 0 0(00h)
      :          :
   1 1 1 1 1 1 1 1(FFh) 0 1 1 1 1 1 1 1(7Fh)
Go Top

4.MIDIチャンネル

・チャンネルメッセージはチャンネル番号をステータスバイトの下位4ビットに付けて送出します。受信側はそのチャンネル番号によって、メッセージがどのチャンネルに対応するのかを判断します。

…チャンネル番号はステータスバイトの下位4ビットで表現するため、4ビットで表現できる0〜15(0h〜Fh)の計16チャンネルということになります。

Go Top

5.メッセージ一覧

・ここでは全てを解説できないので、最も基本的なノートオンメッセージを例にして解説し、一覧を掲載しました。

 ノートオンメッセージ(発音)

  ステータスバイト   データバイト     データバイト
  [  9 ][  n ]   [ ノート番号 ]   [ ベロシティ ]
  └上位┘└下位┘

  n      =チャンネル番号
  ノート番号 =0〜127(0h〜7Fh) ※ピアノの中央のCは「60」
  ベロシティ =0〜127(0h〜7Fh)

●チャンネルメッセージ

  ボイス
   メッセージ          フォーマット
   -------------------------------------------------------------------
   ノートオン          9nH Note#  Velosity ※n=チャンネル
   ノートオフ          8nH Note#  Velosity
   ポリフォニックキープレッシャ AnH Note#  Pressure
   コントロールチェンジ     BnH Control# Data
   プログラムチェンジ      CnH Program#
   チャンネルプレッシャ     DnH Pressure
   ピッチベンドチェンジ     EnH Data1  Data2
 (※コントロールナンバーについては■6/コントロールナンバー表をご覧下さい)

  モード
   メッセージ          フォーマット
   -------------------------------------------------------------------
   オールサウンドオフ      BnH 78 00
   リセットオールコントローラ  BnH 79 00
   ローカルコントロール     BnH 7A Data
   オールノートオフ       BnH 7B 00
   オムニオフ          BnH 7C 00
   オムニオン          BnH 7D 00
   モノフォニックオン      BnH 7E 00
   ポリフォニックオン      BnH 7F 00

●システムメッセージ

  エクスクルーシブ
   メッセージ          フォーマット
   -------------------------------------------------------------------
   エクスクルーシブ       F0H ID 可変(F7h) 

  コモン
   メッセージ          フォーマット
   -------------------------------------------------------------------
   MTCクォーターフレーム   F1H Data 
   ソングポジションポインタ   F2H Data1 Data2
   ソングセレクト        F3H Data 
   チューンリクエスト      F6H  
   エンドオブエクスクルーシブ  F7H 

  リアルタイム
   メッセージ          フォーマット
   -------------------------------------------------------------------
   タイミングクロック      F8H
   スタート           FAH
   コンティニュー        FBH
   ストップ           FCH
   アクティブセンシング     FEH
   システムリセット       FFH
Go Top

■6/コントロールナンバー表

・コントロールナンバーは0〜119の 120種類定義されていて(※120〜127はモードメッセージに予約されている)14ビット連続可変、7ビット連続可変、特殊タイプ、拡張タイプに区別され番号がつけられています。

 ・14ビット連続可変
   MSB(上位)  LSB(下位)
   No.  Hex    No.  Hex  機能 
   -------------------------------------------------------------------
    0  00H   32  20H  バンクセレクト
    1  01H   33  21H  モジュレーションデプス
    2  02H   34  22H  ブレスコントロール
    3  03H   35  23H  (−−−)
    4  04H   36  24H  フットコントロール
    5  05H   37  25H  ポルタメントタイム
    6  06H   38  26H  データエントリー
    7  07H   39  27H  メインボリューム
    8  08H   40  28H  バランスコントロール
    9  09H   41  29H  (−−−)
   10  0AH   42  2AH  パンポット
   11  0BH   43  2BH  エクスプレッション
   12  0CH   44  2CH  エフェクトコントロール1
   13  0DH   45  2DH  エフェクトコントロール2
   14  0EH   46  2EH  (−−−)
   15  0FH   47  2FH  (−−−)
   16  10H   48  30H  汎用操作子−1
   17  11H   49  31H  汎用操作子−2
   18  12H   50  32H  汎用操作子−3
   19  13H   51  33H  汎用操作子−4
   20-31 14H-1FH  52-63 34H-3FH (−−−)

 ・7ビット連続可変
   No.  Hex   機能
   -------------------------------------------------------------------
   64  40H  ホールド1(ダンパー)
   65  41H  ポルタメント
   66  42H  ソステヌート
   67  43H  ソフトペダル
   68  44H  レガートフットスイッチ
   69  45H  ホールド2(フリーズ)
   70  46H  サウンドコントローラー1(サウンドバリエーション)
   71  47H  サウンドコントローラー2(ハーモニックインテンシティ)
   72  48H  サウンドコントローラー3(リリースタイム)
   73  49H  サウンドコントローラー4(アタックタイム)
   74  4AH  サウンドコントローラー5(ブライトネス)
   75-79 4BH-4FH(−−−)
   80  50H  汎用操作子−5
   81  51H  汎用操作子−6
   82  52H  汎用操作子−7
   83  53H  汎用操作子−8
   84  54H  ポルタメントコントロール
   85-90 55H-5AH(−−−)
   91  5BH  汎用エフェクト1(リバーブ)
   92  5CH  汎用エフェクト2(トレモロ)
   93  5DH  汎用エフェクト3(コーラス)
   94  5EH  汎用エフェクト4(セレステ)
   95  5FH  汎用エフェクト5(フェイザ)

 ・RPN-NRPN
   No.  Hex   機能
   -------------------------------------------------------------------
   96  60H  データインクリメント
   97  61H  データデクリメント
   LSB      MSB 
   No.  Hex   No.  Hex  機能
   98  62H  99  63H  NRPN
   100  64H  101  65H  RPN

 ※102-119(66H-77H)は未定義
 ※120-127(78H-7FH)はモードメッセージに予約

 ※RPN  (レジスタード・パラメータ・ナンバー)
  NRPN (ノンレジスタード・パラメータ・ナンバー)
 … RPNとNRPNはリアルタイムでの音色変化や演奏表現に使われる。RPN は万国共通。
 NRPNは各メーカーによって自由に利用されるため互換性は無い。
Go Top

7.参考資料


 ・数字の表記
 10進  0  1  2  3  4  5  6  7  8  9  10  11  12  13  14   15
  2進 000 001 010 011 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111
 16進  0  1  2  3  4  5  6  7   8   9   A   B   C   D   E   F

 ・2進数から10進数への変換
  例)1011
   1×(2の3乗) +0×(2の2乗) +1×(2の1乗) +1×(2の0乗)
  =8+0+2 +1
  =11

 ・10進数と16進数の対応表
     0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15
   -------------------------------------------------------------------
    00H 01H 02H 03H 04H 05H 06H 07H 08H 09H 0AH 0BH 0CH 0DH 0EH 0FH

    16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
   -------------------------------------------------------------------
    10H 11H 12H 13H 14H 15H 16H 17H 18H 19H 1AH 1BH 1CH 1DH 1EH 1FH

    32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
   -------------------------------------------------------------------
    20H 21H 22H 23H 24H 25H 26H 27H 28H 29H 2AH 2BH 2CH 2DH 2EH 2FH

    48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
   -------------------------------------------------------------------
    30H 31H 32H 33H 34H 35H 36H 37H 38H 39H 3AH 3BH 3CH 3DH 3EH 3FH

    64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
   -------------------------------------------------------------------
    40H 41H 42H 43H 44H 45H 46H 47H 48H 49H 4AH 4BH 4CH 4DH 4EH 4FH

    80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
   -------------------------------------------------------------------
    50H 51H 52H 53H 54H 55H 56H 57H 58H 59H 5AH 5BH 5CH 5DH 5EH 5FH

    96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
   -------------------------------------------------------------------
    60H 61H 62H 63H 64H 65H 66H 67H 68H 69H 6AH 6BH 6CH 6DH 6EH 6FH
 
    112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
   -------------------------------------------------------------------
    70H 71H 72H 73H 74H 75H 76H 77H 78H 79H 7AH 7BH 7CH 7DH 7EH 7FH 

  ※2進数表記の場合は数字の後ろに「B」10進数の場合は「D」16進数の場合
  はHをつけるのが慣例。
Go Top

■8/GM2について


 [GMレベル 2、GMレベル 1の主な比較]
 項目           GMレベル 2          GMレベル 1
 --------------------------------------------------------------------------
 同時発音数        32以上            24以上
 --------------------------------------------------------------------------
 音色数
  メロディー音色     256 以上           128 以上
   SFX 音色        規定無し           規定無し
   ドラム/SFXキット    9 以上            1 以上
 --------------------------------------------------------------------------
 リズムチャンネル     従来のチャンネル10に加え、  リズムチャンネルは
              チャンネル11をリズム     チャンネル10のみ
              チャンネルとして使用可能
 --------------------------------------------------------------------------
 エフェクト        リバーブとコーラスを搭載   規定無し
 --------------------------------------------------------------------------
 コントロールチェンジ
 システムエクスクルーシブ 音色の一時的な変更、      規定無し
              各パートのエフェクト設定
              などのためのコントロール
              チェンジ信号、システムエ
              クスクルーシブ信号を一部
              汎用化
 --------------------------------------------------------------------------
Go Top