Transposer Keyboard

Hi Steve,
I am trying to fix the stuck midi note issue that appears when transposing all ongoing midi note on and offs in realtime with a controller keyboard, but without success. I was wondering: did you happen to come across this problem a previous time, and did you find a solution that I might be able to use?

Hi, and welcome back!

There are a few approaches here.

  1. Any time you change the transpose amount, send an all notes off CC message 123 (if your synth supports it), to turn off any currently played notes.
    If your synth does not support all notes off CC, then you would need a repeating timer, to iterate through each note turning them off one at a time.

  2. Track all notes on using 4 global variables (32 bits per variable). Then use a repeating timer to iterate through all notes turning off only those that are on (similar to above but only sending note-off on notes that are being played).

The attached is an example of iterating through all notes turning them off one at a time. The rules are set up to only iterate through MIDI CH 1 but they can be changed in the first translator. In this example note 26 on MIDI channel one triggers the timer, but you can have it triggered when changing your transpose setting.

All-Notes-Off-Iteration-2022-04-28.bmtp (2.2 KB)

Steve Caldwell
Bome Customer Care

Also available for paid consulting services:

Hi Steve,

Thanks! And thanks for these suggestions! I am still trying to make your first suggestion work, and if that doesn’t work I will go and try the second. Strangely both my synths (Dave Smith Tetra and Dreadbox Abyss) mention in their user manuals that they respond to CC 123 for all notes off, but whenever I get a stuck note and send that control change directly, the stuck notes remain unaffected. I’ve been monitoring the midi I’m sending from the bomebox and it is indeed sending CC 123 with value 0 whenever I transpose, to all midi channels that are used on these synth modules but no luck so far!

Will keep you posted on the process!


I think you need to send CC123 value of 127 for it to work, but can’t remember for sure.

Edit, also it needs to be sent on the same MIDI channel as you are sending your notes.