CC rotation over two midi channels

Hi !

Can you please help me to make a preset ?

I've a synth which has several track which each have two oscillator per voice,

Oscillator 1 respond to midi CC#16 and Oscillator 2 respond to midi CC#17 on each track.

I would like to use two track of this synth to play in total 4 oscillator in chord/rotation

Those two tracks are on two different midi channel.

It must be something like : first note play Midi channel 1 CC16, second note play Midi Channel 2 CC17, third note play Midi channel 2 CC 16, and note fourth play midi channel 2 (EDIT, yes not midi channel 4 ;)) CC17. Then next note played will rotate to the first step etc...

Can you help me do to this please ? I wonder how to have this CC over two channel rotation.

Thank you.

Are you sending CC's along with the notes? Where does MIDI CH 4 fit in if you want you are rotating on two tracks? What do you want done with note playing on previous track when moving to next track?   Do you want to turn it off or let it continue to play?  Your request right now seems a bit vague for me to do anything with it.  

In general, you would need to set up global variables for the current track you are playing and current CC you are playing and then increment them at each note.  So say you use ga for track rotation starting with MIDI CH 1

ga=0 ( initially set at project start) 

Translator rules for output would look like


if ga==2 then ga=0

Outgoing note-on on MIDI CH ga

So the outgoing note would go on  MIDI CH 1 2 and then rotate back (0,1)

If you wanted 4 channel rotation change

if ga== 2 then ga=0


if ga==4 then ga=0


You would set up similar rules for CC number

start with 



if gb==18 then gb=16


I hope this helps!  


I'm also not clear on what and how you are manipulating CC 16 and 17, do you have preset values on each channel or are you turning knobs while playing?


Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist

Hello Steve !

I edited the first message, you are right there is no midi channel 4 sorry, the fourth note must trig Osc 2 midi channel 2.

And you are absolutely right, here again CC\'s are the translation of the notes. (+4 value to the CC to tune it right and to have a C playing a C for exemple)

One thing I would like to try about trigging is : Working from two midi channels :

One Sending chords values to CC from one channel : midi channel 10 sending CC\'s each note rotating to channel 1 and 2 (ch.1 CC 16 17 , ch.2 CC16 17). So that note are playing the Oscillators.

The other channel 11 triggin the two midi tracks 1-2 with same note X eventually tunable... so that I can transpose directly the base note :) (I know how to do this one :))

Is this more understandable :) ?


I will try with what you said me. Thank a lot !

I’m sure it is but still quite clear what you want. Can you give me an example of notes in on with value and outgoing messages you want and then notes off with outgoing message you want?
For example are the outgoing CC values supposed to track the incoming note velocities? You want no notes out, right, just CC’s with their values.
I’ve done several rotation examples for you. Are you not getting how to do it yourself?

Re ^^’ …
Nop CC’s values won’t track velocities in this setup, the only thing I don’t know how to do is because the rotation is not based on a +1 but on : a switch of CC target and then a switch to the other channel… To have this 16 17 ch.A 16 17 ch.B loop. Then about the Note On Note Off preset I can create myself a preset saying that a midi channel will trigg the two other channels, no prob with this.

Note in On can be any note, If I play a chord of 4 notes, I would like to have two notes sent to channel A, two notes two channel 2, each time to CC16 and CC17.
I don’t know how to do the rotation of CC in combinaison with the rotation of midi channel …
I won’t care of velocity etc. :3

What you are asking here is beyond what is offered as free support. With that said, there are a few things to consider.

Since you are playing chords, you will need to tracking multiple notes at the same time to determine if it is part of the same chord. The question is how long you wait for the next note before you think you have a complete chord and send out the CC and channel you wish.  Remember fingers may not be precise in timing when playing chords.  Tracking multiple notes is not trivial in MT Pro. Basically you would need to set up a bitmap with 128 notes which would be mapped to 4 global variables (each with 32 bits).  You then have to use a timer to scan through them quickly to determine which notes are on and should be played.

Rotating MIDI channels, and CC's is very easy but first you have to figure the logic for triggering the chords which is the hard part.  If you want I can show you how to do channel/CC rotation with single notes, but again analyzing chords for input is exponentially complex.


Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist


I think maybe something is wrong in my explanation because I don’t want any chord analyse or any kind of duration, I just want to play some notes and convert them to pitch CC, first note input sending equivalent CC value to osc 1 (CC16) Second note Sending to CC17, then third note to CC16 but on an other channel and the last one to CC17… :frowning:
Is this really complicated, did we misunderstood ? Thank you anyway Steve…

You said if you wanted two notes played at once (this is a chord), you want them both to go to the same channel and the next chord to a different channel. As I said, I can show you with notes, but chords in MIDI terms is an analysis of multiple notes playing at the same time.

My fault, it’s just the rotation which interest me… Can you show me with notes ?
Thank you

Here you have it with single notes

1st note MIDI CH 1 CC 16 value 7F

2nd note MIDI CH 1 CC 17 value 7F

3rd note MIDI CH 2 CC 16 value 7F

4th note MIDI CH 2 CC 17 value 7F

then the cycle repeats.


It is very simple and uses 1 global variable and 4 translators.

The global variable sequences between 0-3. If the sequence does not belong to the given translator it outputs nothing, otherwise it outputs it's CC and MIDI CH.

The last translator increments the sequence and resets it back to 0 if greater than 0.


This is very close to what I've shown in previous examples.

It does not analyze if the notes are chords or even send out any notes. Just CC ss. If you want notes, you can add either translators or MIDI routes to pass them through.

Steve Caldwell
Bome Q and A Moderator and
Independent Bome Consultant/Specialist



Just capture the note value into a local variable such as pp and the value pp out instead of 127.

It was not exactly the same preset as you helped me to do before.
It’s now perfectly working… Thank you very much… My gear become everyday a new synth because of this skill you offer… Thank you very much Steve :3