parameter #1: channel (0-15) parameter #2: NRPN MSB indicator (controller #99 data) parameter #3: NRPN LSB indicator (controller #98 data) parameter #4: NRPN MSB data (controller #6 data) [parameter #5: NRPN LSB data (controller #38 data)] or: parameter #1: channel (0-15) parameter #2: NRPN MSB indicator (controller #99 data) parameter #3: NRPN LSB indicator (controller #98 data) parameter #4: NRPN Floating point in range (-1..1) (ccont#6 and #38 data)
NRPN (Non-registered parameter number) -- General MIDI and Extended MIDI mess. It becomes the receiving synthesizer's responsibility to determine the meaning of continuous controller (ccont) #6 from data sent with cconts #98,99 (for NRPNS) and cconts #100,101 (for RPNS). NRPN parameters are not reset when the ccont#121 is sent to reset controllers.
NRPN's are "non-standard" meaning that any synthesizer could do whatever they want with a given NRPN; However, the GS and XG specifications are given in the table further below.
The data for NRPNs are transfered to synthesizer with data slider ccont #6(MSB) and ccont #38(LSB). Also data increment ccont#96 (data increment) and ccont#97 (data decrement) are in relation to the RPN or NRPN in effect. Increment and Decrement are not recommend to use with RPN's because of confusion in the MIDI industry over which 7-bit data (#6 or #38) to increment.
Once you have selected an NRPN on a given channel, the channel will apply subsequent Data Entry to the selected parameter. After making the necessary settings you should set NRPN to NULL to reduce the risk of operational errors. a NUL RPN will disable the previous values of either RPN or NRPN data.
The following NRPN values are supported in Yamaha's XG specification: CCont #98 = LSB of NRPN parameter ID CCont #99 = MSB of NRPN parameter ID NRPN MSB LSB Data Range #99 #98 Parameter (ccont#6=MSB, ccont#38=LSB) === ===== ====================== ====================== 1 8 Vibrato Rate -64.. 0..+63 logical range or (-50..+50) 0..64..127 MIDI data range ( 14..114) 1 9 Vibrato Depth same ranges as above 1 10 Vibrato Delay same ranges as above 1 32 Filter Cutoff Freq. same ranges as above 1 33 Filter Resonance same ranges as above 1 99 EG Attack Time same ranges as above 1 100 EG Decay Time same ranges as above 1 102 EG Release Time same ranges as above 20 xx Drum Filter Cutoff Freq same ranges as above xx = drum MIDI key number 21 xx Drum Filter Resonance same ranges as above xx = drum MIDI key number 22 xx Drum EG Attack Rage same ranges as above xx = drum MIDI key number 23 xx Drum EG Decay Rate same ranges as above xx = drum MIDI key number 24 xx Drum Pitch Coarse same ranges as above xx = drum MIDI key number 25 xx Drum Pitch Fine same ranges as above xx = drum MIDI key number 26 xx Drum Level 0..64..127 MIDI data range xx = drum MIDI key number 28 xx Drum Pan Random, Left..Center..Right 0.......1.....64......127 MIDI data range xx = drum MIDI key number 29 xx Drum Reverb Send Level 0..64..127 MIDI data range xx = drum MIDI key number 30 xx Drum Chorus Send Level 0..64..127 MIDI data range xx = drum MIDI key number 31 xx Drum Variation Send Level 0..64..127 MIDI data range xx = drum MIDI key number 127 127 Null RPN (disables RPN/NRPN parameters from being altered).RPN -- sends a registered parameter number where:
parameter #1: channel (0-15) parameter #2: RPN MSB indicator (controller #101 data) parameter #3: RPN LSB indicator (controller #100 data) parameter #4: RPN MSB data (controller #6 data) [parameter #5: RPN LSB data (controller #38 data)] or: parameter #1: channel (0-15) parameter #2: NRPN MSB indicator (controller #99 data) parameter #3: NRPN LSB indicator (controller #98 data) parameter #4: NRPN Floating point in range (-1..1) (ccont#6 and #38 data)
RPN (registered parameter number) -- General MIDI and Extended MIDI mess. It becomes the receiving synthesizer's responsibility to determine the meaning of continuous controller (ccont) #6 from data sent with cconts #100,101 (for RPNS) and cconts #98,99 (for NRPNS).
The data for RPNs are transfered to synthesizer with data slider ccont #6(MSB) and ccont #38(LSB). Also data increment ccont#96 (data increment) and ccont#97 (data decrement) are in relation to the RPN or NRPN in effect. Increment and Decrement are not recommend to use with RPN's because of confusion in the MIDI industry over which 7-bit data (#6 or #38) to increment.
Once you have selected an RPN on a given channel, the channel will apply subsequent Data Entry to the selected parameter. After making the necessary settings you should set RPN's to NULL to reduce the risk of operational errors. a NULL RPN will disable the previous values of either RPN or NRPN data.
The following RPN values are registered: CCont #100 = LSB of RPN parameter ID CCont #101 = MSB of RPN parameter ID RPN Data Range MSB LSB Parameter (ccont#6=MSB, ccont#38=LSB) === ===== ====================== ====================== 0 0 Pitchbend Sensitivity 0-127 (default 2) (LSB ignored) (The number of +/- half steps in pitch wheel range). 0 1 Fine Tune -64.. 0..+63 logical range 0..64..127 MIDI data range 0 2 Coarse Tune same range as above. 0 3 Change Tuning Program 0..127 0 4 Change Tuning Bank 0..127