OK, this is an INTENSELY geeky post. If you're not a show control nerd, feel free to skip ahead now. If you want to see what the exciting world of show control is like, read on, but there's probably about 50 people in the world who will find this interesting... (If you want to learn more, of course, I can recommend a fantastic book on the subject.)
I've used the Roland AR series of audio repeaters for many years and have always liked them. However, I've got a project now where I want a hardware stereo playback device that will chase time code. The Roland AR-3000R's manual says it will do this, but it's not clear on exactly how. Here's the exchange I had with Roland technical support. If you're confused, don't worry--I still don't know if this product will work for my application (I've moved on to another solution).
------ Original Message --------Subject: AR-3000 Question
Date: Wed, 24 Mar 2010 12:04:06 -0400
From: John Huntington
I posted this to the main roland page, but they directed me to you.
I have used many AR series players over the years, and have found them to be extremely reliable.
I'm consulting on a job now where we want an AR-3000 to chase MIDI Time Code. It's for a light show where there will be several songs, each on a different TC hour (for example, song 1 starts at 1:00:00:00, song two at 2:00:00:00 etc.)
I see in the manual the AR-3000 that the will chase MTC, but can I assign a different TC hour to each phrase?
On 3/24/2010 1:41 PM, Roland wrote:
The AR-3000 will accept MMC (MIDI Machine Control) to perform some basic functions and MTC (MIDI Time Code) to sync properly with other MIDI devices.
MTC will not perform any actions or functions within the AR-3000. It will only ensure that any incoming MIDI control messages occur at the proper moment.
The AR-3000 MMC implementation only supports the following MMC commands: STOP, PLAY (currently selected phrase PLAY), DEFERRED PLAY, RECORD, RECORD STOP and LOCATE MTC.
MMC does not allow you to cue up a specific phrase and play it; it only plays whatever phrase is curently cued up.
In order to activate specific phrases, you need to embed standard MIDI commands into your MIDI network. A simple NOTE ON MIDI command can actuate a specific phrase.
I hope this helps. I know that syncronizing MIDI events can be difficult. I'll be happy to help you realize your goal, but I may need additional info about the application.
Roland Systems Group
On 3/24/2010 1:52 PM, John Huntington wrote:
Thanks for the speedy response! Unfortunately, I'm still confused. I can certainly generate any kind of MIDI or MMC command, but how does the unit determine which time code to sync to?
We have about 10 songs that we want to play back for a light show. I can send any sort of setup MIDI/Serial/Network command whenever needed, but then I need a unit that can listen to incoming time code and start rolling the audio in sync with that. But the time code hour will change with each song. Can the AR unit do this?
On 3/24/2010 2:29 PM, Roland wrote:
Here's the story:
MTC will allow you to sync multiple MIDI devices together so these MIDI devices all "agree" on a certain clock. Most commonly, MTC is used to tell multiple drum machines "the tempo is now xxx beats per second". In the case of the AR-3000, the MTC is used to convey frame rate only: 29.97 drop, 29.97 non-drop, etc. This can allow operators to sync simple MMC transport functions (PLAY, STOP, REC) with MIDI-equipped camera or deck.
However, cueing up a phrase and playing it requires more than MTC and MMC. It requires a General MIDI (GM) command (NOTE ON). Thus, regardless of the MTC frame rate we're sending, the GM command is going to go down the MIDI stream at "MIDI speed" - that is, not 100% perfectly instant.
If you need to closely synchronize multiple MIDI devices that require GM commands to do their thing, MTC won't help. Instead, you need to use some clever cheats. Let's assume you have a multitrack MIDI sequence. One track is for a synth, the second track is for lights and the third track is for the AR-3000.
(Rather than daisy chain your MIDI devices, its best to use a MIDI interface with multiple outputs; send your sequencer to the interface and feed each unit from the interface's outputs).
Fact is, some MIDI devices are "faster at the draw" than others. Complicating things, MIDI cable distance above 15ft can slow down the already non-quick MIDI data. It behooves you to make MIDI cable distances identical whenever possible.
We may send MIDI commands from our sequencer at the same exact point in the timeline, but the synth may react slightly faster than the lights (or vice versa). Thus, we would need to slightly set back in time the moment at which the sequencer plays the "activate synth" GM message. Careful timeline control of that MIDI command in your sequencer will yield apparent "sync" between the synth and the lights.
If you do not have a sequencer and are activating MIDI devices with manual MIDI actuation, you cannot necessarily delay when the MIDI is sent. This does present a problem that you must overcome with cabling distance and and the use of a MIDI filter that provides a delay of MIDI execution on that device.
Wish I had an easier answer. MIDI show control can work very well. Depending on what devices you are using, most sync issues can be overcome.
I hope this makes sense (and is as accurate as I think it is...)
If you need any advice, please let me exactly what products/devices you plan to use and I'll do some research and come up with an action plan.
On 3/24/2010 3:08 PM, John Huntington wrote:
Thanks for your detailed response! But I'm afraid I still have questions.
A bit of background. In the A/V business, when we say that we want something to "chase" time code, we mean that we can send in time code, and the player will react to it, and synchronize to it. This comes from the days of analog tape decks. Your website (on http://www.rolandus.com/products/productdetails.php?ProductId=408) says that the AR-3000 "Syncs to external MTC", which to me means that it will chase it as describe above. But it sounds like maybe Roland has something else in mind?
Here's what I want to do. I have a Medialon show controller (www.medialon.com), that can generate any MIDI message in existence, whenever I want it to: Musical MIDI, MMC. I have a GrandMA (www.actlighting.com) lighting console that chases time code (as I describe it above), either MTC or SMPTE LTC. I want to generate MTC from my show controller, and have the phrase in the Roland AR unit chase it. If the time code hour changes, a different phrase should be played, as we use a different time code hour for each song in the show. I can send setup messages from the show controller as well if necessary, but the whole reason I'm considering this unit is its advertised ability to chase MTC. The light board will chase the TC separately. If there's a slight offset in time between the two, that's fine, as long as it's consistent, and I can "slip" the TC in relation to the recorded phrase inside the AR.
Given this, will the AR-3000 chase MTC as I'm describing it?
Also, I was surprised that you said the MIDI could be "delayed" by long cables. Propagation velocity of typical cable, (like Cat 5e, over which we could run MIDI) is roughly 60-70% of the speed of light. IIRC that's (in the neighborhood of) 1 nanosecond/foot. 30FPS non drop TC frame occur every .033333 seconds, or about 33 milliseconds. MTC sends out 1/4 frame messages, so that's typically 120 messages per second, or one message about every 8 milliseconds. If my math's in the ballpark, we should be able to run the MIDI cable about 8,000,000 feet and still not even have a cable propagation delay equal to one MTC 1/4 frame message timing.
On 3/24/2010 3:30 PM, Roland wrote:
The AR-3000 will not actuate a specific phrase with a change in incoming MTC data. It must receive a GM command to do that.
Since your show controller can send GM, you should set up the sequencer in the show controller to send a GM NOTE ON command at 01:00:00 and a different GM NOTE ON command at 02:00:00, etc. If the AR-3000 does not react to the GM NOTE ON command in a timely fashion, you can adjust where the GM NOTE ON command occurs in your sequence to compensate.
My comments about MIDI cable "delay" were meant to make you aware that typical 5pin MIDI cables are only reliable at 15-50ft, depending on cable quality. It has nothing to do with the speed of signal propagation and more to do with MIDI intelligibility and buffering. Long cable drops typically result in slowed MIDI response, stuck notes, etc.
Conversion to Cat5 can extend MIDI cable length due to Cat5's improved ACR and crosstalk rejection.
I hope this helps
On 3/24/2010 3:43 PM, John Huntington wrote:
OK, thanks, so the AR units respond to MIDI messages to trigger phrases,, and I've used them before for that purpose.
But it sounds like the unit will not "chase" time code, so I'm going to find another solution.
Thanks for the speedy responses!
I posted this exchange on the show control mailing list, if you head over there you can see an analysis of some of the technical issues presented.