there's something i don't understand. I set pitchbend range to 1, so if i'm right exact pitch in cents = root note*100 + round((127*data1+data2-8192)/81.92)
but as you can see on the image below, root note = 65 (F4), pitch bend = 2617 (20*127+77), exact pitch = 6432 (6500 + (2617-8192)/81.92) and then exact note should be E4 not F4 ?
So, there's a weird compromise that had to be made here. Many instruments won't cleanly move between notes, instead triggering a new sound when the root note changes. For this reason, imitone tries to keep bending the pitch as long as possible. If the pitch bend range is 24 then even in chromatic imitone will happily bend up to 24 semitones away before transitioning (with legato) to a new base note. This all has to do with limitations in MIDI and what various receivers will support.
If there's a clear case for it, I could potentially implement a behavior where imitone always plays the nearest note. The main problem with this is what happens when your pitch sits on the border — it can flicker back and forth chaotically, like a lightswitch held at its critical position.