# Conditional MIDI channel change (Rotating output MIDI Channels)

**URL:** <https://forum.bome.com/t/conditional-midi-channel-change-rotating-output-midi-channels/7408>\
**Category:** Translation Projects\
**Created:** [July 7, 2025, 9:08pm UTC](https://forum.bome.com/t/conditional-midi-channel-change-rotating-output-midi-channels/7408 "2025-07-07T21:08:01Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sgreene123](https://forum.bome.com/letter_avatar_proxy/v4/letter/s/b5a626/32.png) [@sgreene123](https://forum.bome.com/u/sgreene123)\
**Post date:** [July 7, 2025, 9:08pm UTC](https://forum.bome.com/t/conditional-midi-channel-change-rotating-output-midi-channels/7408/1 "2025-07-07T21:08:01Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![SteveC](https://forum.bome.com/user_avatar/forum.bome.com/stevec/32/8250_2.png) [@SteveC](https://forum.bome.com/u/SteveC)\
**Post date:** [July 7, 2025, 10:04pm UTC](https://forum.bome.com/t/conditional-midi-channel-change-rotating-output-midi-channels/7408/2 "2025-07-07T22:04:51Z")

</div>

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.

```auto
// 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.

```auto
// 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)

 ![image](https://forum.bome.com/uploads/default/original/2X/0/0f4ff0d3db98ec8a919449f86a9cbf30fffd0ffc.png)

I set up my aliases as follows:

 ![image](https://forum.bome.com/uploads/default/original/2X/a/addbb97b9770ba9cd25cec94724e0dae2f2926b8.png)

You can learn more about aliases from [this tutorial](https://youtu.be/CrE391VJL0s).

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

 ![image](https://forum.bome.com/uploads/default/original/2X/4/424fee0cbdc1f5c3b09ce904df28c98a8dbfa9df.png)

For more information about device selection, see [this tutorial](https://youtu.be/KunN2A1rKMY).

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

 ![image](https://forum.bome.com/uploads/default/original/2X/5/5c0c6eca49ad8afbd7e74f62b73dacde371935b9.png)

[Note-Channel Rotate.bmtp](https://forum.bome.com/uploads/short-url/ztx3fj7MuHsWYFTu7zLCJ9yK8VT.bmtp) (2.6 KB)

Steve Caldwell  
Bome Customer Care

* * *
_Also available for paid consulting services: bome@sniz.biz_

---

<div class="post-metadata">

**Author:** ![sgreene123](https://forum.bome.com/letter_avatar_proxy/v4/letter/s/b5a626/32.png) [@sgreene123](https://forum.bome.com/u/sgreene123)\
**Post date:** [July 7, 2025, 11:45pm UTC](https://forum.bome.com/t/conditional-midi-channel-change-rotating-output-midi-channels/7408/3 "2025-07-07T23:45:56Z")

</div>

Brilliant! Thank you!  
Steve
