MIDI
'''MIDI'''(ミディ、'''M'''usical '''I'''nstrument '''D'''igital '''I'''nterface)は、日本のMIDI規格協議会(JMSC、現在の社団法人[[音楽電子事業協会]])と国際団体の[[MIDI Manufacturers Association]] (MMA) により策定された、[[電子楽器]]の演奏データを機器間で[[デジタル]]転送するための世界共通規格。物理的な送受信回路・[[インタフェース (情報技術)|インタフェース]]、通信[[プロトコル]]、[[ファイルフォーマット]]など複数の規定からなる。 == MIDIの用途 == MIDIは主に音楽の演奏や制作に利用される。MIDI規格に沿って作られたデータ、すなわちMIDIデータは、[[デジタルオーディオワークステーション|DAW]]をはじめとした[[ミュージックシーケンサー|シーケンサー]]などで扱うことができる。 これらMIDIデータによって送られる情報は、実際の音ではなく音楽の演奏情報(発音せよ、音の高さは〜、音の大きさは〜、といった楽器や音源への[[メッセージ (コンピュータ)|メッセージ]])であるので、そのデータサイズは[[音声ファイルフォーマット|オーディオデータ]]、つまりマイクなどで録音された実際の音の波形をデジタル化([[標本化|サンプリング]])したものに比べて非常に小さい。 現在、MIDIは音楽制作の現場のみならず、[[通信カラオケ]]、[[携帯電話]]の[[着信メロディ]]の制作などで幅広く利用され、電子楽器以外にも[[劇場]]の[[舞台照明]]のコントロールなどにも応用されている。また、MIDI規格の存在と[[パーソナルコンピュータ|パソコン]]の普及はホビーとしての音楽制作([[デスクトップミュージック|DTM]])を一般化した。 == 規格 == MIDI規格は、ハードウェアとソフトウェアの両分野にまたがり策定されている。ハードウェアとはMIDI[[インタフェース (情報技術)|インタフェース]]や送受信回路・端子に関する分野、ソフトウェアとはMIDIデータフォーマットに関する分野である。このMIDIデータフォーマットはMIDI機器同士が[[リアルタイム]]通信する際のデータ規格であって、このデータを保存流通させる[[ファイルフォーマット]]とは異なる。 さらに、MIDIの普及に伴いRP(Recommended Practice、推奨実施例)という拡張規格も策定された。音色配列などを厳密に定めた[[General MIDI|GMシステムレベル1]]や、MIDIデータを保存流通させるファイルフォーマット、劇場の舞台照明をコントロールする規格([[MIDIショーコントロール]])も、このRPに含まれる。 MIDIはJIS([[日本工業規格]])によって以下のように[[規格化]]されている。 # X 6054-1 電子楽器デジタルインタフェース(MIDI)- 第1部:総則 # X 6054-2 電子楽器デジタルインタフェース(MIDI)- 第2部:プロトコル仕様 == MIDIハードウェア規格 == [[ファイル:DIN-5 Diagram.svg|thumb|right|5ピンDINコネクタ]] [[ファイル:Midiaansl.jpg|thumb|right|MIDI端子とケーブル]] === 送信 === MIDIには、31.25Kbps (±1%) の非同期方式[[シリアル通信|シリアル転送]]を用いている。 === 接続 === MIDI機器(ハードウェア)は5ピンの[[DINコネクタ]]で接続するのが一般的で、音響用の[[ストレート]]ケーブルではなく[[クロス]]ケーブルが用いられる。ケーブルの両端はどちらもオス端子で、これをMIDIケーブルと呼ぶ。なお、両端に位置する1番ピンと3番ピンは現在の仕様上では使用されず、主に中央の3本のピンが使用される。 コネクタには、MIDI信号を受け取るMIDI IN、MIDI信号を送信するMIDI OUT、受信したMIDI信号をそのまま送信するMIDI THRUの3種類がある。機器パネル側は常にメス端子となる。MIDI機器同士には電気的[[絶縁 (電気)|絶縁]]が規定されているため(異常電流の伝播による連鎖故障の防止)、各端子の信号は[[フォトカプラ]]によって一旦光信号に変換されて再送信される仕様となっており、この段階で信号のロスを生じる。これが原因となりMIDI機器を多段に接続すると通信エラーが発生することもある。複数のMIDI機器を接続する場合、信号系統を簡単に切り替えたい時はMIDI[[パッチベイ]]を用いるが、これを使うことにより多段時の通信エラーも回避できる。 MIDIは[[バス (コンピュータ)|バス]]ではない。MIDI IN端子とMIDI OUT端子が別々で用意されていることから判るように、MIDIケーブル間のデータは一方向に送信される。 後述するアクティブセンシング機能で、接続状態が良好か、断線していないかを常に判定しており、アクティブセンシングが途絶えたとき、お互いのMIDI機器はケーブルが抜けたと判定するように作られている。 現代には、MIDI IN、MIDI OUTを使わず[[RS-232|RS-232C]]、[[ユニバーサル・シリアル・バス|USB]]、[[IEEE 1394]]などの規格を使った接続を行う機器も存在している。この場合、MIDIケーブルではなくこれらの規格のケーブル内をMIDI信号が通るため、転送に関して上記の通りではない。 === チャンネル === 2本のMIDIケーブルを用い、お互いの機器のMIDI IN、MIDI OUTをそれぞれつないだ状態を1つの「システム」と捉える。このシステム毎に16の[[チャンネル]]が用意される。基本的にひとつのチャンネルにひとつの楽器(1パート)が割り当てられる。 これにより、1本のMIDIケーブルには16チャンネル分のデータを送受信させることができる。例えば「1チャンネルのピアノと3チャンネルのギターを鳴らす」といったことである。16チャンネル分のデータは、後述する「チャンネルメッセージ」にて正確に分類され、相手機器の各チャンネルに届く。 それ以上のチャンネルを制御するためにはMIDIケーブルが複数本必要となり、MIDIデータのパート数(=チャンネル数)によっては、複数のMIDI音源を用意する必要もでてくる。 == MIDIデータフォーマット == === MIDIメッセージ === MIDI規格上のデータの送受信は、すべて'''MIDIメッセージ'''で行われる。MIDIメッセージは、複数の[[バイト (情報)|バイト]]([[8ビット]])で構成されている。「電子楽器の鍵盤を弾いたことで音が出る」という一連の流れもMIDIメッセージで制御されている。バイト単位で処理していくため、文言上では[[十六進法|16進数]]を用い、数の後にHを付ける。 MIDIメッセージを効率よく送信するために、MIDIメッセージに使用されるバイトは「ステータスバイト」か「データバイト」の大きく2種類に分けられる。ステータスバイトとは[[最上位ビット|MSB]] (Most Significant Bit)が「1」、すなわち80H〜FFHまでの128個のバイトを指し、データバイトとはMSBが「0」、すなわち00H〜7FHまでの128個のバイトを指す。 MIDIメッセージは複数のバイトで構成されていると前述したが、これらの先頭は常にステータスバイトで始まり、ステータスバイトの後に任意の個数のデータバイトが続く。ステータスバイトでは、ノートオンやコントロールチェンジ、システムエクスクルーシブなどを定義する。データバイトは、ステータスバイトで定義したものについて、その内容や数値を指定するのに使用する。 ステータスバイトが80H〜FFHのうち何であるかによって、「チャンネルメッセージ」、「システムメッセージ」に分かれる。 ==== チャンネルメッセージ ==== チャンネルメッセージとは、特にチャンネルを指定して送信するMIDIメッセージのことである。チャンネルメッセージのステータスバイトは80H〜EFHである。ここから更に「チャンネルボイスメッセージ」、「チャンネルモードメッセージ」と分類される。 ===== チャンネルボイスメッセージ ===== [[ファイル:NoteNamesFrequenciesAndMidiNumbers.svg|thumb|right|MIDIノートナンバー(音域)と音名、周波数の対応表]] チャンネルボイスメッセージとは、音を鳴らす、止める、[[音色]]を変える、[[ピッチ]]を変えるといった、音源の演奏に必要な情報に関する定義のことである。最大2つのデータバイトが続くことで、その内容・数値を決定する。 ステータスバイトの下位4ビットがMIDIチャンネル番号-1(0(0H)Hはチャンネル1、15(FH)はチャンネル16)を表している。 データバイトにて指定する'''ノートナンバー'''とは、最も低い音を0、最も高い音を127と割り当てた音の高さのことである。[[中央ハ]]にはノートナンバー60が割り当てられ、88鍵盤の[[グランドピアノ]]で出せる音域はノートナンバー21〜108と割り当てられるので、MIDIではそれより更に広い音域をカバーできる。また、'''ベロシティ'''とは音の強さ(楽器で例えれば指などで1本の弦や鍵盤を弾く速さによって変化する音の強弱([[強弱法]]))のことである。1〜127まであり[[強弱法|mp(メゾピアノ)]]が64となり、127が最も強い。 尚、以下の説明では、これら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データバイト - ピッチベンド値MSB : 第2データバイト - ピッチベンド値LSB ステータスバイト部の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である。機能ごとに「システムエクスクルーシブメッセージ」、「システムコモンメッセージ」、「システムリアルタイムメッセージ」の分類される。 ===== システムエクスクルーシブメッセージ ===== {{Main|システムエクスクルーシブメッセージ}} [[システムエクスクルーシブメッセージ]](Sys-Ex、またはSysExと略記し、シスイーエックスと読む場合もある)は、MIDI機器のより細かい設定を行ったり、音色データや[[サンプリング]]データを送受信するなど、各メーカーのMIDI機器の固有のデータのやりとりに使用できるシステムメッセージである。ステータスバイトF0Hで始まる。 MIDIメッセージは大抵2バイト程度のデータバイトで成り立つが、SysExはMIDIメッセージ中、唯一データバイト長が指定されていない。可変長のため、最後にシステムコモンメッセージとして定義されているF7H エンドオブエクスクルーシブ (EOX) を送信することでSysExの終了を表現する。 ===== システムコモンメッセージ ===== システムコモンメッセージは、主にシステムリアルタイムメッセージと併用され、MIDIシーケンサーなどの[[同期]]に使用される。ステータスバイト以下にデータバイトが続くものが多い。 ; F1H [[MIDIタイムコード|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機器間ではこのアクティブセンシングが常に送信されている。受信側は、一度もアクティブセンシングを受けていない状態では通常通り動作するが、一度送信側からこれを受信すると、300[[秒|ms(ミリ秒)]]以内に次のMIDIメッセージが送られてくることを期待するようになる。この状態で、アクティブセンシングや、その他MIDIメッセージを受信しなかった場合、断線したと判定する。 : ただし、実際は誤差やMIDI THRU処理の遅れを考慮し270ms〜330msの間で処理するよう余裕を持たせてある。このことから、送信側は270ms間隔でアクティブセンシングを送信し続ける。 ; FFH システムリセット : これを受信した全てのMIDI機器はリセット(電源投入時の状態に戻)される。通常は使用しない。 === サンプルダンプ === [[システムエクスクルーシブ|サンプルダンプ]]とは、システムエクスクルーシブメッセージを使用して[[サンプラー]]とMIDI機器間で[[サンプリング]]データを通信する規格である。サンプルダンプに関するフォーマットをサンプルダンプスタンダード (SDS) という。[[MIDI Manufacturers Association|MMA]]が1987年に提案した規格で、MMA-0003として定義されている。 ただし、前述の通りMIDIの通信速度は31.25Kbpsと、データ転送用途としては非常に遅い上、現代には[[ユニバーサル・シリアル・バス|USB]]や[[IEEE 1394]]などの高速[[シリアル通信|シリアルバス]]普及しているため、一部の学習・研究用途を除き使われることは無くなった。 === スタンダードMIDIファイル === {{Main|スタンダードMIDIファイル}} スタンダードMIDIファイル(SMF)とは、MIDI機器やMIDIメッセージを用いる演奏に関するデータの'''保存形式'''であり、メーカー毎のソフトやハードに関係なく使用できる共通の[[ファイルフォーマット]]である。拡張子は.mid。いわゆる「MIDIデータ」は'''演奏形式'''である[[#MIDIデータフォーマット|前述]]した「MIDIデータフォーマット」の略称であるが、このスタンダードMIDIファイルを指すべく拡大使用される場合がある。 [[Opcode]]社により独自規格として提案されたが、[[1991年]][[7月]]に[[音楽電子事業協会|AMEI]]と[[MIDI Manufacturers Association|MMA]]によりRP(Recommended Practice)という拡張規格の第1号(RP-001)に追認された。 == RP == RP (Recommended Practice) とは、MIDI規格策定後、利便性を高めるための'''推奨実施例'''として拡張された規格である。現在すでに複数の拡張規格が[[音楽電子事業協会|AMEI]]と[[MIDI Manufacturers Association|MMA]]により承認されており、いずれも共通規格としてMIDI規格に組み込まれている。前述のファイルフォーマット「[[スタンダードMIDIファイル]]」もRPのひとつ。 === GM === GMシステムレベル1、通称[[General MIDI|GM]] (General MIDI) とは、それまで各メーカー毎に異なっていた音色配列を統一することを目的として策定されたRPである。[[1991年]]に、RP-003にて定義されている。音色配列の他、最低同時発音数や音色数、コントロールチェンジの効き具合といったことも指定されている。 さらに、従来のGMでは時代の進化に伴い補いきれなくなってきた部分を補完するため、GMシステムレベル2 (GM2) が上位規格として拡張された。GMとは完全な[[上位互換|上位互換性]]をもつ。 のちに、主に[[携帯電話]]の[[着信メロディ]]の制作用途として、General MIDI Lite (GML) も上位規格として拡張された。 * [[1991年]] - GMシステムレベル1 - RP-003 * [[1999年]] - GMシステムレベル2 - RP-024 * [[2001年]] - General MIDI Lite - RP-033 === DLS === [[Downloadable Sounds|DLS]] (Downloadable Sounds) は、SMFデータを[[サウンドカード]]などの音源機器に転送して再生するために策定されたRPである。[[1997年]]に、RP-016にて定義されている。再生する音源が異なると、作者の意図しない音色で再生されてしまうSMFとは異なり、DLS対応機器ならほとんど同じ音での再生を行なうことが可能となる。拡張子は.dls。 のちに、上位規格であるDLSレベル2.1や、携帯電話向けのMobile DLSが拡張された。 * [[1997年]] - DLSレベル1.0 - RP-016 * [[1999年]] - DLSレベル1.1 - RP-016 * [[2000年]] - DLSレベル2.0 - RP-025 * 2000年 - DLSレベル2.1 - RP-025 * [[2003年]] - Mobile DLS - RP-041 === XMF === [[Extensible Music Format|XMF]] (eXtensible Music Format) は、[[MIDI Manufacturers Association|MMA]]によって提案された新しい音楽[[ファイルフォーマット]]である。SMFや、[[音声ファイルフォーマット|音声ファイル]]であるWAVなどが一つのファイルとして格納できるようになっている。 複数回改稿されており、それぞれのバージョン毎にRPとして承認されている。 * [[2001年]] - XMFメタファイルフォーマット1.00 - RP-030 * [[2003年]] - XMFメタファイルフォーマット1.01 - RP-039 * [[2004年]] - XMFメタファイルフォーマット2.00 - RP-043 また、複数の用途に向けて、複数のタイプが定義、検討されている。 * [[2001年]] - XMFタイプ0 アンド XMFタイプ1ファイル - RP-031 * [[2004年]] - XMFタイプ2/Mobile XMFファイル - RP-042 * [[2007年]] - XMFタイプ3/Mobile オーディオクリップ for Mobile XMFファイル - RP-045 * 20XX年 - XMFタイプ4/Interactive XMF (iXMF) XMFに関する拡張規格も用意されている。 * [[2003年]] - UnPackerID for ZLIB - RP-040 * [[2006年]] - ID3 Meta-data Tags for XMF - RP-047 === MIDIショーコントロール === [[MIDIショーコントロール]] (MIDI Show Control, MSC) とは、照明や映像機器など、[[ショー]]の演出をコントロールする目的で策定されたRPである。[[1991年]]にRP-002、のちにRP-014にて定義されている。 === MIDIタイムコード === [[MIDIタイムコード]] (MIDI Time Code, MTC) は、[[同期]]システムを組むことを目的として策定されたRPである。[[1987年]]に、RP-004にて定義されている。 MIDI規格策定時に、同時に策定された[[MIDIタイミングクロック]]は絶対時間を持たなかったが、[[SMPTE]]の普及につれMIDI上でも絶対時間を持った[[クロック]]が必要となってきたことが、MTC策定の背景である。 MIDI策定団体である[[MIDI Manufacturers Association|MMA]]が中心に提案したため、RPのほかにMMA-0001としても定義されている。 === 記譜情報 === 記譜情報はMIDIデータ(MIDIメッセージの集合)を[[楽譜]]上に[[音符]]として表示するために策定されたRPである。RP-005、RP-006にて定義されている。 === ファイルダンプ === ファイルダンプとは、MIDIケーブルを使ってSMFデータを転送するために策定されたRPである。RP-009にて定義されている。 === MIDIマシンコントロール === [[システムエクスクルーシブメッセージ|MIDIマシンコントロール]]とは、システムエクスクルーシブメッセージを用いて[[マルチトラックレコーダー|MTR]]や[[ビデオテープレコーダ|VTR]]を制御するために策定されたRPである。[[1992年]]に、RP-013にて定義されている。 === SMF with Lyrics === SMF with Lyrics (SMF Language and Display extensions) とは、SMFのメタイベントとして用意されている歌詞格納機能を拡張したRPである。[[1999年]]に、RP-026にて定義されている。 メタイベントと違い、表示を目的としており、曲タイトル、作曲者名、作詞者名、歌詞やふりがなを格納できる。カラオケの歌詞表示や楽譜上の歌詞表記などの用途を想定されている。また、日本語 ([[Shift_JIS]]) も使用できる。 === MIDI Media Adaptation Layer for IEEE-1394 === MIDI Media Adaptation Layer for IEEE-1394は、MIDI[[インタフェース (情報技術)|インタフェース]]などのMIDI機器を[[IEEE 1394]]を用いて接続することに関するRPである。[[2000年]]に、RP-027にて定義されている。 === SP-MIDI === SP-MIDI (Scalable Polyphony MIDI) は、あらゆる音源で最適なデータを再生するために策定されたRPである。[[2002年]]に、RP-034、RP-035にて定義されている。 例えば、通常だと24ボイス(パート数)を持つ音源用に作られたデータを16ボイスの音源で再生すると、8ボイス分は無視されてしまう。このままではデータ制作者の意図した再生ができないため、従来なら24ボイス用、16ボイス用と複数のデータを用意する必要が有った。このSP-MIDIの規格に従うと、ひとつのデータに前もって複数環境分の情報を収録できるので、少ない工数で、あらゆる音源で問題なく再生が出来るようになる。この技術は主に[[携帯電話]]向けに使用される。 === MIDI XML === MIDI XML ("MIDI Names, Device Types, & Events in XML") は、SMFを[[Extensible Markup Language|XML]]で記述することを目的として策定されたRPである。[[2003年]]に、RP-038にて定義されている。 == その他の規格 == RPとして承認されていないが、各メーカーが独自に打ち出した規格も存在する。中には、比較的一般的となった規格も存在する。ただしメーカーに左右されるため、メーカーを越えた互換性は無い場合が多い。 なお、現在はこれ以上の音色配列などに関する規格の複雑化を防ぐため、[[音楽電子事業協会|AMEI]]、[[MIDI Manufacturers Association|MMA]]共にGM2に一本化することを求めており、また、GS・XGはお互い規格をオープンにして相互にサポートすべきとしている<ref>[http://www.watch.impress.co.jp/pc/docs/article/20010116/midi.htm ローランドとヤマハがMIDI規格の互換性向上で協力]</ref>。しかし、ローランド製、ヤマハ製の製品であってもGS・XG自体をサポートしない製品が増えてきたことも事実である。 同じ楽譜で演奏をしても、演奏者や楽器が異なると音が違って聴こえるように、使用する音源を変えれば出音は違ってくる。そのため、例えば[[インターネット]]上で配布されているMIDIデータをデータ制作者の意図した通りに演奏するためには、制作者が使ったものと同じ、音色設定を完全に一致させた音源が必要になる。たとえGS対応と謳っていてもGS対応音源なら何でもいいというわけではなく、どの音源モジュールを使うかによって音は異なる。 === GSフォーマット === [[GSフォーマット]]は、[[1991年]]に[[ローランド]]が提唱、策定した音色配列などに関する独自規格。RP-003であるGMを拡張して作られたと思われがちだが、こちらが先行している。GMは、GSから他社と共有できる部分を抜粋し標準化したものである。 GSに対応した音源には、SC-55やSC-88Proなどの[[ローランド・SCシリーズ]]が有名。 === XGフォーマット === [[XGフォーマット]]は、[[1994年]]に[[ヤマハ]]が提唱、策定した音色配列などに関する独自規格。ヤマハ製の[[音源モジュール]]や[[シンセサイザー]]の互換性を持たせるためにGMを拡張する形で作られた。 XGに対応した音源には、MU80やMU500などの[[ヤマハ・MUシリーズ]]が有名。 == 用途と機器 == 本項ではMIDI規格が使われる用途と、MIDI規格を使用するハードウェア(機器)、ソフトウェアについて解説する。なお、箇条書きにしているハードウェアやソフトウェアは一例である。 === 音楽制作 === 総合的な音楽制作用途は、MIDIの代表的な使用例である。[[パーソナルコンピュータ|パソコン]]と[[ソフトウェア・シンセサイザー|ソフトウェア音源]]さえあれば、大がかりな設備投資をする必要無く[[デスクトップミュージック|DTM]]を楽しめるといったことで、90年代から一般の趣味としても普及し出した。 現代は、オーディオ編集とMIDIデータ編集を同時に行える統合環境[[デジタルオーディオワークステーション|DAW]]が業務向けを中心に普及している。 ; ハードウェア :; 送信側 :* [[ミュージックシーケンサー]](ハードシーケンサー) :* [[MIDIコントローラー]] :* [[シンセサイザー]](MIDI OUT端子が有るのならば、他のMIDI機器を制御可能) :* [[ミュージックワークステーション]](同上) :; 受信側 :* [[シンセサイザー]] :* [[ミュージックワークステーション]] :* [[音源モジュール]] ; ソフトウェア :; 送信側 :* [[ミュージックシーケンサー]](ソフトシーケンサー) :* [[デジタルオーディオワークステーション]] (DAW) :; 受信側 :* [[ソフトウェア・シンセサイザー]](ソフトウェア音源) :** [[Microsoft GS Wavetable SW Synth]] - [[Microsoft Windows 2000]]以降の[[Microsoft Windows|Windows]]に搭載されており最も普及しているソフトウェア音源 :** [[QuickTime]]ミュージックシンセ - [[Mac OS]]に標準で付属するソフトウェア音源 かつては、ハードウェア音源の代わりに、[[PCM音源]]等の音源データをソフトウェア向けに加工し、パソコン上の[[サウンドボード]]でMIDIファイルの再生を可能にしたソフトウェアMIDI音源も開発された。しかしながら、同時発音数や音質がCPUの性能に依存するなど、ソフトウェアMIDI音源発売当初はリアルタイム演奏には不向きであった。 現在は、一般のパソコンが[[ソフトウェア・シンセサイザー|ソフトウェア音源]]を処理するのに十分な性能を持ったことや、再生時に音源が不要な[[MP3]]等の[[音声圧縮|圧縮]][[音声ファイルフォーマット]]の普及により、一般ユーザーではDTM愛好家以外のハードウェアベースのMIDI音源の使用は著しく減少している。 === 録音・MA === [[録音]]や[[映像編集|MA]] (Multi Audio) でもMIDIは使用される。演奏情報の送受信ではなく、システムメッセージを中心とした同期処理が行われている。 ; ハードウェア :; 送信側 :* [[ミュージックシーケンサー]](ハードシーケンサー) :* [[ドラムマシン]]、リズムマシン :* [[コントロールサーフェス]] :; 受信側 :* [[マルチトラックレコーダー]] (MTR) :* [[ビデオテープレコーダ|ビデオテープレコーダー]] (VTR) ; ソフトウェア :; 送信側 :* [[ミュージックシーケンサー]](ソフトシーケンサー) :* [[デジタルオーディオワークステーション]] (DAW) :; 受信側 :* [[ミュージックシーケンサー]](ソフトシーケンサー) :* [[デジタルオーディオワークステーション]] (DAW) :: (別々のコンピュータ上のソフトウェアに関する同期) === カラオケ === [[カラオケ]]で流れる歌声の無い音楽はMIDIデータで制作されていることが多い。最新曲のMIDIデータが[[インターネット]]回線を経由して各カラオケ店舗に送信されてくる。[[通信カラオケ]]と呼ばれるのはこのためである。なお、カラオケデータ(カラオケ用MIDIデータ)はカラオケデータ制作専門の[[プログラマ]]などが、[[ミュージックシーケンサー|ソフトシーケンサー]]などを用いて制作し、通信カラオケ配信会社([[クライアント]])に卸す仕組みとなっている。 ; ハードウェア :; 送信側 :* 通信カラオケ機器 :; 受信側 :* 通信カラオケ機器 : つまり、通信カラオケ機器内にデータを保管・読み書きする部分と、音を鳴らす音源部分が備わっており、その内部処理をMIDI規格で行っている。 === モバイル機器・着信メロディ === [[2000年代]]前半によく見かけた32和音対応や40和音対応といった[[着信メロディ]]にもMIDI規格が応用されている。携帯電話向けのRPも複数拡張された。 ; ハードウェア :; 送信側 :* [[携帯電話]] :; 受信側 :* 携帯電話 : 携帯電話内のデータを、携帯電話内に搭載された音源が処理し音を鳴らしている。 === 舞台照明・演出 === [[1991年]]にRP-002として[[MIDIショーコントロール]]が定義された。これにより、MIDIで舞台装置、照明、演出効果などが制御できるようになった。 ; ハードウェア :; 送信側 :* [[ホスト]]コントローラー :; 受信側 :* 各舞台用機材(照明など) === 身近な生活 === [[鉄道]]の[[プラットホーム]]で流れる[[発車メロディ]]や、[[学校]]・[[会社]]で流れる[[チャイム]]を再生する[[タイマー]]などでもMIDI規格が応用されることがある。 == MIDI検定 == MIDIの基礎知識や、業務レベルの細かい知識などを問う[[MIDI検定]]が[[1999年]]より実施された。現在4,3,2,1級の4階級が用意されており、2級には2級筆記試験と2級実技試験の2段階が用意されている。 3,2級検定試験は年1回の実施、MIDI4級検定試験は各公認講師・指定校による随時開催となっている。 MIDI検定開始から11年間、1級試験は実施されず2級実技試験が最高級とされていたが、2010年1月15日より、1級試験が新設された。 == 年表 == * [[1981年]] - [[ヤマハ|日本楽器製造(現・ヤマハ)]]、[[ローランド]]、[[コルグ]]、[[河合楽器製作所|河合楽器(カワイ)]]、[[シーケンシャル・サーキット]]、[[オーバーハイム]]の国内外楽器メーカー6社が『MIDI 1.0 Specification』をまとめる。 * [[1982年]]10月 - ローランドを中心に規格化が進められ、米国音楽雑誌「KEYBOARD」誌上で Ver.1.0 が公開される。 * [[1983年]]1月 - [[楽器ショー#NAMM ショー|NAMMショー]]にて[[シーケンシャル・サーキット]]製Prophet600と[[ローランド]]製JX-3Pとの接続デモが行われる。 * 1983年8月 - 日本語版 MIDI 1.0 規格を発表。 * [[1984年]] - MIDI Manufacturers Association (MMA) が発足。 * [[1989年]]1月 - MIDI 1.0(Ver.4.1日本語版)発表。 * [[1991年]] - [[スタンダードMIDIファイル]](RP-001) がMIDI規格の「推奨実施例」(Recommended Practice) として承認。 * [[1991年]]9月 - [[General MIDI|GMシステムレベル1]](RP-003) がMMA,JMSCによって策定。 * [[1991年]] - [[ローランド]]初の[[GSフォーマット]]対応音源、[[ローランド・SCシリーズ|SC-55]]が発売。 * [[1994年]] - [[ヤマハ]]初の[[XGフォーマット]]対応音源、[[ヤマハ・MUシリーズ|MU80]]が発売。 * [[1996年]]5月 - 社団法人[[音楽電子事業協会]] (AMEI) が発足。 * [[1997年]] - [[Downloadable Sounds]] (RP-016) を策定。 * [[1999年]][[1月17日]] - 第1回3級MIDI検定試験を実施。 * 1999年[[1月20日]] - MIDIがJIS規格として策定される。 * 1999年7月 - GMシステムレベル2 (RP-024) を策定。 * [[2001年]] - [[Extensible Music Format]] (RP-030) を策定。 * [[2001年]]5月 - 携帯電話着信メロディ用の規格[[General MIDI|General MIDI Lite]] (RP-033) を策定。 * [[2003年]][[7月3日]] - 社団法人音楽電子事業協会がMIDI規格誕生20周年記念事業を開催。 * [[2013年]][[2月]] - ローランド社の創業者である[[梯郁太郎]]がMIDI規格の制定に対する貢献によりテクニカル・グラミー・アワードを受賞<ref>{{Cite web |date=2013-02-10 |url=http://www.sponichi.co.jp/entertainment/news/2013/02/10/kiji/K20130210005166530.html|title=ローランド創業者・梯郁太郎さんが受賞 米グラミー技術賞|work=スポニチアネックス|publisher=スポニチアネックス|accessdate=2013-02-20}}</ref>。 == 脚注 == <div class="references-small"><references/></div> == 関連項目 == * [[音楽電子事業協会]] * [[MIDI Manufacturers Association]] * [[MIDI検定]] * [[OpenSound Control]] * [[Virtual Studio Technology]] * [[梯郁太郎]] - 規格策定の貢献者 == 外部リンク == * [http://www.amei.or.jp/ 社団法人音楽電子事業協会] * [http://www.midi.org/ MIDI Manufacturers Association] {{DEFAULTSORT:みてい}} [[Category:MIDI|*]] [[Category:JIS|X 6054]]