[LAU] MIDI NOTE ON/OFF Messages - reducing data

Crypto crypto at online.de
Fri Dec 12 07:36:25 EST 2008

Hi LAU group,

just a bit of brainstorming here.

Defined in the MIDI specification is that for each NOTE ON message there has 
to be a NOTE OFF message (or a NOTE ON message with vol.=0).


There are many instruments that in real life never need a manual action to 
stop their sound, for example most if not all percussion instruments and 
drums. For these, sound can "only" be triggered and then just plays, there is 
no way to stop it, apart maybe from rigorously damping it.

It means: when playing vibes for example, the player hits the instrument once 
and then the sound just fades away. No action necessary to manally stop the 
sound. So: why do we have to send NOTE OFF messages for these kind of 
instruments? Wouldn't it be sufficient to simply sent the NOTE ON message for 
that sound and omit the NOTE OFF message? This would save us up to three 
bytes which can make a difference in delay.

I'm not sure if this is true for drumkit sounds as one already has to define 
sound collections in a SF2 file either as instrument presets or drumkits.

I'm not sure either how to introduce such a feature in the MIDI world, 
however, I can see that it might be rather difficult. Both sender (MIDI 
keyboard) and receiver (synth, expander, some software) need to agree that a 
particular sound does not need NOTE OFF messages and therefore the devices 
neither need to transmit nor wait to receive it.

Maybe it could be done by introducing a new controller that disables NOTE OFF 
messages for a particular channel, so that all instruments that play on that 
channel would never need any NOTE OFF messages.

Any comments/ ideas here?


More information about the Linux-audio-user mailing list