MIDI keyboard sends note on of velocity 0 instead of note off. How to trigger only once?

I’m trying to use MIDI Translator Classic to trigger keystrokes from my MIDI controller. However, it seems to send only note ons (90) and no note off (80). The note offs are just note ons of velocity 0, so every keystroke gets double triggered. How is it suggested to deal with MIDI controllers that act this way?

Hi, and welcome to the forum!

Actually note-off can be either 8n xx qq where n is MIDI channel 0-F (1-16), xx is note (00-7F) and qq is any velocity.

Or it can be 9n xx 00

So if your controller sends note-on at zero velocity for note-off, then use the incoming trigger using raw MIDI of 9x xx 00. (for instance 90 00 00 would be interpreted ad note-off note 0 MIDI CH 1 velocity 0).

Steve Caldwell
Bome Customer Care


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

Thank you very much for your response. That would select for the note-off, sure, but I want the action to be triggered on the note-on of any velocity, with nothing triggered for the note-off. I downloaded a trial of the Pro version and it seems capable of this. Is the Classic version just not?

Hi,
Only Bome MIDI Translator has rules where you can evaluate the velocity.
On MT Classic, you would have to have translators for any possible velocities
(127 of them ranging from 1-127 but not 0)

On Bome MIDI Translator Pro it would look like

Incoming: 90 01 qq
Rules:
if qq>0 then exit rules skip outgoing action
Outgoing: Whatever you want to do

Edit, you might also want to set a global variable to 1 to prevent more triggering

IE
if ga==1 then exit rules skip outgoing action
ga=1

Then have note-off incoming set ga back to 0 in a separate translator when you get a note off.

Steve Caldwell
Bome Customer Care


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