Using NRPNs with GS Sound Modules

Included within the various types of Control Changes (often abbreviated as “CC”) is an extended range known as NRPNs (non-registered parameter numbers). The NRPNs can be used with GS sound modules to alter various sound parameters, such as those for the vibrato, filters, and envelopes. There are distinct advantages to using Control Changes rather than Exclusive messages when wishing to modify sounds. They are not as complicated, they are easier to handle, and they do not require a large amount of data (p.132, 189). Such Control Change messages include a number (the Control Number) which specifies the type of function that is to be controlled.

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 0-64-127 Vibrato Rate *1 (p.32)

19 0-64-127 Vibrato Depth *1 (p.32)

110 0-64-127 Vibrato Delay *1 (p.32)

132 0-64-127 TVF Cutoff Frequency *1 (p.33)

133 0-64-127 TVF Resonance *1 (p.33)

199 0-64-127 TVF&TVA Envelope Attack Time *1 (p.33)

1100 0-64-127 TVF&TVA Envelope Decay Time *1 (p.33)

1102 0-64-127 TVF&TVA Envelope Release Time *1 (p.33)

24

rr

0-64-127

Drum Instrument Pitch Coarse *1

 

 

 

Alters the pitch of individual percussion

 

 

 

instruments in the drum Part.

26

rr

0-127

Drum Instrument TVA Level

 

 

 

 

Alters the volume of individual percussion

 

 

 

instruments in the drum Part.

28

rr

0,1-64-127

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 0-127 Drum Instrument Reverb Send Level Sets the reverb depth for individual per- cussion instruments in the Drum Part.

30rr 0-127 Drum Instrument Chorus Send Level Sets the chorus depth for individual per- cussion instruments in the Drum Part.

31rr 0-127 Drum Instrument Delay Send Level Determines the amount of delay for indi- vidual percussion instruments in the Drum Part (SC-88/this unit only)

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