Scriptlet to change Leslie speed using pitchbend

The tonewheel organ model on the Korg Kronos has the option to change the Leslie speed by flicking the pitchbend lever. I’ve got quite used to this as it is a little similar to using a half-moon switch. To that end, I have created a scriplet that will switch Leslie speed, assuming the Leslie sim can switch its rotor speed in response to CC01 Modulation messages.

The scriplet has one parameter: Pitchbend Threshold. If you imagine the pitch bend wheel transmits +1 to +8192 for upward pitch bends and -1 to -8192 for downward pitch bends, then only once the pitchbend value exceeds the threshold in either direction does it send the command to change the Leslie speed.

I hope this is of use to some of you. It makes more sense if you have a Roland style pitchbend lever or a Korg style joystick, not so much if you have a pair of pitchbend and modulation control wheels. Just wire it between your MIDI In block(s) and the target instrument plugin.

Here is a demonstration gigfile using the HaNonB70 B3 plugin:

PitchbendToLeslieSpeed.gig (27.9 KB)

…and here is the code:

Var
    paramBendThreshold("Pitchbend Threshold %") : parameter 0 .. 100 = 30

    
Initialization
    SetDisplayMessage("created by Dave Boulden, BOULDEN.digital")
    SetInfoMessage("Pitchbend to Leslie Speed converter. When pitchbend raises above the selected threshold percentage a maximum CC01 Modulation value is sent. When pitchbend dips below the threshold percentage in the negative direction a miniumum CC01 Modulation value is sent.")
End


On PitchBendEvent(m : PitchBendMessage)
    var thisPBval : integer
    var actThreshold : integer
    var ccm : ControlChangeMessage
   
    thisPBval = GetPitchBendValue(m) -  8192
    actThreshold = (8192 * paramBendThreshold) / 100
 
    If thisPBval > actThreshold Then
        ccm = MakeControlChangeMessage(1, 127)
    End 
 
    If thisPBval < (0 - actThreshold) Then
        ccm = MakeControlChangeMessage(1, 0)
    End 
    
    SendNow(ccm)
End
4 Likes

Thanks for sharing…I think you can use the following statement

If thisPBval < -paramBendThreshold Then

Btw, do I know you from PCG Tools? Your name looks familiar.

1 Like

Ahaaaaah!!! So THAT’s where I know your name from! Yes, I was indeed a PCG Tools user.

1 Like

I also moved from Kronos to Gig Performer.

2 Likes

I also moved from Kronos to GigPerformer and was a PCG Tools user.

I use my Kronos as Midi Input in GigPerformer. Thank you for the Pitchbend Script. Very useful.

At the moment I use the Vector-Stick on my Kronos for Leslie speed, but that is tricky to control.

2 Likes

I thought about also keep using the Kronos, but I had the idea if I use a laptop, and still be depending on the Kronos, my problem would still not be solved eventually.

I used the vector joystick mostly for some effects (very occasionally). Btw, I liked the pitch bend/mod wheel joystick from the Korg, didn’t see it on any other controller, most have two separate wheels (which also has some advantages though).

My original choice of synth action controller also had 2 wheels, but in the end, I opted to have a Roland Fantom 07 as my lightweight 2nd controller above a StudioLogic SL88, so I have the Roland style pitch bend lever to swipe using this script. The SL88 has smaller joystick controllers the same size as the vector joystick on the Kronos.

If you were specifically after a weighted controller with a pitch-bend lever, the Roland A-88 has one.

1 Like

It’s not that it’s the end of the world lol, I just got used to it, and I will learn to use the separate pitch bend/modulation wheel.

Btw, I also have a StudioLogic (but Acuna 88), I like it very much (I’m not a piano player by origin so that one is good enough for me).

You can see my current rig at: Michel Keijzers - Template Rackspace