[sdiy] MIDI spec
Seb Francis
seb at is-uk.com
Mon Dec 2 18:38:43 CET 2002
Colin f wrote:
> If your
> parser just ignores F1 and retains it's running status, you're going to get
> some weird shit if you start sending MTC.
> Also F4 and F5 are undefined bytes, but should reset running status. F9 and
> FD are also undefined, but should *not* affect running status. (i.e. system
> common resets running status, system realtime doesn't, even for undefined
> bytes)
Right, the simple rule is to check bit 3 of a "system" status byte - bit 3 set means System Realtime message, bit 3 clear means System Common message (which as you say should reset running status, so any following data bytes should be no problem if the message type isn't handled). System Realtime messages are, and always will be single bytes.
Actually, MIDI's really quite nicely designed ...
Status bytes starting with "11111" are system realtime messages
Status bytes starting with "11110" are system common messages
Status bytes starting with "110" have 1 data byte
All the rest have 2 data bytes
BTW, 0xF9 is not undefined - it is defined as "MIDI Tick" - see here: http://www.borg.com/~jglatt/tech/midispec/tick.htm
Seb
More information about the Synth-diy
mailing list