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?
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)