fbpx
Skip to main content

MIDI Forum

how to use RPN mess...
 
Notifications
Clear all

how to use RPN message for fine/coarse tuning, Tuning Program Change and Tuning Bank Select?

4 Posts
4 Users
0 Reactions
9,703 Views
Faure
Posts: 1
New Member
Topic starter
 

Hello,
Could somebody explain please a little bit (with an example) how to use
RPN message for fine/coarse tuning, Tuning Program Change
and Tuning Bank Select?
Because i don't understand from the midi official page.
Thanks,
Frederic Faure

 
Posted : 25/10/2019 8:23 am
Clemens Ladisch
Posts: 323
Reputable Member
 

Which page are you referring to? Table 3a on Control Change Messages (Data Bytes) mentions only the values. The full explanation can be found in the actual MIDI specification.

 
Posted : 25/10/2019 10:34 pm
Eddie Lotter
Posts: 295
Reputable Member
 

Frederic, welcome to the forums.

It's not clear what you don't understand. Could you be more specific?
In other words, what is it about the examples provided in the spec that you don't understand?

 
Posted : 26/10/2019 6:04 am
Bavi_H
Posts: 267
Reputable Member
 

On this website, go to Specs -> The MIDI 1.0 Specification -> The Complete MIDI 1.0 Detailed Specification, then download the following documents and read the pages listed:

The Complete MIDI 1.0 Detailed Specification Document (1996), PDF page 50 "Master Tuning"
and Redefinition of RPN01 and RPN02 (Channel Fine/Coarse Tuning)

The Complete MIDI 1.0 Detailed Specification Document (1996), PDF page 82 "Changing Tuning Programs"
or MIDI Tuning (Updated Specification), PDF page 3 "Changing Tuning Programs"

Here are some examples based on my understanding of the specifications.

Channel Coarse and Channel Fine Tuning

B0 65 00 = Control Change Ch 1, Controller 101 RPN MSB, Value 0 and...
B0 64 02 = Control Change Ch 1, Controller 100 RPN LSB, ...Value 2 for Channel Coarse Tuning
B0 06 3F = Control Change Ch 1, Controller 6 Data Entry MSB, Value 63 for -1 semitone

B0 65 00 = Control Change Ch 1, Controller 100 RPN MSB, Value 0 and...
B0 64 01 = Control Change Ch 1, Controller 101 RPN LSB, ...Value 1 for Channel Fine Tuning
B0 06 3F = Control Change Ch 1, Controller 6 Data Entry MSB, Value 63 and...
B0 26 18 = Control Change Ch 1, Controller 38 Data Entry LSB, ...Value 24 for -104/8192 semitone

For Channel Coarse Tuning, the Data Entry MSB Values of decimal 0 to 64 to 127 (hex 00 to 40 to 7F) represent -64 to 0 to +63 semitones. The step between each value is 1 semitone.

For Channel Fine Tuning, the Data Entry MSB and LSB Values of decimal 0 0 to 64 0 to 127 127 (hex 00 00 to 40 00 to 7F 7F) represent -1 to 0 to +8191/8192 semitone. The step between each value is 1/8192 semitone

The combined semitone values of the Channel Coarse Tuning and Channel Fine Tuning represent the offset from A440 tuning.

Tuning Bank Change and Tuning Program Change

B0 65 00 = Control Change Ch 1, Controller 101 RPN MSB, Value 0 and...
B0 64 04 = Control Change Ch 1, Controller 100 RPN LSB, ...Value 4 for Tuning Bank Change
B0 06 00 = Control Change Ch 1, Controller 6 Data Entry MSB, Value 0 for Tuning Bank Number 1

B0 65 00 = Control Change Ch 1, Controller 101 RPN MSB, Value 0 and...
B0 64 03 = Control Change Ch 1, Controller 100 RPN LSB, ...Value 3 for Tuning Program Change
B0 06 00 = Control Change Ch 1, Controller 6 Data Entry MSB, Value 0 for Tuning Program Number 1

 
Posted : 27/10/2019 8:06 am
Share: