中音公司的有关介绍文章摘录:
为了在规定的120个控制器之外扩展使用更多的控制器,MIDI规定中准备了RPN(Registered Parameter Number注册参数号)和NRPN(Non Registered Parameter Number非注册参数号)两套控制器,它们之间的区别仅在于RPN是MMA协会“官方”定义的,而NRPN可以由厂商们自行定义。使用方法完全相同。
目前定义的RPN参数仅限于00 00H(弯音音域)、00 01H(标准音细调)、00 02H(标准音粗调)、00 05H(调制深度)、7F 7FH(阻止为RPN和NRPN输入控制值)五个。
为了讲清RPN和NRPN的使用方法,首先简单复习一下简单的控制变换(Control Change)命令。
控制变换命令属于通道信息,由3个字节组成,第一个字节为状态码,表明控制变换的属性和目标通道;第二字节由0开头,是控制器编号,因为只有7比特,最多有128个编号;第三个字节也由0开头,是控制器值,最大值127。
当数值超过128的时候需要使用2条控制器命令,一条发最高位,一条发最低位,构成14比特的数值,最大数值可达16384。根据MIDI的规定,0-31和32-64号控制器分别结对,前者发最高位,后者发最低位。
我们再介绍6条控制变换命令:
100号控制器——RPN最高位
101号控制器——RPN最低位
98号控制器——NRPN最高位
99号控制器——NRPN最低位
6号控制器——输入数据最高位
38号控制器——输入数据最低位
下面我们以发送1通道弯音音域12半音命令为例具体说明用法。
弯音音域命令有一点特殊,它的数据值只用最高位,以半音为单位。发送的顺序是:
100号控制器00(RPN最高位)
101号控制器00(RPN最低位)
6号控制器0C(16进制0C等于十进制12,12个半音)
38号控制器00(虽然最低位没有定义,也要发送,否则可能出错)
如果这以后要把弯音音域改为纯五度,只发6号控制器07即可。
没有再次发送100和101号控制器命令之前,6号控制器始终可以改变1通道的弯音音域。