MIDIは
Musical Instrument Digital Interface
そもそもは楽器同士をデジタル信号で接続する為の規格です。
正確には覚えていないのですが、1983年には成立していたと思います。
MIDIの転送速度は
31,250bps
MIDI規格ができた頃のモデムの一般的通信速度は300〜1.200bpsでした。当時の通信に使われていたシリアルポートの最高速度が9,600bpsでした。1997年現在では28,800〜128kbpsが一般的通信速度ですから現在に置き換えればテレビ会議並みの1.6Mbpsを要求していたと考えれば当時としての先進性は理解できます。
シリアル信号の常として、信号の始まりと終わりを示すために、スタートビット/ストップビットという2ビットがデータ(8ビット)の前後に付きます。しかしエラー補正の為の信号はありません。MIDIの転送速度31,250bpsをバイト表示すると、31,250bpsを10ビット(2+8ビット)で割った3,125バイト/秒という事になります。MIDIの転送速度は現在のインターネットと比較できる速度ですね。
MIDIの端子はDIN規格の5ピンを流用
MIDIの接続端子はDIN(ドイツの工業製品規格:当時オーディオカセット用に使われていたものの、日本国内においてはほぼその役割を終えていた)端子を流用しました。、新たに規格を作るより手に入りやすく実績のあるパーツを選んだ訳です。当時パソコンのカセットデーターレコーダー用にも同じDIN端子が使われていました。しかしMIDIは、カセットデーターレコーダーと違って、5ピンのうち±ペア1組みの2つのピンだけ使います。
MIDIは一方通行
MIDIは1端子につき1方向にしか送信しません。信号線は±の1ペアしか無いのですから当然です。送信したデータが間違いなく届いたかどうかは、チェックできません。
しかし、分配したり、入力と出力に全く違う機器を使う等の自由度が高く、信号の流れも把握しやすくなります。接続に特別の知識を必要としないというのは大事な事です。今でさえMIDI IN同士、MIDI OUT同士を接続してしまう知識レベルの人は後を絶たないのですから。
MIDI
IN
MIDI信号を受信する端子です。
入力端子の内部には発光ダイオードが付けられています。MIDIケーブルを通ってきた信号は発光ダイオードを点灯させる為の電源だったのです。
発光ダイオードは、機器内部のどことも接続されていません。これは、家庭用オーディオやPA等の音響機器が配線の都合で、どうしてもアース線を引き回す事になり、雑音を出しやすくなるのですが、MIDI機器も最終的には音響機器に接続しなければ音が出ないので、不要な雑音を音響機器に送らない為の工夫です。
発光ダイオードの光は受光素子で再び電気信号に変えられます。言ってみれば最短距離の光通信で、MIDI規格ができた当時では非常に珍しい通信方式でした。
MIDI機器は、入力信号から自分の設定に合致した信号を選択して、仕事(演奏等)をします。
MIDI
THRU
MIDI INに受信した信号を単純に分配出力する端子です。
MIDI INとMIDI THRUを使う事により同一の信号をたくさんのMIDI機器に送信できます。1つの鍵盤で多数の音源モジュールから音を出したり、シーケンサーからの信号で複数の音源モジュールのアンサンブル演奏が可能になります。
MIDI
OUT
MIDI信号を出力する端子です。
出力される信号の内容は通常MIDI INに入力されたものではなく、機器内で作られたもの、例えばキーボードなら鍵盤を弾いた演奏情報です。
しかし、中にはMIDI THRUと切り替えになっていたり、MIDI INの信号に加工を施して出力するものがあります。パソコンのシーケンスソフトはおおよそこの仕様です。
| MIDI IN/OUT/THRU の使用例 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
→ |
|
→ |
| |||||||
| [→]はMIDIケーブルの接続とMIDI信号の伝播方向を示します | |||||||||||
MIDIはリアルタイム
MIDI信号はリアルタイムに処理されなくてはなりません。
Aという音源モジュールが信号を受けて0.01秒、Bはソフトウエア音源で0.5秒後に音が出る・・・ようではアンサンブルになりません。テンポ120の曲では、一拍分のずれに相当するのです。
音源モジュールが、一般の通信のように受信したデータを貯えてから処理していたのでは間に合いません。
では、人はどの程度なら同時だと判断するのでしょう。
これには数説あります。
まず、はっきりと2回に聞こえるのは40mS(1mSは千分の一秒)くらいだと言われます。
これはテンポ120の十六分音符を三分の一にしたくらいの速さです。
録音テープを切り繋ぐ場合は10mSが限度と言われます。リズムの変化として知覚される為により厳しさが要求されるわけです。
ハース効果(音の方向性知覚:2つのスピーカーから同じ音を出すと、音が先に耳に届く方のスピーカーから音が出たように錯覚する)で調べると1mSを聞き分けているようです。
やはり、人間はすごいのです。
MIDIでは一つ音を出す為に3バイトを使用します。音を止めるのも3バイトです。音をコントロールする信号(コントロールチェンジ等)もほとんどが3バイトで構成されています。
MIDIの転送速度の項で3,125バイト/秒と書きました。これを3バイトで割ると1,042音/秒、つまり約千分の一秒で一音発音させられる事が解ります。
通常鍵盤で演奏する場合には一度に弾ける鍵盤数に限りがありますから、同時性は全くといって良い程問題にする必要は無いのですが、DTMではシーケンスソフトで同じタイミングに音やコントロールチェンジを重ねてしまいがちです。その結果遅れて発音される音が出てきて、演奏がもたついているように聞こえます。
この為、やっと通信に追いつかれたばかりの高速を誇ったMIDIですが、次なる高速の規格を求める人もいます。
IEEE1394が、それに当たります。詳しくは音楽電子事業協会へ。
MIDIは16チャンネル
16チャンネルというと、なにやらTVを思わせますね。同じと言っても良いかもしれません。電波の代わりにMIDIケーブル通って放送されていると考えてみてください。
TVではアンテナを通って信号が入ってきます。受像機(古めかしい言葉だが我慢)のチャンネルを1チャンネルに合わせると1チャンネルの放送内容が映ります。2チャンネルには信号が送られていないとすれば受像機を2チャンネルに合わせても映りません。
MIDIの場合も全く同じで、信号の送り側と受け側のチャンネルを同じに合わせなければなりません。これにより16の違う内容を、同時(実際は順番)に一本のケーブルで送信できるのです。
ただ最近の音源モジュールは、16チャンネル全てを受信してそれぞれの音を鳴らします。家庭用TVでは、まだ無理かもしれませんが、一つの体で16個の受像機をもったマルチTVが画面を16分割して16のチャンネル全てを同時に受信表示できるようなものを想像してください。
最近MIDIを始められた方は音源モジュール1台で16チャンネル全て鳴るのが当然なのでしょうが、1990年以前には音源モジュールは、どこか1チャンネルしか鳴らせないのが当たり前で、16チャンネル全てを鳴らすには16台の音源モジュールが必要だったのです。
今では16チャンネルでも不足なのかもしれませんが、MIDIの通信速度やMIDI信号を調べてみると、なかなかバランスの良い数値だと納得できます。
|
| Q:最近の音源モジュールに付いている
To Host ってMIDIと違うの? A:本来MIDI端子の無いパソコンでMIDI端子の代用を通信端子にさせる為に考案されたもので、日本の主要メーカーの音源モジュールに採用されています。端子はminiDIN8pinが使われています。Apple Macintoshの通信ポートやプリンターポートにもminiDIN8pinが使われていますね。 しかしTo Host はMIDIの規格外で、製造メーカーが違えば動作の保証はありません。同一メーカーでも、対象機種によって設定方法が違います。 データの転送速度はNEC PC-9801と Apple Macintosh には31,250bps というMIDIと同じ通信速度が有るのでこれを使い、DOS/Vでは比較的近い38,400bpsが使われます。同じ転送速度なら音源モジュールは同じ鳴りかたをするという考えなのでしょう。 現在のパソコンでは115,200〜921,600bps という高速転送も可能なので、なぜ高速転送が採用されなかったのかと悔やまれます。 音源モジュールの発音数が増え、一台で二台分の働きができるようになり、更にモジュールから外部にMIDI機器が接続できるとなれば、データの量は二倍三倍になるのです。しかも通信ポートは同時に送受信双方に使い、データの転送速度は送受信双方の合計値です。 一台分でさえもたつく事があるのですから、音源モジュール一台に送信するだけで良いMIDIに比べTo Host の仕様では、データ量が増えれば増えただけ、演奏がよれよれになる可能性も増えるのです。 |
| Q:チャンネルとトラックの違いは? A:チャンネルとトラックの混同が迷いの原因 トラックについて、なかなか適切に説明された書に出会いません。 演奏家はチャンネルにはめっぽう強いがトラックには案外無頓着なようです。また、パソコンのDTMからスタートした人はMIDIチャンネルの理解が足りないようです。なぜならMIDIにトッラクは無いからです。 ではトラックはどこにあるのでしょう。 それは、MIDIのデータを貯えておいたり、編集したりする機械(それをシーケンサといいます)にあります。 シーケンサには、それこそ1トラックだけのものから100トラック以上のものまであります。 1トラックのシーケンサなんて使えないんじゃないかって疑問に思いませんか? 実は、1トラックにMIDIの1〜16チャンネルのデータを貯えられるのです。最低1トラックあればMIDIの総べてのデータを記録し再生できるのです。この理屈を使ったシーケンスファイルがスタンダードMIDIファイルフォーマット0やヤマハのE−SEQファイルです。 ではなぜ、多数のトラックを持つシーケンサが有るのでしょう? 理由は簡単、その方が編集に便利だからです。 1つのトラックに多数のチャンネルのデータを入れていては、ある音の前後関係を調べようとしてもごちゃごちゃと他のチャンネルのデータを掻き分けて捜さなければなりません。 一曲の間に幾度もテンポを変えたい場合には、テンポを変えるタイミングとテンポ数値だけ、一覧できるのが理想でしょう。 トラックがたくさん有れば、各チャンネルごとに分けておけるだけでなく、一つのチャンネルでも、例えばドラムスの場合、楽器ごとにトラックを分けておいて、楽器ごとのバランスを変更する事も、特定の楽器のタイミングを一括して変更してノリ具合を変える事も可能です。 タイミングの管理がしっかりしていれば、データを必要に応じて細かく仕分けしておいた方が全体の見通しも良く編集も楽にできます。 これが多数のトラック、すなわちマルチトラックの発想です。スタンダードMIDIファイルフォーマット1をはじめ、シーケンサの多くのデータが、このマルチトラックのファイルになっています。 マルチトラックのシーケンサは、多数のトラックのデータを、MIDI出力端子の数(通常は1つ)に、ミックスダウン(複数のトラックを合成し、データをまとめて、使用するトラック数を減らす事)しながら再生します。シーケンサの機械的性能が再生を大きく左右する事もあります。また、扱えるトラック数もシーケンサによりまちまちです。その為、市販MIDIデータなど、配布目的のシーケンスファイルは、ミックスダウンの必要がない、1トラックのスタンダードMIDIファイルフォーマット0が推奨されます。 トラックとは、MIDIデータの仕分け収納場所の事だと言えます。 |