So, my MPK261 started acting up a while back, sending seemingly random pitch wheel information - I disabled the pitch wheel in software and eventually physically removed it from my controller (the random pitch information was making it difficult to program other things, as the input jumps to whatever you used last on the MPK261). When I could get it to calm down and act semi-normally, it would not return to center - constantly making my keyboard approximately a 1/2 step sharp.
I couldn’t find actual MPK261 replacement parts, but MPCStuff sells a pitch/mod wheel combo for the MPK88 - the wires were color coded the same and it SEEMED like the same value potentiometer (it was hard to see in the photos), so I snagged one. It came in today - a quick snip of the incompatible harness, a quick splice and solder, and I fired up cantabile to see if I had gotten lucky.
Well, close. No more erratic pitch messages…but it still returns to 1/2 step sharp. I actually figured out how to fix the “center” issue in Cantabile by mapping “pitch bend to pitch bend” and making input -8192~8191 output -8192~4096.
The problem is, this makes the pitch wheel asymettrical. For instance, I picked a random patch with your typical “whole step in either direction” pitch bend setting. Bending down gives the whole step as expected, but bending up only gives a 1/2 step. Now, I could easily fix this on a patch-by-patch basis by simply doubling whatever I want the upwards bend to be - but I would love to make a “global” filter and not think about this any more.
(edit: This seems perhaps related to an issue that was addressed in build 3231…however I am running build 3570 and still experience this behavior. source:Pitch Bend binding bug)
this isn’t related to the pitch bend bug - it is actually a consequence of your re-mapping the pitch wheel to a target maximum of 4096 (which is a half step). So it’s clear that you will not get more bend-up than 50% doing it your way. Let’s try something different:
If I understand this correctly, your PB controller delivers a value of 4096 instead of 0 when centered, correct? In my understanding, this would make the pitch come out at 1/2 step up (if pitch bend range is set to 2 semitones).
So to “calibrate” this, you’d need to insert the following three filters - either in an encapsulated keyboard rack or in the global MIDI port settings directly:
The first filter maps the lower half of your pitch wheel (-8192 to 4096) to the correct low range of -8192 to 0 and ignores the rest. It is set to copy all modified events to a different MIDI channel, so all original events are left for the second filter to process. Then the second filter does the same for all events above 4096 and maps them to the upper half of the pitch bend (0 to 8191). This one doesn’t need to copy; it can safely discard all events that aren’t in its input range.
The third filter simply re-maps all events to the original MIDI channel 1.
Of course you lose half of the resolution in your upper pitch bend range this way, but that’s probably something you can live with…
Thank you so much Torsten for your reply
So, I BELIEVE that your solution would not quite have worked, because it wasn’t so much that the pitch wheel was off center, as that it was “too wide” - i.e., it was sending HIGHER than 16384 (8192*2) at maximum, and Cantabile’s sliding then resulting in it being off center. At least, I think so, because when I got up this morning and tried to implement your solution…the new pitch wheel was magically calibrated properly. All the testing I did prior to making that post was without power-cycling the Akai, and that seems to have fixed everything.
However, I do want to express gratitude for your help. I ended up digging into your posted solution anyway and now I understand a little more about the midi filters. Thank you.
nope - that’s just not possible. The MIDI specification only provides 14 bits for pitch bend information. 14 bits means 0…16383 - that’s all. Formally, the MIDI specification states that the pitch wheel is centered at 8192, but @brad gave us a nice little translation in Cantabile to make it -8192…8191. But there couldn’t have been a value higher than 16383 - 14 bits just don’t have more range in them
But great that your power-cycling worked! Turning them off and on is always a good thing when it comes to analog controllers (wheels, pedals, etc), but also for switches! Most devices have a calibration routine built in that engages when turning the beast on…