Re: [LAU] MIDI clock & sync

From: Gabriel M. Beddingfield <gabriel@email-addr-hidden>
Date: Sun Aug 02 2009 - 03:04:18 EEST

Hi Julien,

I don't know enough about MTC to answer your other questions... but I can
answer your MIDI Clock questions and explain a bit how it works (so you
know its limitations).[1]

On Sun, 2 Aug 2009, Julien Claassen wrote:
> 1. Is MIDI clock realtime? If so, it could still be used for simple alignment
> purposes.

Yes, and Yes. When they say that MIDI Clock is "realtime" it means that
the commands are a single byte that can be sent anytime, anywhere (even
in the middle of a SysEx dump). So, they are given priority on the MIDI
bus.

MIDI Clock works like this: The messages are START, STOP, CONTINUE, TICK.

START: Start playing from the beginning of the piece on the _next_ TICK.
STOP: Stop playing now.
CONTINUE: Start playing where we left off, on the _next_ TICK.
TICK: 1/24th of a beat.

TICKs have to be evenly spaced in time... and they indicate the tempo.
The faster the ticks come, the faster the tempo is.

So, if we abbreviate TICK with a dot (.), a typically performance would
look like this:

START
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . .
STOP

CONTINUE
         . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . .
STOP

Thus, the machines stay synchronized... but if there are any errors there
is no means of recovery or indicating "In case you forgot or have lost
count... the next TICK is the DOWN-BEAT." Nor is there any way to say
"Position to bar 99, beat 3."[2]

There's a little more to MIDI Clock usage (like song position pointers)...
but this is the basic capability (and IN-capability).

Peace,
Gabriel

[1] FWIW, my favorite MIDI reference is here:
     http://www.blitter.com/~russtopia/MIDI/~jglatt/
     http://www.blitter.com/~russtopia/MIDI/~jglatt/tech/midispec.htm

[2] With song position pointers, you can (sort of) specify the number
     of beats from the start of the song. But you can't say "bar 99,
     beat 3." You have to know the number of beats in measures 1-98,
     add 3 (for the 3rd beat), and then multiply the sum by 4. That's
     the number that you send.
_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-user
Received on Sun Aug 2 04:15:04 2009

This archive was generated by hypermail 2.1.8 : Sun Aug 02 2009 - 04:15:05 EEST