To change the pitch bend range on Channel 1 to +/- 12 semitones, you send the following sequence of Control Change messages:
Control Change Channel 1, Controller 101 (RPN MSB), Value 0
Control Change Channel 1 , Controller 100 (RPN LSB), Value 0
Control Change Channel 1, Controller 6 (Data Entry MSB), Value 12
Control Change Channel 1, Controller 38 (Data Entry LSB), Value 0
Control Change Channel 1, Controller 101 (RPN MSB), Value 127
Control Change Channel 1, Controller 100 (RPN LSB), Value 127
This sequence of Control Change messages sends a Registered Parameter Number (RPN) command.
• Registered Parameter 0 (RPN MSB 0, RPN LSB 0) is for Pitch Bend Range.
• For RPN 0, Data Entry MSB sends an amount of semitones +/- for the range. You need to look in your MIDI device manual or preform some tests to see the maximum range it will support. I think +/- 12 semitones is usually supported.
• For RPN 0, Data Entry LSB sets an amount of cents +/- for the range. However, the MIDI devices I have don't respond to RPN 0's Data Entry LSB, so I guess it's often not implemented.
• The Registered Parameter MSB 127 LSB 127 is used to disable the Data Entry controllers from affecting anything. (It also disables the Data Increment or Data Decrement controllers, which is another way to change RPN values).
If you are using the MIDI sequencer Cakewalk, be aware that it normally combines the Control Change messages for an RPN command into one "RPN" event in its event list. In Cakewalk, you have to insert the following "event" to get +/- 12 semitones range:
Channel 1 RPN, 0 Pitch Bend Sensitivity, 1536
The MSB and LSB values are combined into one value like this:
(MSB * 128) + LSB
(12 * 128) + 0 = 1536
Cakewalk's "RPN" events can cause slight shifting of events when you save the MIDI file. In the Cakewalk Forum, the bottom of my post Re: Cakewalk notes events shifting issue (1)
describes the shifting problem a little bit. My post Re: Cakewalk notes events shifting issue (2)
describes the TranslateRPN setting that you can use to disable Cakewalk's special RPN messages and shifting so it will just show you the Control Change messages instead.