「RolDev#、RolBase、RolPara」って、
いったい何者なんだ〜!?


 機種別スペシャルコントローラの中でも特に使用頻度の高い、ローランド社の音源用の「RolDev#、RolBase、RolPara」。
これの実際の入力方法をご説明します。

 まず、それぞれのデータの意味を知っておかなくてはいけませんが、その前に「エクスクルーシブ・メッセージ(以下エクスクルーシブと略記)」のお勉強から。

 「エクスクルーシブ」とは、メーカーやMIDI機器固有の、音色やセッティング情報等をやりとりするためのメッセージです。
 実際のデータ形式は「今からエクスクルーシブを送るぞ〜」という「エクスクルーシブ・ステータス」に始まり、「このメッセージはローランドのGS音源用だぞ〜」といったような意味の「メーカーID」「デバイスID」「モデルID」、そしてメッセージの役割を伝える「コマンドID」が続きます。
 そしてそのあとに、メッセージの具体的なデータ内容を送り、データを送り終わった時点で、そのデータが正しいかどうか確かめる「チェックサム」と「以上でエクスクルーシブは終わりだよ〜」という意味の「エンド・オブ・エクスクルーシブ」で締めくくられます。

・・・で、「ユーザーエクスクルーシブエディタ」や「トラックエクスクルーシブ」を用いてエクスクルーシブを入力する場合は、上記の全ての項目を調べ、計算して入力する必要があるのですが、「機種別スペシャルコントローラ」では、必要最低限のデータ入力だけで済むように簡略化されています。
 すなわち「機種別スペシャルコントローラ」=「機種(メーカー)別エクスクルーシブ簡単送信コマンド」なのです。

 それでは、「RolDev#、RolBase、RolPara」を実際に使ってみましょう。

 まず「RolDev#」。これはローランド社の音源各機種に割り当てられた「デバイスID」と「モデルID」が入ります。
 「デバイスID」は、音源側で特に変更していない限り、工場出荷時の値が入りますが、実際には「機器のユニットナンバーから1を引いた値」になります。
 例えば、GS音源のユニットナンバーの初期値は「17」なので、「デバイスID」は1を引いて「16」になります。
 次に「モデルID」ですが、これは機種ごとに決っています。GS音源の場合は、音源のマニュアルの「MIDIインプリメンテーション(以下インプリと略記)」を見ると「42H」と記述されてます。
 これは16進数ですので、10進数に換算する必要があります。「42H」の場合は「16×4+2」で「66」となります。
 こうして導き出された「16」と「66」を、それぞれ「RolDev#」の「GT」と「VEL」の位置に入力します。
 この「RolDev#」は、同じトラックから同じ音源あてにデータを送る場合は、最初の1回だけ入力すれば、あとは省略できます。

 次に「RolBase」。ここには「実際に送信するデータのアドレスのうち、上位2バイト」を入力します。
 ここで再びインプリを見て、送信するデータのアドレスを確認します。
 GS音源のリバーブの種類を設定する場合は、「REVERB MACRO」の項目のアドレスを見ると「40 01 30」となっていますので、それぞれ10進数に換算し、「64 01 48」という値を出します。
 で、この値のうち最初の2つ、「64」と「1」を、それぞれ「RolBase」の「GT」と「VEL」に入力します。
 「RolBase」は後に続くデータが同一のアドレスあての場合は、先頭に1回入力すれば、あとは省略できます。

 最後に「RolPara」。これは、先ほどの例で割り出したアドレスの3つめ(この場合は「48」)を「GT」の位置に入力し、「VEL」の位置には、実際のデータが入ります。ここではGS音源のリバーブを「Hall2」に切り替えるので、「4」を入力します。

 以上で入力は終わりです。ここまでをもう一度整理して、下図に示します。


<GS音源のリバーブマクロを「Hall2」にする書式>

     NOTE K#  ST  GT VEL
   −−−−−−−−−−−−−−−−−−−−−−−
     RolDev#       16  66
     RolBase      64   1
     RolPara      48   4

 なお、これら「機種別スペシャルコントローラ」は、あくまでも「エクスクルーシブ」を送信するコマンドなので、大量にデータを送る場合はテンポがフラついたり、音源側がデータを受けきれないことがあります。
 うまくデータを送れない場合は、ステップタイムを調節して、データを送信する間隔を空けてみてください。