GS/XGの音色マッピング(バンク・セレクトとプログラム・チェンジ)
MIDI音源の音色切り換えはプログラム・チェンジを使用して行います。 プログラム・チェンジでは 128通りの音色しか選択することができませんが、MIDI音源はこれを越える音色を持っているのが普通です。 ここでは、GS音源として Roland SC-88VL、XG音源として YAMAHA MU80を例にして解説しますが、 これらのサウンド・モジュールの保有音色数は次の通りです。
- 654音色(ドラム・セットを除く):SC-88VL
- 729音色(ドラム・セットを除く):MU80
MIDI音源では 128個を越える音色をコントロールするためにバンクという考え方を使用しています。 複数用意されているバンク(それぞれ最大 128個の音色を収容)のうち一つを事前に選択しておいてから、 プログラム・チェンジでそのバンクの中の音色指定するわけです。
![](bank.gif)
コントロール・チェンジのコントローラー番号0と32がバンクを選択するのに使用されます。 通常これらをバンク・セレクトと呼びます。
- コントロール番号0:バンク・セレクト(MSB)
- コントロール番号32:バンク・セレクト(LSB)
GSフォーマットと XGフォーマットでは、各バンクに収容される音色の違いはもとより、バンク・セレクト MSBおよび LSBの役割が違います。
【GSフォーマットのバンク構成とバンク・セレクト MSB/LSB】
GSフォーマットのバンク構成は下のような階層構造になっています。
![BANK select](bankgs0.gif)
階層のことをMAP、 上の図のバンク番号に相当する部分をバリエイション番号と呼び、 バリエイション(バンク)番号をバンク・セレクト MSBで、MAPを、同 LSBで選択するようになっています。なお、図では4つしか示していませんが、バンクはもっとあります。
![BANK select](bankgs1.gif)
GSフォーマットではバンク(バリエイション)#0が GMに準拠した音色マッピングになっており、これをキャピタル・トーンと呼んでいます。
バンク(バリエイション)番号の#1以上では音色のマッピングに歯抜けがあります。
図ではマップ番号すなわちバンク・セレクト(LSB)は#1から始まっていますが、実は#0というのがあります。
SC-88VLの操作パネルにはマップ切り換えボタンがありますが、バンク・セレクト(LSB)は#0というのは、マップを強制的に切り換えるのではなく、
ボタンの設定に任せることを指定するものです。
では、XGフォーマットの場合はどのようになっているのでしょうか?
【XGフォーマットのバンク構成とバンク・セレクト MSB/LSB】
XGフォーマットは大きく次の3つに別れています。
- ノーマル・ボイス:GM用バンク(基本ボイス)および拡張音色用バンク(拡張ボイス)
- 効果音
- ドラム/パーカッション
これらの種類のことをボイス・タイプと呼びますが、XGフォーマットではこれをバンク・セレクト MSBで切り換え、
各ボイス・タイプ内のバンク・セレクトは LSBで指定するようになています。
ちなみに GSフォーマットではこれに相当する部分を MSBの方で切り換えています。なお、図ではノーマル・ボイスは4つしか示していませんが、バンクはもっとあります。
![BANK select](bankxg0.gif)
【両者の比較】
ちょっと小さいですが GSと XGを並べてみます。上が GS、下が XGです。MSB/LSBの役割がまったく逆になっています。
![BANK select](bankgs1.gif)
![BANK select](bankxg0.gif)
YAMAHAの MIDI音源モジュールにはTG300Bというモードを装備しているものがあります。 このモードの場合は GSフォーマットのように、LSBではなく MSBでバンク・セレクトが行われます。 それが 一部でGS互換モードと呼ばれるゆえんですが、 各バンクにマッピングされている音色に完全な互換性があるわけではありません。
ここでは、GSおよび XG音源の各バンクの各プログラム番号に収容する音色は紹介せず、 両者の音色選択の考え方の違いの解説にとどめることにします。