MIDIの基礎知識 第1回
MIDIでよく使われる用語、MIDIの概念、MIDI機器の接続方法などの解説です。
[トップページ] / [MIDIとDTMの広場]
- ・MIDI(Musical Instrument Digital Interface)
- 電子楽器の演奏情報や音色情報などを送受信するための統一規格。これによって、複数の電子楽器による演奏、コンピュータによる制御を容易に行うことが可能となった。
- ・GM(General MIDI)
- MIDI機器の演奏方法を規定したもの。音色の配列や、リズム配列などが決められている。これに沿ったデータとMIDI音源を使えば、音源の機種やメーカーに関係なく、正常な演奏を行える(ただし、ニュアンスはメーカーの特徴が出る)。最近発売されているDTM用のMIDI音源は、すべてGM規格に準拠していると考えてよい。現在は、「GMシステムレベル1」と「GMシステムレベル2」が規定されている。
- ・GS、XG
- どちらもGMを拡張した規格。GSはローランド、XGはヤマハが提唱している。使用できる音色数を増やし、音色のエディットやエフェクトなどの指定方法も規定されている。GS音源には、SC-55、SC-88、SC-88Proなどがあり、XG音源は、MU50、MU90、MU100などがある。これらはすべてGM音源としても使える。
- ・SMF(Standard MIDI File)
- MIDIファイルの標準的なフォーマット。拡張子はMIDのものが多い。さらにその中でも、フォーマット0、1、2が存在する。フォーマット0はすべての情報を1つのトラックへ、フォーマット1は複数のトラックへ保存する形式となっている。フォーマット2は、複数の楽曲を保存できるが、ほとんど用いられていない。
MIDI音源を使った演奏は、CDやWAVEファイルを再生する方法とは異なる。CDなどでは、音の成分(波形)がすべて記録してあり、それをそのまま再生することによって音を出している。
MIDIでは、音が出る装置(音源)と、それを制御するデータ(MIDIデータ)に分かれている。MIDIでの演奏は、演奏者に楽譜を渡し(実際には少しずつリアルタイムで渡し)、その場で演奏を依頼するイメージに近いといえる。「少しずつ渡す」というのは重要な概念で、一度に大量の楽譜(データ)を渡すと、演奏者(音源)は処理しきれないことがある。
MIDIデータは音自体の情報を含んでいないため、データ量が非常に少なくて済む。その反面、出せる音の種類は音源に依存する。また、音源の違いによって演奏に差が出るのも大きな特徴である。
データは先頭から順番に送られる。早送り(現時点から少し先へジャンプすること)は比較的容易に行えるが、巻き戻しは曲が終わりに近づくほど大変になる。音源を制御するためのさまざまな設定を、先頭から送り直す必要があるからだ。これは、短時間に大量のデータを送信することにつながり、前述のように、音源が処理しきれなくなることがある。途中からデータを再生する場合にも同じことがいえる。
- ・MIDIインターフェイスを用いる
- コンピュータ側にMIDIインターフェイスのボードやカードなどを差し、MIDI OUTからMIDIケーブルを音源のMIDI INへ接続する。HOST SELECTはMIDIに設定する。
- ・専用ケーブルでシリアル接続をする
- この方法は、音源側にコンピュータと接続するための端子が用意されている必要がある。音源のコンピュータ用の端子からコンピュータのシリアルポート(RS-232C、RS-422など)へ接続する。通常、HOST SELECTとしてMac、PC-1(31,250bps)、PC-2(38,400bps)、MIDIがあり、MacintoshはMac、PC-98はPC-1かPC-2、PC/AT互換機はPC-2(機種によってはPC-1でも可)の設定にする。
- ・MIDIケーブルでシリアル接続をする
- コンピュータのシリアルポートへ、MIDI端子のついたMIDIアダプタをつなげて、そこからMIDIケーブルで音源に接続する。音源にコンピュータ用の端子がなかった時代は、MIDIインターフェイスボードでの接続のほかに、この方法もよく用いられた。
- ・USBケーブルで接続をする
- コンピュータと音源の両方にUSB端子があれば、USBケーブルを用いて接続することができる。
- ・MIDIケーブルでUSB接続をする
- コンピュータ側のみUSB端子がある場合、MIDI端子への変換アダプタを使用して、MIDIケーブルで接続することができる。USBケーブルとMIDIケーブルが一体になっている製品もある。
MIDI情報を送信する側のMIDI OUTから、受信するMIDI機器のMIDI INへ接続する。そこからさらに別のMIDI機器へ情報を送りたいときは、MIDI OUTやMIDI THRUを使う。MIDI THRUを使うと、もとのMIDI機器の情報がそのまま送られる。
コンピュータ用端子から入ってきたMIDI信号を、ほかの音源へ送りたいときは、MIDI OUTを用いる。これは、MIDI INから入ってきた情報のみをMIDI THRUに送るしくみになっているからである(MU90、SC-88Proの場合)。
MIDIメッセージには大きく分けてチャンネルメッセージとシステムメッセージの2つがある。
チャンネルメッセージは8ビット構成になっていて、最上位ビットが1の場合はステータス、0の場合はデータという区別がされている。
- ・ステータス
- ステータスは、3つのブロックに分けられる。
ステータスであるという情報に1ビット(ステータスなので1)
メッセージの種類(どんな命令を送るか)に3ビット(ノートオンなら001)
チャンネル情報(1〜16Ch.)に4ビット(Ch.1なら0000)
- ・データ
- データは、2つのブロックに分けられる。
データであるという情報に1ビット(データなので0)
データの値に7ビット(127なら1111111)
値の範囲は00H〜7FHのため、MIDIメッセージは128段階の分解能が多い。
ステータスの次にデータが続き、ステータスのメッセージの種類によって、データがいくつあるかが決まる。たとえば、音色を変更するプログラムチェンジなら、ステータスのあとに、音色番号のデータが1つだけ続く。ノートオンなら、ステータスのあとには、1つ目のデータとしてノートナンバー、2つ目のデータとしてベロシティが続くことになる。
1つ前のMIDIメッセージとステータスが同じ(メッセージの種類とチャンネル情報が同じ)なら、ステータスを省略できる。これをランニングステータスという。
システムメッセージの中には、エクスクルーシブメッセージというものがある。これは、機種固有の命令をやりとりする情報である。メーカーごとにIDが決められており、主なメーカーのIDとして、40H=カワイ、41H=ローランド、42H=コルグ、43H=ヤマハがある。データ量に決まりはないが、F0Hで始まりF7Hで終わることになっている。GSリセットやXGシステムオンなどは、このエクスクルーシブメッセージである。
トラック、チャンネル、パートという言葉は、誤って使用されることが多い。どれも異なる意味を持つのだが、これらの数字が一致していることが多く、その違いが区別しにくいからだと思われる。
- ・トラック
- シーケンスソフトのデータの振り分けで使われる用語。SMFのフォーマット0を除き、ほとんどのシーケンスソフトでは、演奏情報がトラックごとに分かれた形式でMIDIデータを扱っている。
通常は、トラックとチャンネルの番号が一致しているのだが、トラック1をチャンネル2に対応させたり、トラック2とトラック3をチャンネル5に対応させるという使い方も可能である。
複数のトラックを同一チャンネルにしておくと、編集がしやすくなる場合がある。ドラムの楽器を個別に入力したり、音の情報と、その他の情報を別トラックで入力したりできるわけである。
- ・チャンネル
- 基本的に、MIDIメッセージはチャンネルごとに区別される。1本のMIDIケーブルで16チャンネルを扱うことができる。シリアルケーブルであれば、1本で32チャンネル使用することが可能で、しかも双方向の通信も行える。
データの送信チャンネルと、音源の受信チャンネルが一致したときのみ、そのMIDIメッセージが有効となる。
- ・パート
- 各チャンネルの情報を受信して、独立した演奏を行う部分。液晶ディスプレイが備わっている音源の、音量レベルのバー表示は、それぞれの「パート」の情報である。
通常は受信チャンネルとパートの番号が一致している。これを変更すると、チャンネル1のデータをパート2で受信したり、チャンネル1のデータをパート1とパート2の両方で受信する、ということもできる。
ただし、ギターのパート、ピアノのパートなど、楽器や曲中の役割の区別の際にもパートという言葉が使われる。
これらの言葉を用いて、シーケンスソフトから音源へMIDIメッセージが送られる状況を説明すると、以下のようになる。
送信する「チャンネル」が1に設定してある「トラック」に、MIDIメッセージを入力すると、「チャンネル」が1のデータとして送信され、音源の、受信する「チャンネル」が1に設定されている「パート」で受け取る。
[トップページ] / [MIDIとDTMの広場]