View Single Post
Old 01-20-2019, 11:31 AM   #114
gofer's Avatar
Join Date: Jun 2008
Posts: 11,078

In a nutshell, RPN and NRPN are a clutchy way to make more parameters controllable with the 128 possible CC numbers. Done by interpreting a combination of CC numbers as an address, the value of which is then changed by another combination of CC numbers.

- CC101 = RPN MSB
- CC100 = RPN LSB

- CC 99 = NRPN MSB
- CC 98 = NRPN lSB

both adresses share the same CC for the value change
- CC6 = Data Entry MSB
- CC38 = Data Entry LSB (optionally, if the value range extends 128)

That means, you can have either one RPN or one NRPN address listen to data entry at any given time (but can rather rapidly switch between them).
It also means that once you have specified a valid RPN or NRPN address, any spurious CC6 or CC38 will change that parameter. To clear the assigned address you can send
CC101 = 127
CC100 = 127
CC99 = 127
CC98 =127

RPN (registered parameter numbers) are defined in the MIDI specs to have specific tasks, for example for setting the pitch bend range. That's similar to how CC10 is agreed to be MIDI channel pan. NRPN are open for developers to do what they want with.

To do a pitch bend range change on a compatible device you send:
- CC101 (RPN MSB) value 0
- CC100 (RPN LSB) value 0 (these two set the parameter address)
- CC6 (Data Entry MSB) value n (n = semitones)This sets the value for the latest assigned address

and optionally, to leave the place neat and clean:
- CC101 127
- CC100 127
all on the channel you want the pitch bend range be changed on.

Red doesn't mention the channel on which it should be sent for an MPE device, but I'd try the global channel first. Maybe it's even per zone?

All RPNs in the MIDI specs have MSB = 0, so I assume that RPN 6 which sets the Zones in Red's post means the LSB is 6 and you send those messages on the channel you want to assign?

The NRPN parameters look interesting, too. A patch change in your setup could for example also change the octave setting of the Rise to your liking. Red doesn't specify the channel, nor whether his address number is MSB or LSB but a little experiment should give you an answer.

Too bad I can't do all that stuff with Blocks

Last edited by gofer; 01-24-2019 at 06:17 AM. Reason: oopsie :)
gofer is offline   Reply With Quote