RPNとNRPNの扱い方

RPNとNRPNというのはMIDI製作を始めて間もない方にはあまり馴染みがないかもしれませんが
ある程度やりこんできた方には馴染みの多い代物です
しかし、RPNはともかく、NRPNの設定はなかなかにややこしく、説明書も分かりにくいものが多いのが現状です
NRPNについての質問を受けましたので、コンテンツとして立ち上げました


RPN、NRPNって何者?

RPN、NRPN共にイニシャルを並べたもので、略せずに言うと
RPN=Registered Parameter Number
NRPN=Non Registered Parameter Number
となります

まずは簡単なRPNについて説明しますと
MIDIという規格がありますが、その規格の中の一つの機能です
つまり、MIDI音源がどの会社のどの音源でもRPNで設定した値は反映されます
例えば、ピッチ・ベンド・センシティビティーというRPNをデータエントリーしてやり
値を24(半音24=2オクターブ)としてやれば、MIDIファイルでピッチベンドを用いた場合
2オクターブものピッチベンド変化を表現することが可能になります

次にNRPNですが、こいつはRPNがMIDI規格のものに対して
MIDIの標準規格にないRPNだと思ってもらえればOKです
だからRPNの前にNon(否定)がくるわけですね(笑)
簡単にいうと、こいつは機器固有のRPNというわけです
機器固有とはいっても、GS規格はGS規格で共通にしてあったりするので
SC-88でNRPNを使ったMIDIをSD-90で鳴らしたら音が狂った〜なんてことはありません(笑)
NRPNもRPN同様にMIDIファイルの中に設定してやることで
音源に特殊な効果をださせます
MIDI作家さんに御馴染みなもので、カットオフとレゾナンスなんかもこのNRPNになりますね

MSBとLSBって何者?

さて、このRPNとNRPNがどんなものかが分かったところで早速MIDIファイルに組み込んでみよう!
と行きたいところですが、その前にもう一つ変な用語が出てきちゃうのでそれを先に説明します
さて、このコンテンツを見ている以上、パソコンを扱っている人がほとんどだと思います
パソコンをやると出てくる御馴染みと単位がありますよね
そう、バイト(byte)です
何を今更当たり前のことを・・・と思われるかもしれませんが
バイトが多ければ多いほど、情報量は増えていきます
1byteで128の情報を持てます
128の情報って結構多いですが、所詮128しかないんです
数字でいうと0〜127までしか無いわけです
ところが、別にもう1byteあったらどうでしょう?
仮に最初の1byteをAとして数字0〜127という情報だったとしましょう
次の1byteをBとして同じく数字0〜127という情報にしましょう

Aだけ、またはBだけだと128の数字しか表わせなかったものが
AとBという2段重ねにすることで
Aの0とBの0
Aの0とBの1
という風に組み合わせがふえていきますよね
最初の128の情報Aのそれぞれに128のBの情報があるわけですから
数学が得意な人はもうわかってますよね?(笑)
128×128もの情報をもつことが可能になるわけです
計算すると16384
1つでは3桁だったものが2つだと5桁、なんと万の位になっちゃうわけですね

さて、MSBとLSBが一体なんで存在するのか、薄々わかってきましたね(笑)
MSBしかなければ128の情報しかもてません
LSBがそこに加われば16384もの情報に膨れ上がります

MSB=Most Significant byte
LSB=Least Significant byte

簡単にいうと同じようなものなんですが、この2つを組み合わせて16384もの情報にすることから
上位、下位を設けたわけです
MSBが上位バイト、LSBが下位バイトとなるわけです
MIDIファイル製作もマニアックなところまでこだわり始めると
このMSB、LSBは当たり前にデータ一覧などに出てきます
なんのこっちゃ?と思わずにただ情報量を増やすために2種類準備してあるものと考えてください(笑)


Next
(RPN、NRPNを扱う)


Back