MIDI Pitch Bend
Note: work in progress. Page content incomplete.
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
https://rolisupport.freshdesk.com/support/solutions/articles/36000028378-setting-the-ideal-pitch-bend-range http://www.2writers.com/eddie/TutNrpn.htm http://www.dosguys.com/RA-guitar/!!Pitch Bend Sensitivity, Bend Range, SysEx--Chart.htm
(a.k.a. Pitch Bend Range)
http://www.moforte.com/geoShredAssets2.0/help/pitchBendRange.html http://www.moforte.com/geoShredAssets2.0/help/midi.html
The MIDI Specification supports pitch bend ranges up to 24 max, and the current MPE proposal extends this to 96 meaning +/- 96 semitones
Pitch Wheel Change (aka pitch bend) is a 14 bit controller, with values ranging from 0 to 16383. It is treated like an signed 14 bit integer. No pitch bend means pitch bend = 8192, the smallest pitch bend is 0 and the largest is 16383.
pitchBendValuesPerSemitone = 8192/Pitch Bend Range
The sender and receiver will both use pitchBendValuesPerSemitone based on this calculation.
The MPE proposal calls out 48 as the default Pitch Bend Range. The Geo Shred MIDI preset Record-Playback uses this range as well since its channel mode is MPE
Sensitivity of Pitch Bend Change is selected in the receiver. It can also be set by the receiver or transmitted via Registered Parameter number 00 00.
Pitch Bend Sensitivity is defined as Registered Parameter Number 00 00. The MSB of Data Entry represents the sensitivity in semitones and the LSB of Data Entry 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 sensitivity is set manually at the receiving device, or by use of the Registered Parameter Number (RPN) 00 00 controller message.
Pitch Bend Sensitivity is configured with RPN 00,00 :
- MSB represents 'semitones'
- LSB represents 'cents'.
Pitch bend calculation
Min = -8192
Center = 0
Max = 8191
8192
pitchBendValuesPerSemitone = ----------------
Pitch Bend Range
rangeOfWhammySlider
bendInSemitones = bendInSemitones * -------------------
pitchBendRange
Example 1:
range = 12
This means +/- 12 semitones = +/-1 octave
8192
pitchBendValuesPerSemitone = ---- = 682.67
12
Bending 1 octave up or down would modulate the value by +8191 or -8191.
Exemple 2:
range = 48
This means +/-48 semitones = +/-4 octaves
8192
pitchBendValuesPerSemitone = ---- = 170.67
48
Bending 1 octave up or down would modulate the value by +2048 or -2048.