MIDI Pitch Bend

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