MIDI
システムメッセージとは、チャンネルに関係なくMIDIシステム全体に対する命令を行うMIDIメッセージである。システムメッセージのステータスバイトはF0H - FFHである。機能ごとに「システムエクスクルーシブメッセージ」、「システムコモンメッセージ」、「システムリアルタイムメッセージ」の分類される。
システムエクスクルーシブメッセージ
システムエクスクルーシブメッセージ(Sys-Ex、またはSysExと略記し、シスイーエックスと読む場合もある)は、MIDI機器のより細かい設定を行ったり、音色データやサンプリングデータを送受信するなど、各メーカーのMIDI機器の固有のデータのやりとりに使用できるシステムメッセージである。ステータスバイトF0Hで始まる。
MIDIメッセージは大抵2バイト程度のデータバイトで成り立つが、SysExはMIDIメッセージ中、唯一データバイト長が指定されていない。可変長のため、最後にシステムコモンメッセージとして定義されているF7H エンドオブエクスクルーシブ (EOX) を送信することでSysExの終了を表現する。
システムコモンメッセージ
システムコモンメッセージは、主にシステムリアルタイムメッセージと併用され、MIDIシーケンサーなどの同期に使用される。ステータスバイト以下にデータバイトが続くものが多い。
ハードウェアの規格は、インタフェースや送受信回路・端子に関することであり、ソフトウェアの規格は、データフォーマット(機器同士がリアルタイム通信する際の規格であって、MIDIデータを保存流通させるファイルフォーマットとは異なる)に関することである。
その後、MIDIの普及に伴いRP(Recommended Practice、推奨実施例)という拡張規格が策定された。音色配列などを厳密に定めたGMシステムレベル1や、MIDIデータを保存流通させるファイルフォーマット、劇場の舞台照明をコントロールする規格(MIDIショーコントロール)が、このRPに含まれる。
MIDIはJIS(日本産業規格)によって以下のように規格化されている。
X 6054-1 電子楽器デジタルインタフェース(MIDI)- 第1部:総則
X 6054-2 電子楽器デジタルインタフェース(MIDI)- 第2部:プロトコル仕様
SMF with Lyrics (SMF Language and Display extensions) とは、SMFのメタイベントとして用意されている歌詞格納機能を拡張したRPである。1999年に、RP-026にて定義されている。
メタイベントと違い、表示を目的としており、曲タイトル、作曲者名、作詞者名、歌詞やふりがなを格納できる。カラオケの歌詞表示や楽譜上の歌詞表記などの用途を想定されている。また、日本語 (Shift JIS) も使用できる。
同期時にマスター側で操作したロケータ位置をスレーブ側に送信する際に使用。16分音符単位で指定できる。第1データバイトでソングポジションポインタLSB、第2データバイトでソングポジションポインタMSBを扱う。
送信側 ホストコントローラー 受信側 各舞台用機材(照明など)
カラオケ機器は、MIDIデータを再生する機能が備わっている。各カラオケ店舗では、インターネット回線を通じて最新曲のMIDIデータを受信する仕組みになっており、通信カラオケと呼ばれるのはこのためである。ブロードバンドインターネット接続が普及する以前は、現在のように大量の音声データをインターネットで送受信するのは困難であったが、MIDIデータであれば、当時の低速な回線でも十分に送受信可能であった。
なお、カラオケ用MIDIデータはカラオケデータ制作専門のプログラマなどが、ソフトシーケンサーなどを用いて制作し、通信カラオケ配信会社に卸す仕組みとなっている。
2009年頃、音声をフーリエ解析し周波数ごとに分離して正弦波にし、それをMIDIで再生することで音声を擬似的に再現する技術が発明された。