RPNとか、NRPNって・・・何ですか?


 これらはコントロール・チェンジの一種で、音源のパラメータ設定を細かく設定できる、味方につければナカナカ頼もしいやつらなのです。

 まず「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