MIDI Pitch Bend range:
bend down center bend up
0 |<----------- |8192| ----------->| 16384
-8192 0 8191
- 14 bits resolution (MSB, LSB). Value = 128 * MSB + LSB
- min : the maximum negative swing is achieved with data byte values of
00, 00
. Value = 0 - center: the center (no effect) position is achieved with data byte values of
00, 64 (00H, 40H)
. Value = 8192 - max : the maximum positive swing is achieved with data byte values of
127, 127 (7FH, 7FH)
. Value = 16384
Pitch Bend sensitivity
(a.k.a. Pitch Bend Range, a.k.a Pitch Wheel Change)
The MIDI Specification supports pitch bend ranges up to 24 max, and the current MPE proposal extends this to 96, meaning +/- 96 semitones
Pitch Bend is a 14 bit value ranging from 0 to 16383. It is treated like a signed 14 bit integer. No pitch bend means pitch bend = 8192, the smallest pitch bend is 0 and the largest is 16383.
pitch_bend_values_per_semitone = 8192/pitch_bend_range
The sender and receiver must both use pitch_bend_values_per_semitone
based on this calculation.
The MPE proposal calls out 48 as the default Pitch Bend Range.
Pitch Bend Sensitivity is set manually at the receiving device, or by use of the Registered Parameter Number (RPN) 00 00 controller message.
- The MSB represents the sensitivity in 'semitones'
- The LSB represents the sensitivity in 'cents'.
For example, a value of MSB=01, LSB=00
means +/- one semitone (a total range of two semitones).
Pitch bend calculation
Example 1:
Pitch Bend range is set to :
range = 12
This means a range of +/- 12 semitones = +/-1 octave.
8192
pitch_bend_values_per_semitone = ---- = 682.67
12
pitch bend | value change |
---|---|
± 1 semitone | ± 683 |
± 1 octave | ± 12*782.67 = ± 8192 |
Exemple 2:
Pitch Bend range is set to :
range = 48
This means a range of +/-48 semitones = +/-4 octaves.
8192
pitch_bend_values_per_semitone = ---- = 170.67
48
pitch bend | value change |
---|---|
± 1 semitone | ± 171 |
± 1 octave | ± 12*170.67 = ± 2048 |
± 4 octaves | ± 48*170.67 = ± 8192 |