
Ben Kennedy wrote:
Um... Doggiebox is transmitting neither MTC nor MIDI Clock. :) I guess that's a bad thing. All it's doing at present is sending the LOCATE, PLAY and STOP commands at the beginning and end of playback. What I assumed this would do is essentially, when pressing play, tell your deck "ok, I'm playing from 00:00, set yourself there and start playing too!". I expected this would behave as simply a cue command so that your deck could position itself where it wanted, and then begin synchronous playback (and/or record).
Well, hey, I would have expected that too :) Mercifully, I am not responsible for the MIDI standard :) It was only after I hooked everything up, crossed my fingers, and hit the button with the result of nada that I thought "hmmmmmm, where could something be missing?"
It did not occur to me at this point that any kind of real-time timing messages would be important from your perspective, since presumably your deck is recording real audio in realtime, as opposed to MIDI data. (e.g., if I was sending MTC at a rate which was actually too slow, what would happen, would your deck record slowly as though it were a tape recorder moving the tape at a slower speed? I doubt it.)
I read various things about errors rates and offsets -- I think MTC streams constantly (depending on the frame rate) and the receiving device does its best to cope with errors (which hopefully with modern gear and relatively non-complex connections won't be very much of a problem). MIDI Clock, I think, is different, since it essentially transmits pulses that can vary according to tempo and time signature. What I've read seems to suggest using MTC if one has the option over MIDI Clock
However, conceptually there is no good reason to omit the timing stuff from the MIDI stream, so I will look into this now.
I think what happens is that the devices use MTC timing to coordinate when they are going to do what. While scrounging around trying to figure this stuff out, I ran across the page <http://www.seriously-productions.freeserve.co.uk/dps12faq/f_midi.htm> for the Akai DPS12, which has the following notes about MMC: ----- MIDI Machine Control is a protocol supported by the DPS12, which allows many of its transport functions to be controlled from a remote device. Many software sequencers support MMC, and in addition to start/stop/play/record and locate features, they can also record enable/disable specified tracks. MMC is nice to have. For example, the DPS12 is in MTC master mode, and sends MTC to the sequencer when you press PLAY on the DPS12. With MMC, when you also press PLAY on the software sequencer it sends an MMC play command to the DPS, which starts the DPS12 playing and outputting MTC which the sequencer detects, locks to, and starts playing. ----- Which makes a kind of sense. I also scrounged up a thread on the linux-audio-dev email list from some years back <http://eca.cx/lad/2000/Dec/0350.html> which seems to witter about some of the same things (though with more cunning technospeak that I can always interpret :) Cheers, Carl, whose efforts to sort a "GB Percussion Kit" have been temporarily hijacked by his wife using the iBook continuously to finish her MPhil thesis. Education! Bah humbug ;) -- Carl Edlund Anderson http://www.carlaz.com/