【备忘】MIDIメッセージ早見表

摘取自:https://openmidiproject.osdn.jp/documentations.html

方便以后制作MIDI的时候对照用。

MIDIメッセージ早見表

種別 名称 メッセージ配列 解説
チャンネルボイスメッセージ ノートオフ {0x8n, 0xkk, 0xvv}
n=チャンネル番号(0~F)
kk=キー(00~7F)
vv=離鍵速度(00~7F)
指定した音の発音を止める。例えばチャンネル1の中央のド(Key=60)を離鍵速度100で離すには、{0x80, 0x60, 0x64}となる。離鍵速度に対応していない入力機器の場合は、この種類のイベントではなく、ベロシティ0のノートオンがノートオフの代わりに用いられる。
ノートオン {0x9n, 0xkk, 0xvv}
n=チャンネル番号(0~F)
kk=キー(00~7F)
vv=打鍵速度(00~7F)
指定した音を発音する。ただし、vv=0の場合は、ノートオフ扱いとなる。例えばチャンネル1の中央のド(Key=60)を打鍵速度100で押すには、{0x90, 0x36, 0x64}となる。
キーアフタータッチ {0xAn, 0xkk, 0xvv}
n=チャンネル番号(0~F)
kk=キー(00~7F)
vv=圧力(00~7F)
鍵盤を押した後、さらにその鍵盤を押す圧力が変化した場合に送信される。その結果、そのキーの音量や明るさが変化することがある。
コントロールチェンジ {0xBn, 0xNN, 0xvv}
n=チャンネル番号(0~F)
NN=コントロールチェンジナンバー(00~7F)
vv=値(00~7F)
モジュレーション(CC#1)、ヴォリューム(CC#7)、パン(CC#10)、エクスプレッション(CC#11)、サスティンペダル(CC#64)、リバ ーブ(CC#91)、コーラス(CC#93)、ディレイ(CC#94)などの値を設定する。以下に代表的なコントロールチェンジナンバーとその意味を示す。コントロールチェンジナンバーは通常CC#で表す。

  • CC#0 : バンクセレクトMSB
  • CC#1 : モジュレーション
  • CC#6 : データエントリー
  • CC#7 : ボリューム
  • CC#10 : パン
  • CC#11 : エクスプレッション
  • CC#32 : バンクセレクトLSB
  • CC#64 : ホールドペダル1
  • CC#91 : リバーブセンドレベル
  • CC#93 : コーラスセンドレベル
  • CC#94 : ディレイセンドレベル
  • CC#98 : NRPN LSB
  • CC#99 : NRPN MSB
  • CC#100 : RPN LSB
  • CC#101 : RPN MSB

NRPNとRPNは、調整項目を選択してからCC#6で値を設定する。例えば、ピッチベンド・センシティビティを12(±1オクターブ)に指定するには、CC#100で0、CC#101で0、CC#6で12といったように、3つのコントロールチェンジを連続して使用する。利用可能なNRPNとRPNの値は、各音源の取扱説明書に記載されている。

プログラムチェンジ {0xCn, 0xNN}
n=チャンネル番号(0~F)
NN=プログラムチェンジナンバー(00~7F)
音色を選択する。。ただしチャンネル10(n=9)の場合は、ドラムセッ トを選択する。音色の配列は、音源により異なるが、GM/GM2/GS/XG対応の音源においては、それぞれ規格化されている。プログラムチェンジでは、128種類の音色を選択することが可能である。このメッセージの直前にコントロールチェンジのバンクセレクトMSB(CC#0)とバンクセレクトLSB(CC#32)を組み合わせて使うことにより、最大2097152種類の音色を選択することができる。すなわち、CC#0でMSB値、CC#32でLSB値、プログラムチェンジで値といったように、2つのコントロールチェンジとプログラムチェンジを連続して使用する。利用可能なバンクセレクトMSB、バンクセレクトLSB、プログラムチェンジの値は、音源の取扱説明書に記載されている。
チャンネルアフタータッチ {0xDn, 0xNN}
n=チャンネル番号(0~F)
vv=値(00~7F)
鍵盤を押した後、さらに鍵盤を押す圧力が変化した場合に送信される。その結果、そのチャンネル全体の音量や明るさが変化することがある。
ピッチベンド {0xEn, 0xMM, 0xLL}
n=チャンネル番号(0~F)
MM=値(00~7F)
LL=値(00~7F)
ピッチを連続的に変化させるのに使う。値は0~8192~16383で表す。ただし、MIDIシーケンサー上では-8192~0~8191の範囲で表記されることが多い。最低値は{0xEn, 0x00, 0x00}, 中央値は{0xEn, 0x40, 0x00}, 最高値は{0xEn, 0x7F, 0x7F}である。周波数の変化範囲はピッチベンドセンシティビティによって定義され、ピッチベンドセンシティビティが12[半音]のとき、±1オクターブとなる。
システムエクスクルーシヴメッセージ {0xF0, 0xaa, … , 0xF7}
aa=(00~7F)
音源全体の設定を操作する場合に使う。先頭バイトは0xF0で、最終バイトは0xF7であり、その間に任意長の0x00~0x7Fの配列が入る。2バイト目(あるいは2~4バイト目)はメーカー識別用のIDである。システムエクスクルーシヴメッセージは、音源の機種に依存するため、互換性が乏しい。下記に代表的なシステムエクスクルーシヴメッセージを示す。詳しくは、各音源の取扱説明書に記載されている。

  • GMシステムオフ : {0xF0, 0x7E, 0x7F, 0x09, 0x02, 0xF7}
  • GMシステムオン : {0xF0, 0x7E, 0x7F, 0x09, 0x01, 0xF7}
  • GM2システムオン : {0xF0, 0x7E, 0x7F, 0x09, 0x03, 0xF7}
  • GSリセット : {0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x00, 0x7F, 0x00, 0x41, 0xF7}
  • XGリセット : {0xF0, 0x43, 0x10, 0x4C, 0x00 0x,00, 0x7E, 0x00, 0xF7}
  • マスターボリューム : {0xF0, 0x7F, 0x7F, 0x04, 0x01, 0x00, value, 0xF7}
システムコモンメッセージ MIDIタイムコードクォーターフレーム {0xF1, 0xaa}
aa=時刻の部位と時刻の値を表す値(00~7F)
SMPTE/MTC による同期を行うために使う。このMIDIメッセージは8メッセージで1つの時刻[時:分:秒:フレーム]を表す。値を2進法で表したものを0abcdefgとすると、abc=0 のときdefgはフレームカウント下位4ビット、abc=1のときdefgはフレームカウント上位4ビット、abc=2のときdefgは秒カウント下位4 ビット、abc=3のときdefgは秒カウント上位4ビット、abc=4のときdefgは分カウント下位4ビット、nnn=5のときdefgは分カウント上位4ビット、abc=6のときdefgは時カウント下位4ビット、abc=7のときdは常に0、efはフレームレート(00は 24fps、01は25fps、02は29.97fps、03は30fps)を、gは時カウント上位1ビットをそれぞれ意味する。
ソングポジションセレクタ {0xF2, 0xLL, 0xMM}
LL=下位7ビット(00~7F)
MM=上位7ビット(00~7F)
演奏位置を指定するのに使う。値は0~16383で、6MIDIクロックを1(つまり16分音符の長さを1)として計測する。
ソングナンバー {0xF3, 0xNN}
NN=楽曲番号(00~7F)
受信デバイスが複数のシーケンスやドラムパターンを扱える場合、それらを選択するのに使う。
チューンリクエスト {0xF6} アナログシンセサイザーのチューニングのために用いられる。現在ではほとんど使われない。
システムリアルタイムメッセージ MIDIクロック {0xF8} MIDIクロックによる同期を行うときに使う。送信間隔はテンポに依存し、4分音符あたり24回の速度で流す。
スタート {0xFA} MIDIメッセージでシーケンサーの再生/停止を制御するのに使う。スタートは、シーケンスの先頭から再生開始することを意味する。ストップは停止することを意味する。コンティニューは前回停止した位置から再生を開始することを意味する。
コンティニュー {0xFB}
ストップ {0xFC}
アクティブセンシング {0xFE} ケーブルの接続をチェックするため、約300ミリ秒毎に断続的に流される。
システムリセット {0xFF} 音源を初期化するために使う。めったに使われない。

MIDIファイル内のMIDIイベント早見表

MIDIファイル内MIDIイベントのリストです。すべてのイベントはいずれかのトラックに属し、タイムスタンプの情報を持っています。

種別 イベントの種類名 解説
メタイベント シーケンス番号 シーケンスを識別するための番号(0~65535)。必要でない場合が多い。
テキスト 任意の文字列(コメントなど)。
著作権 任意の文字列(著作権情報)。最初のトラックの時刻0の位置に記述するのが一般的である。
トラック名 任意の文字列(トラック名)。すべてのトラックの先頭に記述するのが一般的である。なお、スタンダードMIDIファイルフォーマット0の場合とスタンダードMIDIファイルフォーマット1の最初のトラックの場合、このイベントはシーケンス名を表す。
インストゥルメント名 任意の文字列(使用音源名)。作者が使用に用いた音源の名前を記述する。”SC-88Pro”,”MU-128″など。省略されることが多い。
歌詞 任意の文字列(歌詞)。歌詞は、音符ひとつひとつに対応させて記述。これは表示専用であり、その発音がなされるわけではない。
マーカー 任意の文字列(マーカー)。スタンダードMIDIファイルフォーマット1においては、このイベントは最初のトラックに記述されるのが一般的である。
キューポイント 任意の文字列(キューポイント)。スタンダードMIDIファイルフォーマット1においては、このイベントは最初のトラックに記述されるのが一般的である。
プログラム名 任意の文字列(プログラム名、音源で定義されているパッチ名)。省略されることが多い。
デバイス名 任意の文字列(デバイス名、出力ポートの名前)。省略されることが多い。
チャンネルプリフィックス このトラックのMIDIチャンネルイベント以外のイベントをどのチャンネルに送るかを指定する。省略されることが多い。
ポートプリフィックス(※スタンダードMIDIファイル非標準) このトラックのMIDIチャンネルイベントやシステムエクスクルーシブイベントをどのポートに出力するのかを指定する。1台の音源のみ使用する場合は省略する。複数台の音源を使用する場合は使用する。
エンドオブトラック 各トラックの最後に必ず挿入する。各トラックの終了タイムを識別するのに使われる。このイベントを省略することは許されない。
テンポ テンポを指定する。スタンダードMIDIファイルでは、テンポの単位は[μ秒/4分音符]で保存され、その値は60000000/テンポ[BPM]で求まる。スタンダードMIDIファイルフォーマット1においては、このイベントは最初のトラックに記述されなければならない。省略された場合、120[BPM]であるものとみなす。
SMPTEオフセット MIDI時刻とSMPTE時刻とのオフセットを指定するのに使う。時:分:秒:フレーム:サブフレームで指定する。SMPTEを使用しない場合やオフセットが0の場合は省略する。
拍子記号 何分の何拍子かを指定する。データ項目は4つあり、分子、分母、4分音符あたりのクロック数(常に24)、4分音符あたりの32分音符の数(常に8)となる。なお、このイベントは表示にのみ影響を与え、演奏内容には影響を及ぼさない。スタンダードMIDIファイルでは、分母の値は2のn乗で保存される。スタンダードMIDIファイルフォーマット1においては、このイベントは、最初のトラックに記述されなければならない。省略された場合、4/4であるものとみなす。
調性記号 調性を指定する。データ項目は2つあり、シャープ又はフラットの数と、長調か短調かである。前者は、#の場合正の値で記述し、フラットの場合負の値で記述し、どちらも付かない場合0であり、有効値は-7~+7である。後者は長調は0、短調は1とする。なお、このイベントは表示にのみ影響を与え、演奏内容には影響を及ぼさない。スタンダードMIDIファイルフォーマット1においては、このイベントは、最初のトラックに記述されなければならない。省略された場合、0#major(ハ長調)であるものとみなす。
シーケンサー独自のイベント シーケンサー独自のイベントを記述するのに使う。最初の1バイト又は3バイトは、メーカーを識別するためのIDである。それに続き、メーカーの仕様書に従ったバイナリデータが記述される。
MIDIチャンネルイベント ノートオフ 鍵盤を離す。チャンネル番号(1~16)、キー番号(0~127)、ベロシティ(0~127)を指定する。
ノートオン 鍵盤を押す。チャンネル番号(1~16)、キー番号(0~127)、ベロシティ(0~127)を指定する。ただし、ベロシティ=0の場合は、ノートオフとみなす。長さは同一トラックで次の同チャンネル・同キーのノートオフイベントが出現するまでとなる。
キーアフタータッチ 鍵盤が押された後、鍵盤を押す圧力が変化したときに使う。チャンネル番号(1~16)、キー番号(0~127)、圧力(0~127)を指定する。音の変化の仕方は音源により異なるが、特に何も起こらない音源も多い。
コントロールチェンジ ボリュームなどの各種パラメータの調整をする。チャンネル番号(1~16)、コントロールチェンジナンバー(0~127)、値(0~127)を指定する。以下に代表的なコントロールチェンジナンバーとその意味を示す。コントロールチェンジナンバーは通常CC#で表す。

  • CC#0 : バンクセレクトMSB
  • CC#1 : モジュレーション
  • CC#6 : データエントリー
  • CC#7 : ボリューム
  • CC#10 : パン
  • CC#11 : エクスプレッション
  • CC#32 : バンクセレクトLSB
  • CC#64 : ホールドペダル1
  • CC#91 : リバーブセンドレベル
  • CC#93 : コーラスセンドレベル
  • CC#94 : ディレイセンドレベル
  • CC#98 : NRPN LSB
  • CC#99 : NRPN MSB
  • CC#100 : RPN LSB
  • CC#101 : RPN MSB

NRPNとRPNは、調整項目を選択してからCC#6で値を設定する。例えば、ピッチベンド・センシティビティを12(±1オクターブ)に指定するには、CC#100で0、CC#101で0、CC#6で12といったように、3つのコントロールチェンジを連続して使用する。各イベントは正しい順序で送信するために5ティック程度ずらして記述する。利用可能なNRPNとRPNの値は、各音源の取扱説明書に記載されている。

プログラムチェンジ 音色の変更をする。チャンネル番号(1~16)、プログラムナンバー(0~127)を指定する。128音色以上もつ音源の場合には、CC#0(バンクセレクトMSB)とCC#32(バンクセレクトLSB)を併用する。すなわち、CC#0で0、CC#32で2、プログラムチェンジで48といったように、3つのイベントを連続して使用する。各イベントは正しい順序で送信するために5ティック程度ずらして記述する。利用可能な音色の値は、各音源の取扱説明書に記載されている。
チャンネルアフタータッチ 鍵盤が押された後、そのチャンネルにおける鍵盤を押す圧力が変化したときに使う。チャンネル番号(1~16)、圧力(0~127)を指定する。音の変化の仕方は音源により異なるが、特に何も起こらない音源も多い。
ピッチベンド 周波数を変化させる。チャンネル番号(1~16)、値(-8192~+8191、0が中央)を指定する。周波数の変化幅はピッチベンド・センシティビティーの設定値に依存し、12の場合、±1オクターブとなる。ピッチベンド・センシティビティーはCC#101とCC#100とCC#6を用いて指定する。
システムエクスクルーシブイベント システムエクスクルーシブ(通常) 音源特有のコマンドを記述するのに使う。システムエクスクルーシブデータは0xF0で始まり0xF7で終わり、その間の値は0x00~0x7Fでなければならない。

  • GMシステムオフ : {0xF0, 0x7E, 0x7F, 0x09, 0x02, 0xF7}
  • GMシステムオン : {0xF0, 0x7E, 0x7F, 0x09, 0x01, 0xF7}
  • GM2システムオン : {0xF0, 0x7E, 0x7F, 0x09, 0x03, 0xF7}
  • GSリセット : {0xF0, 0x41, 0x10, 0x42, 0x12, 0x40, 0x00, 0x7F, 0x00, 0x41, 0xF7}
  • XGリセット : {0xF0, 0x43, 0x10, 0x4C, 0x00 0x,00, 0x7E, 0x00, 0xF7}
  • マスターボリューム : {0xF0, 0x7F, 0x7F, 0x04, 0x01, 0x00, value, 0xF7}
システムエクスクルーシブ(任意) 音源特有のコマンドを記述するのに使う。1回のシステムエクスクルーシブでは送受信が間に合わないような長いコマンドの場合(主に128バイト以上)に、コマンドを任意に分割して時間をずらして送信する場合に使う。それゆえに、最初が0xF0でないくてもよく、最後が0xF7でなくてもよいが、それ以外は0x00~0x7Fでなければならない。

コントロールチェンジ早見表

No. 2進 16進 コントロールチェンジ名 No. 2進 16進 コントロールチェンジ名
0 00000000 0x00 Bank Select MSB 64 01000000 0x40 Hold Pedal 1
1 00000001 0x01 Modulation MSB 65 01000001 0x41 Portament Pedal
2 00000010 0x02 Breath Controller MSB 66 01000010 0x42 Sostenuto Pedal
3 00000011 0x03 66 01000011 0x43 Soft Pedal
4 00000100 0x04 Foot Controller MSB 68 01000100 0x44 Legato Pedal
5 00000101 0x05 Portament Time MSB 69 01000101 0x45 Hold Pedal 2
6 00000110 0x06 Data Entry MSB 70 01000110 0x46 Sound Controller 1 (Sound Variation)
7 00000111 0x07 Channel Volume MSB 71 01000111 0x47 Sound Controller 2 (Harmonic Contents)
8 00001000 0x08 Balance MSB 72 01001000 0x48 Sound Controller 3 (Release Time)
9 00001001 0x09 73 01001001 0x49 Sound Controller 4 (Attack Time)
10 00001010 0x0A Pan MSB 74 01001010 0x4A Sound Controller 5 (Brightness)
11 00001011 0x0B Expression MSB 75 01001011 0x4B Sound Controller 6 (Decay Time)
12 00001100 0x0C Effect Control 1 MSB 76 01001100 0x4C Sound Controller 7 (Vibrato rate)
13 00001101 0x0D Effect Control 2 MSB 77 01001101 0x4D Sound Controller 8 (Vibato depth)
14 00001110 0x0E 78 01001110 0x4E Sound Controller 9 (Vibrato delay)
15 00001111 0x0F 79 01001111 0x4F Sound Controller 10
16 00010000 0x10 80 01010000 0x50
17 00010001 0x11 81 01010001 0x51
18 00010010 0x12 82 01010010 0x52
19 00010011 0x13 83 01010011 0x53
20 00010100 0x14 84 01010100 0x54 Portament Control
21 00010101 0x15 85 01010101 0x55
22 00010110 0x16 86 01010110 0x56
23 00010111 0x17 87 01010111 0x57
24 00011000 0x18 88 01011000 0x58
25 00011001 0x19 89 01011001 0x59
26 00011010 0x1A 90 01011010 0x5A
27 00011011 0x1B 91 01011011 0x5B Effect 1 Deapth (Reverb Send Level)
28 00011100 0x1C 92 01011100 0x5C Effect 2 Deapth
29 00011101 0x1D 93 01011101 0x5D Effect 3 Deapth (Chorus Send Level)
30 00011110 0x1E 94 01011110 0x5E Effect 4 Deapth (Delay Send Level)
31 00011111 0x1F 95 01011111 0x5F Effect 5 Deapth
32 00100000 0x20 Bank Select LSB 96 01100000 0x60 Data Increment
33 00100001 0x21 Modulation LSB 97 01100001 0x61 Data Decrement
34 00100010 0x22 Breath Controller LSB 98 01100010 0x62 NRPN LSB
35 00100011 0x23 99 01100011 0x63 NRPN MSB
36 00100100 0x24 Foot Controller LSB 100 01100100 0x64 RPN LSB
37 00100101 0x25 Portament Time LSB 101 01100101 0x65 RPN MSB
38 00100110 0x26 Data Entry LSB 102 01100110 0x66
39 00100111 0x27 Channel Volume LSB 103 01100111 0x67
40 00101000 0x28 Balance LSB 104 01101000 0x68
41 00101001 0x29 105 01101001 0x69
42 00101010 0x2A Pan LSB 106 01101010 0x6A
43 00101011 0x2B Expression LSB 107 01101011 0x6B
44 00101100 0x2C Effect Control 1 LSB 108 01101100 0x6C
45 00101101 0x2D Effect Control 2 LSB 109 01101101 0x6D
46 00101110 0x2E 110 01101110 0x6E
47 00101111 0x2F 111 01101111 0x6F
48 00110000 0x30 112 01110000 0x70
49 00110001 0x31 113 01110001 0x71
50 00110010 0x32 114 01110010 0x72
51 00110011 0x33 115 01110011 0x73
52 00110100 0x34 116 01110100 0x74
53 00110101 0x35 117 01110101 0x75
54 00110110 0x36 118 01110110 0x76
55 00110111 0x37 119 01110111 0x77
56 00111000 0x38 120 01111000 0x78 All Sound Off
57 00111001 0x39 121 01111001 0x79 Reset All Controller
58 00111010 0x3A 122 01111010 0x7A Local Control
59 00111011 0x3B 123 01111011 0x7B All Note Off
60 00111100 0x3C 124 01111100 0x7C Omni Mode Off
61 00111101 0x3D 125 01111101 0x7D Omni Mode On
62 00111110 0x3E 126 01111110 0x7E Mono Mode On
63 00111111 0x3F 127 01111111 0x7F Mono Mode Off

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください