
Ben Kennedy wrote:
On 20 4 2004 at 5:07 am -0400, Carl Edlund Anderson wrote:
Well, I am definitely not a MIDI expert either. But I know vaguely that MIDI devices can be attached and made to work in concert with a master/slave relationship. I envision being able to slave a sequencer/recording device to Doggiebox (or slave DoggieBox to a sequencer/recording device) so that things like the stop and start of recording can be synchronised and automated (i.e. when I press record on my VS-1680, DB starts playing at MIDI time code point X, or something like that :)
Yeah, this is well within the realm of possibility.
Woo hoo! :)
Delving into this further though will require a discussion of midi on a more technical level though, which is why I'm interested to hear input from anybody who has worked with midi on a quasi-low level before.
As you probably know, there are various midi "commands" that run over the wire (controller change, program change, note on/off, etc). Right now I have Doggiebox sending Note On messages in real time as playback occurs, which does as the name implies -- triggers specified sounds to play. As we move into more esoteric realms though, like changing sections or triggering events on external hardware, I need to figure out what kind of MIDI events we should be sending/listening for. (e.g. does your deck listen for a particular Controller Change event to signify "start recording", etc.)
I'm going to have to look at this more deeply myself. At present all I know is that my deck (like many decks, I imagine) can function as both a MIDI Time Code (MTC) and MIDI Machine Control (MMC) master or slave. My deck, at least, can't sync to a MIDI Clock source though it will happily send MIDI Clock. I know I can control just about anything my deck does via Continuous Controller and/or System Exclusive Messages. There is a whole chapter in my user manual on using external MIDI devices, including sections on MIDI Controller Messages and MIDI Machine Control, and another chapter on using software sequencers. From the user perspective, it looks like establishing MTC/MMC communication between devices is fairly simple. The Slave device needs to know to listen to the MIDI interface coming from the Master and know it was listening to MTC at the appropriate frame rate, and the Slave needs to know what to do with a MMC command like "play" or "stop". I haven't read a good explanation of what's up with MMC, but it seems like all the commands must be standardized .....? I also have the complete MIDI spec for my deck -- though it's all highly technical Greek to me! Alas, I haven't actually got any MIDI stuff to use to see how it works in practice :P Cheers, Carl -- Carl Edlund Anderson http://www.carlaz.com/