音色の切り替え


プログラムチェンジメッセージ



音色を切り替えるにはプログラムチェンジメッセージをつかいます。 このメッセージはプログラムチェンジを示すステータス”Cn”とプログラムナンバを表すデータバイト1バイトから構成されます。
プログラムチェンジの音色番号によって音色を切り替えるわけですが、プログラムナンバに対する音色の規定はないので、メッセージ送出側の音色と同じものが受信側で選択されるとは限りません。
しかし、これでは演奏の互換性が保証できないのでGM(General MIDI)規格によって、バンク切替を行わないときの128音色が規定されています。(バンク切替はGM規格では規定されていません)。
なおGM規格ではチャンネル10はリズム(パーカッション)音色に固定され、各音階(ノート番号)が、それぞれのリズム音色に対応しています。


バンクセレクト

プログラムチェンジメッセージによって、128音色を切り替えることができますが、 機種によっては128音色以上の音色セットを持つものがあります。こうなると、プログラムチェンジだけではすべてを扱うことができないので、 バンクを設け、コントロールチェンジのバンクセレクトメッセージによってバンクを切り替えて対処する方法をとることになりました。 バンクセレクトはコントロールナンバの0(MSB)と32(LSB)に割り当てられています。
バンクセレクトメッセージをMSB、LSB両方を送ると合計で14ビット、つまり16384通りの切り替えができます。さらにバンクごとに128音色を指定できるので、 実質2097,152音色を指定することができます。

バンクセレクトメッセージはバンクを切り替えるだけなので音色を切り替えるには、 バンクセレクトメッセージ送信後に速やかにプログラムチェンジを送る必要があります。