MIDI信号をファイルに記録した MIDI ファイルは音波の情報ではなく、演奏される音階などから構成される演奏情報であり、デジタルな楽譜とも言えます。音波信号である WAVE データはどのパソコンで聴いても同じ音楽を聴くことが出来ますが、 MIDI データは楽譜と同じく演奏される楽器(つまりMIDI音源)によって全然別の曲になってしまいます。ピアノ用に作られた曲がオルゴールで演奏されるともうそれは別の曲ですよね。
現在DTM向けとして発売されている音源は数百に及ぶ音色を演奏することができます。これらの音色は全て番号がつけられていて、番号を指定することによって音色を選ぶようになっていますが、昔はこの番号の割り振り方が音源によってまちまちだったので、「A音源用に作られたMIDIデータをB音源で演奏されるとめちゃくちゃな曲になってしまう」ということがよくありました。こういった不具合を少なくするために音色の番号の割り振り方に規則を定めた音源規格というのが提唱されました。
DTMの走りとなった「ミュージ郎」に同梱されていた音源モジュールは Roland MT-32 であったことから、しばらくはこの音源モジュールが事実上の業界標準となっていました。しかしその後メーカーや機種に制約されることなく、音源の動作・振舞いや音色配列を共通化するため1991年に AMAI と MMA によって推奨仕様として採用されたのが、GM(GM1)、すなわちGeneral MIDI System Level 1です。同時に業界標準として採用されたMIDIファイル形式のフォーマット SMF(Standard MIDI File)の普及も手伝って、MIDIデータを他の人とやりとりすることが簡単に行えるようになりました。
GMの仕様を簡略に述べると以下のようになります。
GMだけでも必要最低限の演奏をさせることが出来ますが、様々な曲を演奏させるには使用可能な音色が少なすぎたり、Reverb や Chorus などの一般的なエフェクトについて決められていなかったりと、まだまだ不便な面もありました。そこでRolandとYAMAHAによってGS・XGという、GMの拡張規格がそれぞれ提唱されました。(*)
![]() | ![]() |
両者とも方法こそ違いましたが、それによって可能となったことはほとんど同じです。概要としては
その後Roland音源にもXG規格のMulti EQ, Variation Effect に相当する機能が盛り込まれましたが、GS 自体の定義には盛り込まれていません。
やれることが似ているならいっそ統合してしまえば…ということで推奨仕様として再度採用されたのが GM2 です。以前の GS や XG の基本的なコマンドはすべて統合してしまって、応用的要素である Insertion / Variation Effect なんかは機種依存で何とかやってもらおうという意図なのでしょう。
この規格制定によって、今まで手間のかかる NRPN を用いて行った設定がすべて Control Change にて行うことが出来るようになりました。と、いってもそれらは先程述べた基本的なコマンドであって、エフェクトなどその他の応用的要素は System Exclusive などで従来通り設定する必要があります。しかし現在の PCM 方式の音源モジュールにおいては基本設定だけでもかなりのチューニングが出来るはずです。
| Category | Control | GM1(1991) | GS(1991) | XG | GM2(1999) | Remarks... |
|---|---|---|---|---|---|---|
| Change Instrument | Program Change | ○ | ○ | ○ | ○ | |
| Bank Select | × | CC#0, CC#32 | CC#0, CC#32 | CC#0, CC#32 | ||
| Volume | CC#7 | CC#7 | CC#7 | CC#7 | ||
| Performance | Pitch Bend | ○ | ○ | ○ | ○ | |
| Polyphonic Key Pressure | × | ○ | ×(incertitude) | × | ||
| Channnel Pressure | × | ○ | ×(incertitude) | × | ||
| Modulation | CC#1 | CC#1 | CC#1 | CC#1 | ||
| Portamento | × | CC#65 | CC#65 | CC#65 | ||
| Portamento Time | × | CC#5 | CC#5 | CC#5 | ||
| Panpot | CC#10 | CC#10 | CC#10 | CC#10 | ||
| Expression | CC#11 | CC#11 | CC#11 | CC#11 | ||
| Hold1(Pedal) | CC#64 | CC#64 | CC#64 | CC#64 | ||
| Sostenuto | × | CC#66 | CC#66 | CC#66 | ||
| Soft | × | CC#67 | CC#67 | CC#67 | ||
| EffectControl | Reverb Send Level | × | CC#91 | CC#91 | CC#91 | |
| Chorus Send Level | × | CC#93 | CC#93 | CC#93 | ||
| Variation Send Level | × | CC#94(*) | CC#94 | × | ||
| Data | RPN | CC#101, 100 | CC#101, 100 | CC#101, 100 | CC#101, 100 | |
| NRPN | × | CC#98, 99 | CC#98, 99 | ×(*) | ||
| Data Entry | CC#6 | CC#6 | CC#6 | CC#6 | ||
| Data Increment | × | × | ○ | × | ||
| Data Decrement | × | × | ○ | × | ||
| Filter | Cutoff Frequency | × | NRPN 1, 32 | CC#74 | CC#74 | |
| Resonance | × | NRPN 1, 33 | CC#71 | CC#71 | ||
| Envelope | Attack Time | × | NRPN 1, 99 | CC#73 | CC#73 | |
| Decay Time | × | NRPN 1, 100 | NRPN 1,100 | CC#75 | ||
| Release Time | × | NRPN 1, 102 | CC#72 | CC#72 | ||
| LFO(Vibrato) | Vibrato Rate | × | NRPN 1, 8 | NRPN 1, 8 | CC#76 | |
| Vibrato Depth | × | NRPN 1, 9 | NRPN 1, 9 | CC#77 | ||
| Vibrato Delay | × | NRPN 1, 10 | NRPN 1, 10 | CC#78 |
コメントする