MIDIについての基礎知識(少し上級編)

第5幕

コモン・メッセージ
 コモン・メッセージは、リアルタイム・メッセージと共に使用されるソング・ポジション・ポインター"F2"やソング・セレクト"F3"、そして後で追加されたクオーター・フレーム・メッセージ(MIDIタイム・コード)"F1"が含まれる。その他、チューン・リクエスト"F6"とエクスクルーシブの終わりを示すエンド・オブ・エクスクルーシブ"F7"もコモン・メッセージの中に定義されている。
クォーター・フレーム・メッセージ F1 dd
 MIDIタイム・コードの追加によって登場したメッセージで、詳しくは次のページで説明する。
ソング・ポジション・ポインター  F2 LSB MSB
 ソング・ポジション・ポインターは、シーケンサーの演奏スタート・ポイントを伝えるメッセージだ。ステータス"F2"に続く2バイト・データでポイントを指定する。これによって、曲の好きなポイントからシーケンスをスタートできる。
 ただし、好きなポイントと言っても、このポイントはMIDIビート単位によって与えられる。MIDIビートの1ビートは、6タイミング・クロック分なので、6の倍数にあたるタイミング・クロックの位置になる。簡単に言えば、完璧にジャストで打ち込んでいるなら、16分音符がこのポイントになる。スタートさせたいポジションは、小節数と各小節の拍数がわかれば容易に計算できる。例えば、4分の3拍子の10小節からスタートさせたいなら、24×3×10/6=120MIDIビートになる。データ・バイトは7ビット有効の2バイト(LSBとMSB)である。
 さて、シーケンサーを途中からスタートさせるには、その小節までポインターを移動しなければならないし、その小節までのプログラム・チェンジとかコントロール・チェンジなどをの値(最後の値)を送っておかなければならない。そうしなければ、途中からは全部ピアノ音色で、なんてなってしまう。それで、ソング・ポジション・ポインターを送った場合は、適当な間隔をあけて演奏をスタートさせる事になっている。シーケンサーを、途中からスタートさせるのは非常に便利だが処理としてはとても重い。おとの経験では、途中からスタートさせた場合、エクスクルーシブの設定は再現されない様だ。
ストップ・メッセージ  FC

 シーケンスの終了命令で、スタート・メッセージと同様、シーケンサーやリズム・マシーンのストップ・ボタンと同じ働きをする。つまり、ストップボタンが押されると、"FC"が送られ、"FC"を受信するとストップ動作を行う。
 ただし、実際のシーケンスでは必ずいきなり終わるのではなく、小節の終わりやエンディングに入ってから終わるなど、キリの良いところで終了しても良い事になっている。いきなり終わる場合が多いかもしれないが?

 曲は、"FA"〜"FC"の間で流れている。しかし、タイミング・クロックは"FA"を送る前も"FC"を送った後も、送信しておく必要がある。リアルタイム・レコーディングとかで入力する場合、スタート・ボタンを押すと2小節くらい「ピッピッピ」とカウントするだろう。それを聞いて、テンポを確認しレコーディングを始める。つまり、タイミング・クロックは、テンポを決めればズ〜と送信され続けているのだ。

コンティニュー・メッセージ  FB
 コンティニュー・メッセージは、ストップされたシーケンスを再開させる命令だ。ただし、ソフトによって異なり、コンティニュー・ボタンが別に用意されているものや、スタートやストップ・ボタンと併用されていたりする。
 "FC"を受信した場合のシーケンスのポイントは、通常リセットされず"FB"を受信するとそのポイントから再開されるのだ。リセットは、もう一度"FC"を受信するとか"FA"を受信されたときにリセットされる場合が多い。
アクティブ・センシング  FE
 アクティブ・センシングはMIDIケーブルが外れたり、接触不良、断線などの監視に使われているメッセージである。つまり、ユーザーがいっさいコントロール出来ない便利物と言ったところだろうか。俗に言うMIDIパニック、演奏の途中でMIDIケーブルが抜けてしまって、おとが鳴りっぱなしになるなどのトラブルの回避のために登場した。MIDIは基本的に非同期転送、つまり送り放しで相手がちゃんと受け取ったかどうかいっさい関知しないのでパニックが起こりるわけだ。どちらかというと、スレーブ側のコントロールメッセージである。
 アクティブ・センシングは、他のメッセージが送られていないときに、いわゆるダミー・メッセージとして"FE"を送信している。常に何らかのメッセージを送信している状態にしておくものだ。スレーブ側の音源は、一定時間に何もメッセージが送られて来なかったら、MIDIケーブルが抜けてしまったなどのトラブルとして、鳴っている音を止めると言う行動をとる。
 実際の動作は、300msec以内に何のMIDIメッセージも送ってこなかったら、現在MIDIで発音中の全てのボイスをノート・オフする。そのため、マスターは300msec以上間隔が開かないように、また送るメッセージがない場合は"FE"を送り続ける必要がある。ただし、300msecに設定すると送った情報を受け取る間のタムラグがあるので、送信は270msecくらい、受信は330msecくらいの遊びを持たせてある。また、"FE"を認識することで、それがアクティブ・センシング対応楽器かどうか識別可能になっている。アクティブ・センシングに対応していない楽器のことを考慮しているわけだ。しかし、このために、マスターをMIDIパッチベイなどに切り替えた場合、演奏が物切れ状態になったりする。
システム・リセット  FF
 これは、楽器を電源オンの状態に初期化するメッセージだが、実際にはあまり使われない。また、受信したときの動作も明確には定義されていない。このメッセージが作られた当初は、モードを1にして、ローカル・コントロールをオフ、ソング・ポジション・ポインターを戻す、演奏をストップする、などが期待された。
 しかし、電源を入れたとき安易に初期状態になってしまうのは、ユーザーから見るととても使いにくい。それで、現在の状態をメモリーに蓄えて、電源オンのときはオフした時を再現するようになっている。それもあるのだろう、あまり使わない方がよいと言われている。ただし、初期化したい場合もあるので、各メーカはエクスクルーシブの中に用意している場合が多い。



HOMEはMIDIのMENUに戻ります

Copyright (C) 2002 Kawahagi-3-Cycle