[LAD] basic MIDI note-on/note-off questions

Pedro Lopez-Cabanillas pedro.lopez.cabanillas at gmail.com
Fri Jun 25 13:45:59 UTC 2010


On Friday, June 25, 2010, James Morris wrote:
> On 25 June 2010 12:35, Jens M Andreasen <jens.andreasen at comhem.se> wrote:
> > On Fri, 2010-06-25 at 11:55 +0100, James Morris wrote:
> >> Hi,
> >>
> >> I keep getting surprised at some of the most basic problems I run
> >> into... This time, processing order.
> >
> > Midi is serial, first come first served.
> >
> >> 1) Notes of zero duration?
> >
> > Are at least one millisecond.
> >
> >> 2) note x ending simultaneously with note y beginning
> >
> > Note x will end either one millisecond before or after y beginning.
> >
> > /j
>
> Sorry, should have mentioned this is with regard to the internals of
> sequencing. I can't see in Seq24 for example a way to make a zero length
> note.
>
> Where do you get the one millisecond from?

MIDI is an asynchronous serial interface. The baud rate is 31.25 kBd +/-1%. 
There is 1 start bit, 8 data bits, and 1 stop bit. The period is about 320 
microseconds per serial byte. Note on/off messages are 2 or 3 bytes in 
length, depending on running status being used or not.

> Does this imply that a note-off should always happen one millisecond early?

There are instruments that always ignore note off messages, for instance many  
percussion instruments. In this case, you can safely omit note off messages.

Regards,
Pedro



More information about the Linux-audio-dev mailing list