Microsoft DirectX 8.0 (Visual Basic) |
ほとんどのアプリケーションは、MIDI メッセージを直接処理しない。ただし、アプリケーションはパフォーマンス メッセージとして MIDI コマンドを送信し、コントロール チェンジなどを行うことができる。
MIDI メッセージは、1 バイトのステータス バイトと、通常、1 バイトか 2 バイトのデータ バイトによって構成される。システム エクスクルーシブ MIDI メッセージは可変長である。
ステータス バイトはメッセージのタイプを示し、一部の状況では、そのメッセージを受け取るチャンネルを示す。ファイル中に同じ種類のイベントが続けて現れる場合は、ステータス バイトを省略できる。上位ビットが常に消去されているので、データ バイトを認識できる。ステータス バイトの上位ビットは、常に設定されている。
MIDI イベントのタイミングは、各メッセージの前にある数字で制御される。この値は、このイベントと最後のイベントの間隔を、ティック数で表している。ティックの実際の継続時間は、ファイル ヘッダーの時間の形式によって決定される。
注 MIDI メッセージが、ソース データに記述されている順序で処理されるという保証はない。DirectMusic メッセージはタイム スタンプの順に配信される。タイムが同一の MIDI メッセージが 2 つある場合は、予想と異なる順序で配信される場合がある。MIDI コンテンツをオーサリングするときに、イベントを発生させる順序が決まっている場合は、イベント間に間隔を入れるように注意する必要がある。たとえば、プログラム チェンジに依存するノートがある場合は、これらのノートとプログラム チェンジを同時に配置しない。
MIDI メッセージは、次の 2 つの主要なカテゴリに分類できる。