Midi Merge Technique? (Jitter)
Byron G. Jacquot
thescum at surfree.com
Tue Jan 25 04:43:39 CET 2000
>From the midi spec details posted, this would be incorrect operation - midi
>realtime should always be sent as soon as required, and can interrupt any
>other type of message.
...snip...
>That sounds like an awful lot of work just to compensate for a poor quality
>sync source.
That's quite true, especially considering that the spec clearly states that
real time messages should have priority over other messages.
However, it seems like a modern PC system doesn't always live up to this
sort of spec. But it still has to be proven that some sort of flywheel
scheme would actually help matters.
>A midi byte takes roughly 0.3ms to be transmitted.
>As we have discovered that midi clock can be transmitted at any time (even
>during sys-ex), if we write the transmitting software correctly, the longest
>we need to wait before we can transmit a clock byte is the 0.3ms it takes to
>finish sending the last message byte.
>This gives us a maximum delay from the loading of the clock byte into the
>transmitting UART, to setting the data ready flag at the receiving UART of
>well under 1ms.
>Theoretically, not a problem.
As long as you don't have somewhat full hardware FIFOs standing in the way!
>At the moment I use a TR626 as the main clock source.
>At any given clock interval, its sequencer always sends the midi clock byte
>before it sends any of the note ons for the drums, so it is highly stable as
>a source of sync.
It wound't be that great a DIY project to make a little master clock module,
either. It could have an onboard tempo oscillator (as stable as you care to
make it), start/stop/continue buttons, with MIDI, DIN, and maybe 16th note
pulse outputs...plus an extra blinking light or two.
>(Midi-OX is highly recommended for analysing midi streams on your PC, BTW)
Agreed. It's how I found the errant clocks from my 909. I was convinced
that my machine was responding correctly, to I looked at it, and sure
enough...extra $f8's. Midi-Ox is very handy tool for troubleshooting MIDI.
Byron
More information about the Synth-diy
mailing list