Included within the various types of Control Changes (often abbreviated as “CC”) is an extended range known as NRPNs
The MIDI specifications do not define any specific functions which can be set using NRPNs. This is because the NRPNs are intended to serve as a flexible range of controls which can be assigned whatever parameters are required for a specific device in order to achieve the desired changes in its sounds, or enhance its expressive capabilities. In contrast, there is another type of extended form of control known as an RPN (registered parameter number). As their name suggests, RPN functions are all defined (registered) within the MIDI specifications (p.189).
When using an NRPN, the function (sound parameter) being dealt with needs to be specified by means of the numeric values that are supplied for the NRPN MSB (Controller No. 99) and NRPN LSB (Controller No. 98). By then sending the appropriate value for Data Entry (Controller No. 6), the change in the specified sound parameter is accomplished.
Note that instead of the hexadecimal notation that is used within the “MIDI Implementation” (p.189), the numbers for the combinations of values for NRPNs that appear in the chart below have all been converted to decimal. (Note also that these NRPNs are specific only to GS sound modules.)
NRPN NRPN | Range | Function |
MSB LSB |
|
|
18
19
110
132
133
199
1100
1102
24 | rr | Drum Instrument Pitch Coarse *1 | ||
|
|
| Alters the pitch of individual percussion | |
|
|
| instruments in the drum Part. | |
26 | rr | Drum Instrument TVA Level |
| |
|
|
| Alters the volume of individual percussion | |
|
|
| instruments in the drum Part. | |
28 | rr | Drum Instrument Pan |
| |
|
|
| Alters the panning for individual percus- | |
|
|
| sion instruments in the Drum Part. A set- | |
|
|
| ting of “0” provides random panning, while | |
|
|
| “1” selects the leftmost position, “64” the | |
|
|
| center, and “127” places it at the right- | |
|
|
| most position. |
|
29rr
30rr
31rr
For example, let’s say that you want to alter the TVF Cutoff Frequency. First, you need to assert that it is the TVF Cutoff Frequency that you wish to control by sending the appropriate NRPN MSB and NRPN LSB combination.
The value for Controller No. 99 is the NRPN MSB, and that for Controller No. 98 is the NRPN LSB.
So, you would transmit these values:
Controller No. 99: 1
Controller No. 98: 32
The unit has thus been made aware that it is the TVF Cutoff Frequency that you are going to change. To go ahead and make the actual change, you would then use the Data Entry Control Change message to supply the new value (xx) for the TVF Cutoff Frequency.
Thus, you would send:
Controller No. 6: xx
As a result of transmitting the above three controller values, the TVF Cutoff Frequency will have been altered, and the timbre of the instrument selected for that Part should sound differ- ently.
After altering sound parameters using an NRPN, we recommend that you make a habit of asserting a “null” by sending the RPN values shown below. This will tell the unit that you are finished working with the parameter that has been specified, and that it should stop waiting for any further new values for that parameter. (It cancels the standing request for change in a particular NRPN or RPN.) This way you can avoid having unexpected changes made if any unintended Data Entry values get sent afterwards.
Controller No. 101: 127
Controller No. 100: 127
For the “NRPN LSB rr” value, you need to supply the value which corresponds to the note number of the particular percussion instrument that you want to address (these numbers can be found in the Drum Set Chart at the rear of the manual → p.164).
For example, let’s say that you want to set the High Bongo so that no reverb will be applied to it. This instrument is assigned note number 60 (middle C), and is contained in the Standard Set 1 Drum Set.
To accomplish this you would transmit these values:
Controller No. 99: 29
Controller No. 98: 60
Controller No. 6: 0
Note that these MIDI messages need to be sent in the order listed above.
Parameters marked with *1 in the chart at left can be altered in a relative manner, with a value of “0” being the default value. Depending on the particular sound you are working with, the type of change available will be different (in some cases you may not even notice any change). Also, the range of change will vary.
You may need to consult the manual that came with your equipment or software for details on how to properly input and transmit Control Change messages. Note, though, that some devices may only allow you to work with a limited range of controller numbers.
Make sure that you always follow the order shown above when transmitting RPN, NRPN, and Data Entry data. Be care- ful, since if you insert a multiple number of MIDI messages at the same point in time (or in very close range of each other) when using some types of music software, the messages can sometimes be sent out in an order different than originally intended. To avoid problems, always allow sufficient space between adjacent messages (at least 1 tick at 96 TPQN, and 5 ticks at 480 TPQN).
*TPQN: Ticks Per Quarter Note
*Any value which has been imposed by means of an NRPN will not be initialized even when a different sound is changed to in compliance with a received Program Change. Settings which have been made using NRPNs can only be initialized by sending a GS Reset, or by performing a GS Initialization (p.118).
*At the factory default settings, this unit will not respond to NRPN mes- sages. However, after a GS Reset has been received it will recognize NRPNs. Alternately, you can enable recognition of NRPNs by turning on “Rx.NRPN” (NRPN reception switch p.141), either by using the panel buttons, or through Exclusive messages.
142 | Chapter 7. MIDI and the unit |