Translate cc to note number

Hello all!
I use a Korg cx3 to control whichever flavor of the day B3 sim I’m using. The cx3 has two sets of three buttons that switch between drawbar sets. These output 3 values of one cc each. Since the original vb3 I haven’t found a sim that allows me to use these to select different reverse color key drawbar sets. Is there a utility program that will convert specific midi cc values to note numbers? (I suspect this could be done with the scripting feature, but I am completely unfamiliar with how to use it.) thanks in advance for any help!

1 Like

With scripting this should be very easy.
I found some plugins which map Note Numbers to CC messages but not the other direction.

Do you want a simple script from me to see if that could work for you?

@pianopaul Bome is what does CC to note translation. :slight_smile:

1 Like

good suggestion.
but can that be used so easy with windows like it is with Mac?

I’ve been using it for a few years now on Windows. It’s so versatile.
In this specific application, I use it to change the CC#'s on a few sustain pedals and translate them to Note numbers, which are then passed along to my SD3 drums. Instant drums on my feet while playing guitar!

1 Like

It is very easy with scripting, but why don’t you use a set of button widget MIDI learned to the CC of your korg? Then you have two possibilities, control your plugin using host automation or map the note messages of the connected MIDI in block plugin.

1 Like

The only B3 sim (that I use) where that worked was vb3, which is not supported in MacOS Catalina. The other sims (vb3II, b5 and b3x) that I use Don’t seem to allow that mapping. They want to see note numbers to switch drawbar sets/presets.

A very generous offer. I looked at Bome from the response below and that should work. I may try the demo version. (Yes, they have a macOS version compatible with Catalina and big sur.)

hi piano paul
i am working on a setup to control softknobs on my allen and heath sq with the boss gt1000
and would need exactly such a script “cc to note” tried it with bomes and it works but i d love to “stay” within gp only.
could you make me a script?
it is not mentined to control a-plugin just footpedal in and out to the console

Sure, how many CC messages should be translated to not numbers?
Is velocity 100 ok for the not numbers?
CC value = 0 then send a note off, CC value = 127 then send a note on?
You could create a widget and map it to the incoming cc message.
Then assign the widget to a MIDI in and just send a note message.
Would that be possible also?

that is exactly what i mean- widget, maybe it should be a standard midi filter/converter built in in to gp4.
sorry, the “widget” version would do so i can assign it to a knob for visibility.
dang i guess i have to bite the sauren apfel and dig into scripting… :roll_eyes:

So do you want a script?
And „Sauer macht lustig“ :wink:

1 Like

yes pleease

Ok, gimme some minutes…

1 Like

If you need to convert every CC from 20 to 127, a Scriptlet can do the job:

On ControlChangeEvent(m : ControlChangeMessage) Matching [20..31]
  SendNow(MakeNoteMessageEx(m.GetCCNumber(), m.GetCCValue(), m.GetChannel()));
  //SendLater(MakeNoteMessageEx(m.GetCCNumber(), 0, m.GetChannel()), 20);  
End

On ControlChangeEvent(m : ControlChangeMessage) Matching [33..127]
  SendNow(MakeNoteMessageEx(m.GetCCNumber(), m.GetCCValue(), m.GetChannel()));
  //SendLater(MakeNoteMessageEx(m.GetCCNumber(), 0, m.GetChannel()), 20);    
End

CC2Note.gpfav (1.2 KB)

And this is the same without scripting fora single CC to Note convertion using a button widget:

2 Likes

This is my solutions, I like David-San’s

CC_to_NoteNumber.gig (13.5 KB)

With the scriptlet Sliders you can decide which CC message should be handled and which Note Number should be generated.
Sure there is Air to the upper (“Luft nach oben”) :wink:

var P_CC : Parameter 1..127 = 1
    P_NN : Parameter 1..127  = C3 
    
    //Called when a CC message is received

//Called when a CC message is received
//The CC numbers must be within the specified range

On ControlChangeEvent(m : ControlChangeMessage) 
 if GetCCNumber(m) == P_CC then
  if GetCCValue(m) == 127 then
   SendNow( ReinterpretAsNoteOnMessage(MakeNoteMessage(P_NN,100)))
  elsif GetCCValue(m) == 0 then
   SendNow( ReinterpretAsNoteOffMessage(MakeNoteMessage(P_NN,100)))  
  end
 end 
end
3 Likes

works like a charm (i used the one with the sliders) a little trouble as somehow allen and heaths “midi control” plugin would not pass the notes anymore-deleted it and reloaded it and now it works…apparently buggy dont know on wich side gp or ah…usually they have “rocksolid” stuff.

Usually so do we :stuck_out_tongue_winking_eye:

1 Like

What Allen Heath plugin are you using?

midi control - nothing but midi straight / usb / and over network
i sing here (https://fidoplayszappa.com/) and i use the gt1000 to start/stop recording within gp
plus control some vocal fx (zappas low end voc) as our engineer is main sponsor therfore hardly rausschmeissbar but at the sametime absolutely “talentbfreit”…
it is in fact four scenes that i recall (jazz impro - voc mics down, bombastic - reverbs n stuff,vocal tunes-loud voc mics,and speech - in between songs all fex of all 5 voc mics full…

https://www.allen-heath.com/midi-control/

with midi over lan, i can tunnel it through the same network cable as dante-just a second cable to the stage where my laptop is.