Changing script behavior from CC steps to full semitones

Hello Team

I was taking a look to the script for CC and PC increment which work amazingly good

([Gig] CC and PC Incrementer)

I am trying to modify that script because actually i want to do something what a normal “picth bend” should “not” do.

But first thing first. I want to use the pitch shifter effect on Helix Native in order to move the tuning of my guitatr up or down to my will by semitones steps which the Helix normaly does

What I want is to have the power with some physical midi buttons, to modify the semitones of my guitar one by one when i press it once (up or down values, it does not matter)

I am usin the metnioned script but the problem is, pressing one time each button i am having a slow transtion between semitones (every 5 or 6 clicls) because wel, it is set from 0 to 127. I woud ike to change the script and add some matematilca oparations.

First I wonder if is possible to add some math operations to the script

Second, whar would be the best way, include the cero and divide 128/ 12 or 127/12?

Do i need to modify the behavior of the widget to logarithmic?

As a side note, I know a pitch wheel on a keboard take more than 127 CC ( 14 bits of data or 16383) in order to have a smooth change between semitones, But ias mentioned, am not looking for this kind of behavior.

I am attaching some screenshots, but the link between the script and the VST is just find. So is more a scrpting thing.


I meant “steps” on the title of the topic

I don’t find how to edit that.

I think i need to Re formulate my question as i have made some observations on the behavior of the MIDI CC oparation with helix.

I would like to modify the script to follow a specific change between click on the bottom

if current CC is 127, when click on down (the red button on my screenshot) then go to 124, if cc is 124 is active and down pressed, then go to CC 119 or if up is pressed then go to CC 124.

Is it possible to specify this on the current script?


Does the version that has the ‘step size’ work for what you want to do?

Hello, well, i was taking a look to that verson recently, and actually while is a nice upgrade, it wont work, as i jus noticed that the semitones i am looking for setting does not have that “linear” behavior, Helix expects increments but some times th amount of cilicks, (hence final CC value" fluctuates between 5 and 6 CC to change a semitone. I have made the table on the attachmetn, this is why i would like to set this table as a guidance to the script. So in the end, i am expecting to change the samitones up or down with fewer clicks.

I am trying to do and Arduino controler with up or down buttons, so i am expecting to set such values as well on the board, but in case of not having the board, i would like to do it with the widgets

I expect to be clear with my case


Quoting you for my previos comment :slight_smile:

How did you work out the exact CC to semitone mapping? Are you changing the ‘Position’ parameter, or changing the ‘Toe Shift’ or ‘Heal Shift’ parameter?

I just got it by clicking manually on the widget and veryfing the semitones values on helix… I assume these values are only for Helix and not for all other VSTs.

The position parameter is already controlled by and external expression pedal

The goal I am expecting to achieve now is to set the Semitones range (up and down) with Widgets Buttons. This is done by setting in helix the Toe and Heal parameters and Helix expects MIDI CC messages just like the one that an expression pedal generates (0 to 127), but let me explain.

When I choose Toe or Heal on Helix, It gives me a maximum and minimum step value for each parameters. This means Toe has a maximum and minimum and also Heal has a maximum and minimum. I don’t want to mix these values too much, so, i am setting for heal, a minimum -24 semitones(CC0), and maximum (CC127) meaning pitching down and returning to original pitch. And for Toe will be the opposite, for the max in min values but with some kind of inverted order.

So on other words, i dont want to go to helix to set how many semitones i want to go up or down. I just want to do it with the widgets and eventually with MIDI hardware


Do you only want one set of up/down widgets?
So they always mirror each other:

  • If Heal is -12, then Toe should be +12
  • If Heal is -24, then Toe should be +24


Or do you want to change Heal and Toe separately?

I would like to change them separately, That is why i have the 2 tables mapped :smiley:

Thinking about what you want to achieve, my preference would be to control this via the widgets/parameters (host automation) using a rackspace script, rather than via Midi.

Helix Parameter Incrementer

However, there’s something strange going on with Helix when I first load the gig file. These heal/toe shift parameters always report back they are value 0.0. I will test this further before sharing.

1 Like

Thank you. So I assume the error with the value going to Zero is with the host automation, am i right? i did not try that option is i thought the MIDI incrementer was the way to go, and also because i found the script file on the forum. But the previous looks promising.

Thank you again

Yes. I’ve not come across this before with Native.

Could you share the Draft of the script? i am doing some progress with my Bluetooth controller with arduino :smiley: (test - YouTube)

I got it working using the scriptlet to send midi into Helix Native. It uses a separate scriptlet for the Heal Shift and Toe Shift changes.

Helix Semitone Incrementer.gig (253.5 KB)

1 Like

Thank you, I will check it soon :slight_smile: