Conditional MIDI channel change (Rotating output MIDI Channels)

Greetings,
I am currently evaluating Bome MIDI Translator Pro. My specific use case is to be able to conditionally change the midi channel under the following condition:

Once the desired number of notes (4) is reached being played on a MIDI keyboard controller, the processor should re-map subsequent MIDI notes to the next contiguous midi channel for the next 4 notes.

This is different from splitting the keyboard. In this application, regardless of what 4 notes are played first anywhere on the keyboard, subsequent notes (5, 6, 7 and 8) are transmitted on the next MIDI channel.

Is this possible with MIDI translator pro, or is there another BOME application or appliance that would be more suitable?

Thank you.

Hi and welcome to the Bome community!

Please find the attached project example.

I use the following variables upon project start (Init) which is defined in the rules of translator 0.2.

// every how many notes
ga=4
// current MIDI Channel
gb=0
// maximum channel
gc=15
// note count
gd=0

Since you don’t want hung notes, I increment the channel at note-off messages for every 4 notes.

Translator 1.0 handles the logic for incrementing the note count and the MIDI Channel number.

// get current MIDI channel into local variable tt
tt=gb
// Increment note count
gd=gd+1
// Mod for note count - Result will be 0, 1, 2 or 3
gd=gd%ga
// increment MIDI channel on 0
if gd==0 then gb=gb+1
// only allow for gc channels then cyle back to MIDI
// channel 1
if gb>gc then gb=0
//Log "Log note count=%gd% : MIDI channel = %tt%

For note on, I just pass the output to the current MIDI Channel (gb)

I set up my aliases as follows:

You can learn more about aliases from this tutorial.

I set my input and output ports (device selection) at the preset level as shown below:

For more information about device selection, see this tutorial.

For any messages that are not notes (handled by the 2 translators) , I just use the MIDI router to pass them through untouched.

Note-Channel Rotate.bmtp (2.6 KB)

Steve Caldwell
Bome Customer Care


Also available for paid consulting services: bome@sniz.biz

Brilliant! Thank you!
Steve