If I automate the pitchbend using Duplex->Keyboard device->Pitchbend remapper->Midi remapper->Midi automation device, the pitchbend has the middle position at 1%, not 0%, so the pitch is detuned a bit, dependent on the range of the pitchbend.
Shouldn’t it be 0%? I checked the pitchbend values with the midi monitor for OSX, the pitchbend send value 0 in deteched position.
OK, results are in - and this is in fact a bit weird, has nothing to do with Duplex:
My keyboard will output 64 at the middle position, 0 as minimum and 127 as max. Nothing strange in that.
But I noticed that it’s simply not possible to reach 0% with a 7-bit MIDI controller. When you transmit 63, the pitch bend is set to -1%, and at 64 it becomes 1%.
Now, as we are most likely to deal with an integer range of 128 there is no center value, so what Renoise does is - mathematically speaking - correct.
Unfortunately, pitch bend is traditionally based around the center value and the result is a small, but noticeable different in pitch.
I then checked with other DSPs that have such bipolar parameters, and indeed it’s present in a couple of other places as well:
DC Offset: 0.787 % and -0.787 %
EQ5/10 : 0.157 dB and -0.157 dB
Flanger amount + feedback: 0.787 % and -0.787 %
Mixer EQ lo/mid/hi gain: 0.142 dB and -0.142 dB
mpReverb low gain: 0.142 dB and -0.142 dB
IMHO pitch-bend is the most important parameter, the others hardly have a noticeable effect on the sound.
The solution would be to pick a value which should represent the center, make a bipolar parameter “center-centric”. But the big question is, if some keyboard would output e.g. 63 as the center value?
Hm, strange. But would be nice if this was fixed by the Renoise team to get really exact results. Isn’t there a common convention are practice dealing with this?
Can’t this fixed by using floor() for the rounding when you convert pitchbend to 7 bit? And are you sure that 63 is pitchbend -1? As far as I can hear the 0%/63 have the pitch 0.