当サイトのインデックスと最新の更新情報はこちらのトップページに掲載されています。

TO HOME

RPN(Registered Parametaer Number)とNRPN(Non-Registered Parametaer Number)

RPNと NRPNはシステム・エクスクルーシブ・メッセージの次にわかりにくいものではないでしょうか。

これまでにもコントロール・チェンジという MIDIメッセージが出てきました。 もうお分かりのように、コントロール・チェンジとは、シンセサイザーに装備されている各種のコントローラ(xxホイールであったり、 つまみ、ボタン、ペダル)の動きを伝達する為に存在します。
そのコントローラーの種類を識別するためのものが、コントロール・チェンジ(メッセージ)に含まれる"コントローラーNumber"です。
従って、基本的には"コントローラーNumber(コントローラー番号)"が、変化の対象となるコントローラーを特定するIDになります。 MIDIではコントローラー番号は0〜127までの128個しか識別出来ない(MIDIメッセージのフォーマットの都合です)ため、 それを越える数のコントローラーを扱えるように考慮されています。

コントロール・チェンジ
コントローラー番号意味するところ機能パラメータの機能
000バンク番号バンクの選択
001モジュレーション・デプスモジュレーションの深さ
006データ・エントリー(MSB)RPNやNRPNで指定したパラメータの上位バリューの設定
007メイン・ボリューム音量設定
010パンポット定位の設定
011エクスプレッションエクスプレッションのON/OFF
036データ・エントリー(LSB)RPNやNRPNで指定したパラメータの下位バリューの設定
091リバーブ・デプス残響効果の深さ
093コーラス・デプスコーラス効果の深さ
098NRPN LSBノンレジスタード・パラメータの下位番号の選択
099NRPN MSBノンレジスタード・パラメータの上位番号の選択
100RPN LSBレジスタード・パラメータの下位番号の選択
101RPN MSBレジスタード・パラメータの上位番号の選択

"RPN(NRPN) LSB"、"[RPN(NRPN) MSB"で、操作したいパラメータを特定し、"データ・エントリ(LSB,MSB)"を使用して設定値を送り込む、 というのが、基本的な操作の流れです。

この RPNとNRPNは、次のようなマトリックスで考えると、理解しやすいとおもいます。

MSBLSB機能 データ・エントリ(MSB,LSB)の機能
RPN0 0 ピッチ・ベンド・センシティビティーピッチ・ホイールをいっぱいに動かしたときの、音程変化量
(MSBで半音数を指定する)
1 マスター・ファイン・チューニング 音源のチューニング(微調整)
2 マスター・コース・チューニング 音源のチューニング(半音単位で調整)
127127RPN,NRPNが設定されていない状態にする
NRPN1 8 ビブラート・レート ビブラートの周期の早さ
9 ビブラート・デプス ビブラートの深さ
10 ビブラート・ディレイ ビブラートがかかりはじめるまでの時間

例えば、ピッチ・ホイールをいっぱいに動かしたときに、音程が上下1オクターブ変化するように、受信側シンセサイザーを設定したい、とします。
すなわち、"ピッチ・ベンド・センシティビティー"に対して、データ・エントリーのMSBのみを使用して"12(1オクターブは12半音)"を送り込むことになります。


1.まず、コントローラー101番(RPN MSB)、バリューに"0"を設定したコントロール・チェンジを送り出します。

受信側シンセサイザーはRPNのMSBを受信しても、LSBがまだ分からないので、機能が特定できません。

MSBLSB機能 データ・エントリ(MSB,LSB)の機能
RPN0 0 ピッチ・ベンド・センシティビティーピッチ・ホイールをいっぱいに動かしたときの、音程変化量
(MSBで半音数を指定する)
1 マスター・ファイン・チューニング 音源のチューニング(微調整)
2 マスター・コース・チューニング 音源のチューニング(半音単位で調整)
127127RPN,NRPNが設定されていない状態にする
NRPN1 8 ビブラート・レート ビブラートの周期の早さ
9 ビブラート・デプス ビブラートの深さ
10 ビブラート・ディレイ ビブラートがかかりはじめるまでの時間


2.次に、コントローラー100番(RPN LSB)、バリューに"0"を設定したコントロール・チェンジを送り出します。

受信側シンセサイザーはRPNのLSBを受信したことによって、機能が特定できました。

MSBLSB機能 データ・エントリ(MSB,LSB)の機能
RPN0 0 ピッチ・ベンド・センシティビティーピッチ・ホイールをいっぱいに動かしたときの、音程変化量
(MSBで半音数を指定する)
1 マスター・ファイン・チューニング 音源のチューニング(微調整)
2 マスター・コース・チューニング 音源のチューニング(半音単位で調整)
127127RPN,NRPNが設定されていない状態にする
NRPN1 8 ビブラート・レート ビブラートの周期の早さ
9 ビブラート・デプス ビブラートの深さ
10 ビブラート・ディレイ ビブラートがかかりはじめるまでの時間


3.次に、コントローラー6番(DATA ENTRY MSB)、バリューに"12"を設定したコントロール・チェンジを送ります。

受信側シンセサイザーは"2."で機能が確定しているため、以降受信するデータ・エントリ(コントローラ6番(MSB)と36番(LSB)) をすべて"ピッチ・ベンド・センシティビティー"のバリューとして扱います。"ピッチ・ベンド・センシティビティー"の場合は、 MSBのみで、バリューを指定できるため、LSBの送信は必ずしも必要ではないようです(メーカーはLSB"0"の送信を推奨しています)。

MSBLSB機能 データ・エントリ(MSB,LSB)の機能
RPN0 0 ピッチ・ベンド・センシティビティーピッチ・ホイールをいっぱいに動かしたときの、音程変化量
(MSBで半音数を指定する)
1 マスター・ファイン・チューニング 音源のチューニング(微調整)
2 マスター・コース・チューニング 音源のチューニング(半音単位で調整)
127127RPN,NRPNが設定されていない状態にする
NRPN1 8 ビブラート・レート ビブラートの周期の早さ
9 ビブラート・デプス ビブラートの深さ
10 ビブラート・ディレイ ビブラートがかかりはじめるまでの時間

"ピッチ・ベンド・センシティビティー"が選択された状態は、データ・エントリーを受信した後も保持されます。この状態を解除するために、"RPN,NRPNが設定されていない状態にする"というのがあるわけです。


RPNおよびNRPNのR(REGISTERD)とは、MIDI規格によって、その内容がリザーブされている、ということを指しています。
従って、RPNのMSB,LSBの意味はどのメーカのどの機種も同じです。NRPNの方はNON-REGISTAERDというその名からも分かるように、 メーカーが任意に機能をアサインすることが許されています。

上の表に示した NRPNの内容は、ローランド社のSC-88VLのものです。そのため、異なる機種では必ずしも表の通りではありません。
そして、このへんの詳細な仕様が「MIDIインプリメンテーション」に書かれているわけです。これ、見る者を拒むような資料ではありますがね.....








TO HOME


- 1996 izmi All rights Reserved. -