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

第4幕

リアルタイム・メッセージ
 リアルタイム・メッセージは、読んで字のごとし、リアルタイムで処理されるべきメッセージで、他のどのメッセージよりも優先的に処理される。優先的とは、他のメッセージのステータスとデータの間や、データとデータの間に割り込むことが許され、入出力処理も他のメッセージより優先されている。従ってランニング・ステータス処理でも、ステータスはクリアされない。また、全てのリアルタイム・メッセージはステータスのみで、データ・バイトを持たない。
 リアルタイム・メッセージは同期に必要なタイミングンをメッセージである。つまり、シーケンサーとシーケンサー、シーケンサーとリズムマシーン、シーケンサーとMTRなどの同期をとるための、タイミング・クロックやスタート、ストップ、コンティニューなどが含まれる。ステータスは、"F8〜FF"に定義されている。
 今ではシーケンサーやパソコンのメモリーが増大し、気にする必要はないが、おとがMIDIを始めた頃やっと買えたQX21(ヤマハのシーケンサー)は28kバイト、8,100音しかは入らずとても今のようなDTMができる環境ではなかった。そこで、ドラムは専用のマシーンを使って、そこでシーケンスを組んで同期させると言う手法を頻繁に行ったものだ。
タイミング・クロック F8

 通称MIDIクロックとも呼ばれるMIDIの同期信号である。タイミング・クロックのタイム・ベースは24(4分音符あたり)で、"F8"が送られる間隔はテンポによって異なる。つまり、4分音符の長さの時間を24等分してその間隔で"F8"が送られることになる。ちなみに、テンポ60の曲では、1/24=約0.04秒間隔、テンポ120ではその半分の約0.02秒間間隔で"F8"が送られている。曲中にテンポの変化を付ければ、当然タイミング・クロックの間隔が変化しスレーブ側のシーケンスと同期が取れるようになる。
 しかし、よく考えてみると最近はタイム・ベース480は当たり前(おとの場合依然として48にこだわっているが)である。タイミング・クロックのタイム・ベースは24はあまりにも精度が悪すぎる。これは、MIDI規格が出来た当時から指摘されていたことだ。この問題を解消するため、"F8"を直接使わず定倍することで精度の高いクロックを作り出し、精度を確保している。
 過去には、MIDIをリアルタイム演奏に合わせるために使われたことがある。ドラムとか指タップでもいい、一定間隔で情報を送りそのテンポでタイミング・クロックを出力する。リタルダンドも合わせることができるが、MIDI側のテンポ情報がタイミング・クロック1個分遅れる事になる。おとはやったことはないが、なかなか難しそうだ。

スタート・メッセージ  FA
 シーケンサーやリズム・マシーンのスタート・ボタンと同じ働きをする。マスター側のスタート・ボタンが押されると"FA"が送信され、スレーブが"FA"を受信するとシーケンスがスタートする。
 この場合、外部MIDI同期の場合は、シーケンスはスタートしないでスタンバイ状態になる。実際のスタートは、次の"F8"が送られてくるタイミングになる。これは、"FA"にはクロック機能が無いためで、シーケンスを進められないからだ。もちろん、同期させるにはその機器のMIDIを、外部同期の状態に設定しておく必要がある。
ストップ・メッセージ  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