これらはコントロール・チェンジの一種で、音源のパラメータ設定を細かく設定できる、味方につければナカナカ頼もしいやつらなのです。
まず「RPN」は「レジスタード・パラメータ・ナンバー」の略で、「MIDI規格で機能が定義されている拡張領域」のことです。通常、ピッチベンド・レンジの設定や音源のチューニングに使われることが多いようです。
「NRPN」は「ノン・レジスタード・パラメータ・ナンバー」の略で、「MIDI規格では機能を定義せず、メーカーや音源で固有の機能を設定している拡張領域」のことです。GS音源では、簡単な音色エディットが可能なパラメータが割り当てられています。
他に、「RPN」「NRPN」と組み合わせて使うスペシャルコントローラとして、「DATA(M)」や「DATA(L)」があります。
これらは、それぞれ「データ・エントリー」の「MSB」や「LSB」といって、パラメータに割り当てられたデータの、実際の値や変化量を送信します(MSBの送信だけで済む場合が多いみたいですね)。
これらのスペシャルコントローラは、別項でご説明している「RolDev#、RolBase、RolPara」と似たような考え方で使うことができます。
使用頻度の高い「NRPN」を例にご説明しましょう。
ここでは、GS音源の「ビブラート・デプス」(ビブラートの深さ)を変えてみます。
音源マニュアル巻末、「MIDIインプリメンテーション(以下インプリと略)」の「NRPN」の項目を見ると、NRPNの「MSB」は「01H」、「LSB」は09Hと書かれています。この16進数を10進数に換算して・・・と言ってもこの場合は16の位が「0」ですから、そのまま「1」と「9」になります。
この数値をスペシャルコントローラの「NRPN(M)」と「NRPN(L)」の、それぞれ「VEL」の位置に入力し、パラメータ指定は完了です。
次に実際のデータ変化量を「データ・エントリー」で入力します。インプリを見ると、「Data
Entry MSB」は「mmH」となっていますが、その横を見ていただくと、
「mm:0EH-40H-72H (-50 - 0 - +50)」と書かれてますね。すなわち、これがデータの変化量になります。実際に入力する数値は「0EH-40H-72H」を10進数に換算した値で、「14〜64〜114」。「64」を中心(0)に、上下に50ずつの変化幅を持った設
定となります。ビブラート・デプスを最大値の「+50」に設定したい場合は、「DATA(M)」の「VEL」の位置に「114」と入力します。
以上で入力は終わりです。ここまでをもう一度整理して、下図に示します。
<GS音源の任意のパートの「ビブラート・デプス」を「+50」にする書式>
NOTE K# ST GT VEL
−−−−−−−−−−−−−−−−−−−−−−−
NRPN(L) 98 9
NRPN(M) 99 1
DATA(M) 6 64