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

From: Clemens Ladisch <cladisch@email-addr-hidden>
Date: Fri Dec 12 2008 - 17:53:05 EET

Crypto wrote:
> 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. [...] So: why do we have to send NOTE OFF messages for these kind of
> instruments?

Because the specification says so. ;-)

> Wouldn't it be sufficient to simply sent the NOTE ON message for
> that sound and omit the NOTE OFF message?

If the synth can decide by itself when the sound is finished, then it
doesn't need a note off.

> This would save us up to three bytes which can make a difference in delay.

If the note-off command isn't really necessary, then you can send it at
some later time when it doesn't take bandwith away from other commands.

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

If note-off messages aren't sent, there is no difference between a
channel that expects note-off message and one that doesn't: All sounds
will sound as long as they naturally sound.

The interesting case is when note-offs are sent: a synth might stop a
sound before it would naturally stop. Therefore, your setting would
effectively tell the synth to ignore any note-off messages.

As it happens, both the GS and XG standards have a SysEx for exactly
this, and it is enabled by default on the drum channel.

Best regards,
Clemens
_______________________________________________
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 20:15:02 2008

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