制約事項
システム・エクスクルーシブ・メッセージを利用する上で、MIDI1.0規格書から重要な制約事項を記載します。
- ID番号はAMEI/MMAで登録/管理されます。
- ID番号を授与された場合には、1年以内にそのID番号を使用したシステム・エクスクルーシフ゛・メッセージのフォーマットを公表してください。
- 公表されたフォーマットは、よほどの不都合が生じない限り、変更してはいけません。
- 新しいフォーマットを追加した場合は、すみやかに公表しなければなりません。
ID番号はAMEI/MMAにより管理されています。もし、管理されていなければシステム・エクスクルーシブ・メッセージを受信するかどうか判定することができなくなり、機器が誤動作をしてしまうかもしれません。
MIDI機器開発者は、その機器をプレーヤーや音楽制作者といったユーザーに、思い通りに、詳細に使っていただきたいという考えのもとフォーマットを公開します。ユーザーは公開されたフォーマットを介して、このMIDI機器を自分の好みにチューニングすることができます。従って、公開するフォーマットは、MIDI機器を迷いや矛盾無く制御できるものでないとなりません。
もし、MIDI機器開発者が既に公開したフォーマットを断りなく変更してしまったら、今までチューニングできていたMIDI機器が突然できなくなってしまいます。その為、公開したフォーマットはよほどの不都合が生じない限り変更してはなりません。
フォーマット設計例
上記制約事項は公開したフォーマットは変えてはならないとなっていますが、反面MIDI機器を常に進化させたり、新しい機器を開発する上でフォーマットは柔軟に設計されている必要もあります。そこで、
一例として次ようようなフォーマットを示します。
F0H | : | エクスクルーシフ゛・ステータス | |
00H | : | ID番上位バイト | 00H固定 |
40H | : | ID番中位バイト | 40H〜5FH |
nnH | : | ID番下位バイト | 00H〜7FH |
複数バイト | : | デスティネーション | 操作対象 |
複数バイト | : | コマンド | 操作内容 |
複数バイト | : | アドレス | 操作位置 |
複数バイト | : | データ | データの値 |
F7H | : | EOX(エンド・オブ・エクスクルーシブ) | |
デスティネーションは操作対象である機種、あるいはバージョンを表しています。開発者には複数の種類の製品があり、また新開発の機種は、旧来のデータ構造とが違ったモノであるかもしれません。そのような場合を考慮して、操作対象を示すための領域として複数バイトを確保しておきます。
コマンドは操作の内容を表しています。例えば、データをすべて初期化したい、一つのデータあるいは複数のデータを差し替えたい、一つのだけあるいは複数のデータを外部へ出力したいとった操作内容を記載するための領域です。アドレスは複数あるデータの中の操作する位置を示しています。データは、操作対象となるデータの値を示します。なを、アドレスやデータも含め、複数バイトあるデータは、上位バイトから記載するのか、下位バイトから記載するのかも明確にしておかなければなりません。それぞれの領域に何バイト必要かは、それぞれの開発者の設計方針に決める必要があります。
このフォーマットはあくまで一例を示しています。ご相談がありましたら下記へお問合せ下さい。
お問合せ
一般社団法人音楽電子事業協会(AMEI)事務局
【電話:03-5226-8550/FAX:03-5226-8549/e-mail:amei_info@amei.or.jp】