Send Global Note Off (i.e. Global Panic Button)

Hey All (Steve)

Just want to see if I have this right. If I wanted to have a kill switch of sorts via a macro, set the incoming to a key trigger, then have the outgoing be raw MIDI:

80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F

and then select all the ports I want to send to-- is that right?

Hi,

Some controllers recognize All-Notes off CC which is CC 123 value 127.

If not, the following timer example will iterate through all MIDI channels and notes turning them off one at a time. Just change the desired incoming and outgoing ports and incoming trigger.

All-Notes-Off-Iteration-2019-04-04.bmtp (1.6 KB)

I just set the incoming trigger to my computer ESC key.

Steve Caldwell
Bome Customer Care


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

Hey Steve

Well, I don’t actually want it to go one at a time I want it to send note off across all channels at the same time as it’s a panic button for hanging notes, it’s not for a controller it’s for virtual instruments but that is good to know

ok I think i understand what’s going on in translator [1], the note off has to actually go to all the note values and so you’re using a timer in translator [0] which repeats based on the total number of possible combinations of note value * channels (128x16).

one thing I don’t quite see is how you are instructing bome to work sequentially downwards, I don’t see where/how the arithmetic rule is instructed to repeat

not that I will, but just increasing my MIDI knowledge, suppose I wanted to do it via raw MIDI, I guess i’d have to actually elaborate on the bite and do all 128 note values? so 80x00 80x01… 8Fx00 etc…?

The only way to kill all notes at once is for a receiving MIDI device the recognize the all-notes-off CC.
This iteration works very fast. You can look at the timing in the log window if you turn on timestamp.
If you put it in a single translator, the message will be quite long (3 bytes type 128 notes times 16 channels or 6144 bytes.

The counter calculates the MIDI channel and note number and works it’s way down from MIDI CH 16 note 127 to MIDI CH 1 note 0

Steve Caldwell
Bome Customer Care


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

my DAW has a global note off function via Events (MIDI Events), I just can’t get to it during an online (real-time) export, that’s why I’m trying to do it through BOME.

it’s possible it does work by sending that CC but I feel like that wouldn’t be reliable if not all plugin makers are using that?

great, I will try the timer.

sorry last question-- so the counter is kind of cyclical, i.e. the global value is held, the note off is sent, and the then the timer loops back and does the arithmetic over using the new global value for channel?

Yep, that is how it works. We do a repeating timer and count down for every iteration.

Steve Caldwell
Bome Customer Care


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

Hi Steve et al. I have imported this into my master Bome file and am using a footswitch that outputs a note message to act as the panic button. I changed your ESC key to the note that the pedal outputs. But it doesn’t work unless I specify a specific midi channel in Bome in the All Notes Off translator. I’d like it to work on channels 2-13. If I duplicate the All Notes Off translator and include a different message in each translator, it doesn’t work at all. Let me know how to create a global output for my channel range. Thanks!

Try the attached. I have rules to skip any note messages that are not on either channel 2 or 13.

See the rules of translator 0.1

// MIDI channels are zero based
// Execute channel 2
if pp==1 then exit rules, execute outgoing action
// Execute channel 13
if pp==12 then exit rules, execute outgoing action
// otherwise skip
exit rules, skip outgoing action

All-Notes-Off-Iteration-2024-09-05.bmtp (2.2 KB)

Steve Caldwell
Bome Customer Care


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

Thank you!

1 Like