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

From: Crypto <crypto@email-addr-hidden>
Date: Fri Dec 12 2008 - 14:36:25 EET

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).

BUT:

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?

Crypto.
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
Received on Fri Dec 12 16:15:02 2008

This archive was generated by hypermail 2.1.8 : Fri Dec 12 2008 - 16:15:02 EET