Issue with pitchbend range in MPE

can’t figure out why, but the pitchbend in MPE mode does not reach the max/min values, it hovers at around +/- 2000 (12 bit?) when bend range is at 12 semitones.

In MIDI mode the pitchbend works just fine (using all the 14 bits/full range)…

I can’t figure out what’s wrong. Pitchbend sensitivity is at max on the Striso.

Any idea?

I dont have a striso, so not quite sure how striso ‘defines pitchbend range’
BUT…

the default pitchbend range for MPE is 48 semitones.
so it sounds like your 12 semi range is being used to define the % of that range to use.
i.e. its limiting to that default, rather than defining the range for MPE.

that kind of makes some sense (similar in EigenD)

you see, technically you need 2 settings.
a) MPE range (defaults to 48)
b) Key bend range (for keys would often default to 1 or 2)

(a) is for the protocol side to sync vst (etc) vs controller. these days most default to 48 anyway, so its not really an issue. (previously the issue was many synths had limited pb ranges)
AND… part of the mpe protocol, allows for the daw to actually tell the controller what range to use… (I dont know if this is implemented on the Striso)

(b) is much more important (and what it seems you have), as you don’t really want a 48 pitchbend range on a single key, this is more for surfaces that you can slide, you want something like 1 or 2 semis (perhaps a bit more if you are really good :))

up shot if you have an issue, likely what you need to do is set your VST to 48 semitones (if possible)

again, I dont know available striso settings, so this is from a broader perspective only

ok, I had a quick look at the editor code , and see…

  iPxMChan: {text:"MIDI channel", help:"[1-16] (MPE: first voice channel, normally 2)", check:function(x) {return clamp(x, 1, 16);}},
  iPxMPEpb: {text:"MPE pitch bend range", help:"[12/24/48/96]", check:function(x) {return clamp(x, 1, 127);}},
  fPxthres: {text:"Key sensitivity threshold", help:"higher value increases note trigger force [0.0-0.5]", check:function(x) {return clamp(x, 0, 0.5);}},
  fPxbendS: {text:"Pitch bend range", help:"in semitones [-4.0-4.0]", check:function(x) {return clamp(x, -10, 10);}},
  fPxpresS: {text:"Key pressure factor", help:"[0.0-4.0]", check:function(x) {return clamp(x, 0, 10);}},
  fPxveloS: {text:"Key velocity factor", help:"[0.0-4.0]", check:function(x) {return clamp(x, 0, 10);}},
  fPxtiltS: {text:"Key tilt (y) factor", help:"[-4.0-4.0]", check:function(x) {return clamp(x, -10, 10);}},

“MPE pitch bend range” would be the MPE bend range, likely defaults to 48
“Pitch bend range” would be the key bend.

basically the output of PB will be midi pb = x * PBR/MPE PBR

the main thing is, make sure your synth/vst/daw has its pitch bend range set to the same as MPE PBR.

Thank you! I guess I had forgot it would bend only 3 or 4 semitones (up or down) by default, then nothing is really wrong. In fact I ended up having a look at the code as well I forgot it was on Github.
Changing the value of fPxbendS in the config I got a larger range.

1 Like