8,720
edits
Changes
m
→MIDI NRPN
==== MIDI NRPN ====
[https://en.wikipedia.org/wiki/NRPN NRPN (Non-registered Parameter Numbers)] uses a set of 4 different CC messages to exponentially increase both the size of possible addresses and values that a device can send/receive. '''Since each CC message can carry a value from 0-128, NRPN addresses and values each have a range of 128 x 128, which is 16,384.''' The exact specification is below:# '''CC 99''': Value is the Most significant Byte (MSB) of the desired address# '''CC 98''': Value is the Least Significant Byte (LSB) of the desired address# '''CC 06''': Value is the Most Significant Byte (MSB) of the desired value# '''CC 38''': Value is the Least Significant Byte (LSB) of the desired value
While the NRPN spec allows CC 38 to be optional, the KPA ''requires '' it. The 4 CC's named above must be received in order, and the NRPN message is processed as soon as CC 38 is received. ''Once an address has been selected via CC's 99 and 98, multiple values can be sent without sending 99/98 each time to reselect the address - only 06/38 needs to be sent.'' That is useful to know if you want to program NRPN to "move" a single parameter over time.
Some footcontrollers support NRPN 14-bit addressing but not 14-bit values via CC's 06 and 38. The KPA allows CC 119 to send the value in this case. So the footcontroller can be programmed to send an NRPN as follows:# '''CC 99''':address MSB, # '''CC 98''':address LSB, # '''CC 119''':7-bit value. The 7-bit value is mapped to the appropriate 14-bit value - 128 becomes 16,384, 64 becomes 8,192, while 0 remains 0. Since each CC message can carry a value from 0-128, NRPN addresses and values each have a range of 128 x 128, which is 16,384.
{|