Split pitch wheel range

I’m not sure this exists, but it would be nice to be able to set the down and up range for the pitch wheel separately. For example, it’s pretty standard practice with synth leads to set a split range where up is a whole tone and down is an octave. I don’t see an easy way to do this here. If this doesn’t exist, could it be made to?

3 Likes

i agree this would be nice. MOOG has this on the minitaur and i use it all the time!

I actually am augmenting my MIDI controllers using RC joysticks and an Arduino, so I can work around the problem by scaling a high resolution left and right bend differently, but this doesn’t help if you don’t want to DIY, and most common controllers have sufficiently poor resolution on the bend that you probably don’t want to do anything bigger than a Maj3rd.

It would be a good addition… You can kludge a solution though (at cost of an LFO).

Set Bend to zero, as you’ll be PitchBending a different way.
Set up an LFO as Mode: Trigger Frequency: Freeze. Set the grid to 3 horizontal, 12 vertical.
Draw a shape starting at zero on the left, rising to 6 (I.e. halfway up) in the middle, then rising one further square over at the right.
Map PitchBend to modulate the LFO Phase (the horizontal slider underneath the shape you drew). Because the LFO is frozen it won’t move otherwise.
Set your Oscillator down an octave, map this LFO to shift pitch up 24 (I.e. 2 Octaves).

This way when PitchBend is in the middle, you’re modulating up 12 (cancelling the octave shift down). When you shift down you go down 12. When you shift up, you go up the shallower gradient to just 2 semitones.

You might need to set the PitchBend mod to just under 1.000 otherwise you may hit the point where the LFO resets and goes back down the octave. 0.990 works fine for me.

You could use a remap curve ( in the mid matrix) ad set your bipolar pitch bend value.

I’m trying that, and it seems to be far limited as far as range (I can only get an additional 1/2 step) and a bit awkward compared to a simple split range parameter as on many synths. How about an example?

like this?

I see what you’re doing, but that’s a very choppy bend. Transpose changes the pitch by half steps; it’s not continuous. You’re left doing multiple maps to “Osc Tune”. This seems a very clumsy workaround.

The best solution I can come up with is to set the bend to 12 and scale the up-bend MIDI value externally to 1366. Assuming PB is linear in terms of note (i.e. exponential in terms of frequency), this will make the up bend sharp by about 0.15 cents from a whole step at the upper limit.

you can connect pitch wheel to bend range selection and mod it with remap. maybe this does continuous bend? :nerd_face:

don´t know much about notes and scales and stuff.

I’m sorry. It looks like I may have lied here. The chunkiness may be coming from my controller’s (A-500Pro) pitch stick. I ran the PB through VCV Rack which applies a little slew limiting to the bend values, and the following demonstrates appropriate split bend function:

splitbend.vital (60.9 KB)

This shows Vital’s transpose is continuous. Sorry for the misinformation.

This is part of the reason I’m making a better pitch stick out of an RC joystick and an Arduino.

/me sighs loudly.

no problem. good to hear it works.

do you share somwhere how you do this DIY pitch stick? Would be interesting how the midi connection works.

I just wired an RC joystick to a pair of analog inputs on an Arduino, and I send the values over the serial line. If I need them as MIDI, I’d need to do that in the host computer. As it stands I have a number of instrument/effect hosts that I can beat floating point value into, so I can do a bit better than the 0-127 values for MIDI control changes; and the sticks/wheels on my MIDI controllers don’t even provide that resolution. I get the ADC output into a small Lua script, and that massages the value pair into what I need (floats, ints, MIDI CCs) and routes it appropriately. The only thing the Arduino does is smooths out the AnalogRead values which are very noisy for potentiometers, and takes them as X/Y pairs, and sends them as 5 character hex value. (I.e. 10 bits per axis).

Small detail: You want your physical controllers to be powered by the 3.3v pin, and ARef will get hooked to that too. For regular potentiometers, a high end of 5V isn’t a problem, but there are very some nice but not very expensive sticks that use hall sensors, for example the FrSky M9. Those aren’t simple potentiometers, and 5v is over-voltage, whereas 3.3v is well within spec. (3v +/- 0.5v)

same here.
as this goes a bit away from the topic, i write a pm.