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
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.
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?
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