MIDI規格の豆知識
・以下に解説してある内容は知らなくても問題はありませんが、知っていると便利な知識です。基本的にMIDI規格1.0 を元に編集してあります。
1.MIDI規格
・MIDI規格では、楽器の様々な演奏動作に関してそれぞれのMIDIメッセージが定義されています。
…例えばメッセージ送出側が「ド」の音を要求する(鍵盤を押す)と受信側のMIDI音源は現在選択されている音色で「ド」の音を発音するという仕組みです。
…例えばメッセージ送出側が「ド」の音を要求する(鍵盤を押す)と受信側のMIDI音源は現在選択されている音色で「ド」の音を発音するという仕組みです。
2.MIDIメッセージの種類
・MIDIメッセージには大きく2つに分類することができます。
1.MIDIチャンネルごとに独立した演奏情報を伝えるためのチャンネルメッセージ
2.MIDI接続されたシステム全体をコントロールするためのシステムメッセージ
1.MIDIチャンネルごとに独立した演奏情報を伝えるためのチャンネルメッセージ
2.MIDI接続されたシステム全体をコントロールするためのシステムメッセージ
・チャンネルメッセージ ・システムメッセージ
│ │
├ボイス ├エクスクルーシブ
│ ├ノートオン │ └エクスクルーシブ
│ ├ノートオフ │
│ ├ポリフォニックキープレッシャー ├コモン
│ ├コントロールチェンジ │ ├クォータフレーム
│ ├プログラムチェンジ │ ├ソングポジションポインタ
│ ├チャンネルプレッシャ │ ├ソングセレクト
│ └ピッチベンドチェンジ │ ├チューンリクエスト
│ │ └エンドオブエクスクルーシブ
└モード │
├オールサウンドオフ └リアルタイム
├リセットオールコントローラー ├タイミングクロック
├ローカルコントロール ├スタート
├オールノートオフ ├コンティニュー
├オムニオフ ├ストップ
├オムニオン ├アクティブセンシング
├モノフォニックオン └システムリセット
└ポリフォニックオン
・ランニングステータス
…ランニングステータスとは、チャンネルメッセージを送信する際に、直前のメッセージのステータスバイトと同一である場合、ステータスバイトを省略して送信できるという決まりのことです。3.ステータスバイトとデータバイト
・多くのMIDIメッセージは複数のバイト(※1byte=8bit)で構成されています。一般的にバイトと最下位ビットをLSB(Least Significant Bit)、最上位ビットをMSB(Most Significant Bit)という表現をします。
よって、ステータスバイトの値は80hからFFhまで
データバイトの値は00hから7Fhまでになります。
ステータスバイト データバイト
[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)
4.MIDIチャンネル
・チャンネルメッセージはチャンネル番号をステータスバイトの下位4ビットに付けて送出します。受信側はそのチャンネル番号によって、メッセージがどのチャンネルに対応するのかを判断します。
…チャンネル番号はステータスバイトの下位4ビットで表現するため、4ビットで表現できる0〜15(0h〜Fh)の計16チャンネルということになります。
…チャンネル番号はステータスバイトの下位4ビットで表現するため、4ビットで表現できる0〜15(0h〜Fh)の計16チャンネルということになります。
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
■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は各メーカーによって自由に利用されるため互換性は無い。
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をつけるのが慣例。
■8/GM2について
[GMレベル 2、GMレベル 1の主な比較]
項目 GMレベル 2 GMレベル 1
--------------------------------------------------------------------------
同時発音数 32以上 24以上
--------------------------------------------------------------------------
音色数
メロディー音色 256 以上 128 以上
SFX 音色 規定無し 規定無し
ドラム/SFXキット 9 以上 1 以上
--------------------------------------------------------------------------
リズムチャンネル 従来のチャンネル10に加え、 リズムチャンネルは
チャンネル11をリズム チャンネル10のみ
チャンネルとして使用可能
--------------------------------------------------------------------------
エフェクト リバーブとコーラスを搭載 規定無し
--------------------------------------------------------------------------
コントロールチェンジ
システムエクスクルーシブ 音色の一時的な変更、 規定無し
各パートのエフェクト設定
などのためのコントロール
チェンジ信号、システムエ
クスクルーシブ信号を一部
汎用化
--------------------------------------------------------------------------