The MIDI Forum

  1. Faure
  2. MIDI Specifications
  3. Friday, 25 October 2019
  4.  Subscribe via email
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
Comment
There are no comments made yet.
Accepted Answer
Accepted Answer Pending Moderation
0
Votes
Undo
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.
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
0
Votes
Undo
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?
Comment
There are no comments made yet.
Accepted Answer Pending Moderation
0
Votes
Undo
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
Comment
There are no comments made yet.
  • Page :
  • 1


There are no replies made for this post yet.
Be one of the first to reply to this post!