MIDI Clock Sync,
SMPTE, MTC and MMC
How machines stay in sync
by Tweak
The problem
Audio
and music happens in time.
Many of your machines have an internal clock keeping track of what time it is supposed
to do something. These clocks, unless made to receive code from an external
clock, will be totally out of sync with other machines. That is the problem.
The solution is to make all your machines share the same timebase, so if you were
to ask any one machine what time it was it would say, "we are exactly at 0 hours,
1 minutes, 40 seconds, and 018 frames into the song, right, mmm, NOW!" Or
in sequencer speak, we are 00:01:40:018. You've probably seen that display
on your sequencer. Yes it is more than just telling you how long your song
is, it is actually a representation of the timecode referencing your sequencer's
internal clock. All the methods we are about to discuss, SMPTE, MTC, MIDI
Clock Sync, SPP and MMC are the methods we can use to get our devices to share a
single clock source.
Types of Sync
MMC stands for MIDI Machine Control. Its designed for controlling the transport on tape and multitrack machines. If the multi-track was the MMC master, you press "play" on the multitrack, the sequencer will start. Or in the example below, if you make the sequencer the MMC master, pressing play will start the multi-track. MMC really just controls the transport and sends a locate point--not the timing; its just a switch that says "Go here, then start, stop, rewind, fast forward". What you do to complete the picture is send MTC from the MMC slave.
SMPTE (Society of Motion Pictures and Television Engineers) is still in use in Film and Video today and is embedded right into digital video so no tape tracks are required. In the days of tape recorders, we used SMPTE and striped it on the last track of the tape recorder. On playback, a standard audio cable took the output to a MIDI interface and controlled the sequencer from it.
MTC stands for MIDI Time Code. Its a series midi messages that tells other devices what time it is at any given moment in hours, minutes, seconds and frames. MTC is simply understood as a conversion of SMPTE timecode that goes down a MIDI cable. It is sent in quarter frame intervals as MIDI system exclusive data.
MIDI Clock is yet another option, not to be confused with MTC, though they are similar. Originally, MIDI clock sync was just a bunch of blips that told devices when to start, stop, continue and follow the tempo of the master device. This is perfect for making synths and samplers synchronize their LFOs, and effects delay time. It also passes tempo which is important when syncing arpeggiators, drum loops and other time based sounds.
SPP refers to Song Position
Pointer, which can be transmitted along with the MIDI clock signals. SPP
is based on Bars, Beats, subdivisions of beats down to ticks (or clocks) which is
the finest resolution of the MIDI device. SPP is sent every 6 clocks or ticks as
System Exclusive Data. For some devices that is all you need and you don't
have to use MTC, which is based on hours, minutes, seconds, frames and quarter frames.
Which to use? The one that works. Not all of them will.
But generally, syncing sequencers and multi-track recorders you use MTC. Controlling
synths you use MIDI clocks. Controlling other sequencers you use whichever
works. Many drum machines, for example, won't accept SMPTE. Many multi track
recorders will not accept MIDI clocks. Some devices won't accept MMC at all.
Others will allow themselves to be an MMC master but not a slave. Usually,
there is one combination that will work, but don't bank on it. Some devices do not
work at all. Always check that out before you by gear that needs to synchronize.
MOTU MIDI Timepiece has a comprehensive array of synchronization facilties
Real World Example Syncing a Sequencer to a Multi-Track Recorder
So lets set this up. We want the sequencer to control the transport of the multi track recorder, and we want them to be in perfect synchronization. The first thing you do is make sure that a MIDI out from Sonar is routed to the multi-track and that a MIDI out of the multi track is routed to the computer and those MIDI ports are enabled in Sonar. The best way to do this is to make the sequencer the MMC master and MTC Slave and make the multi-track the MMC slave and MTC master.
You can reverse these roles if
both machines support it. But in our case we have to do it this way as Sonar (as
of version 4) could not make itself the MMC slave. Ready? Here we go.
Figure 1
This screen tells Sonar that it's internal clock is not controlling the timing. Before the song position line moves it has to receive timecode via SMPTE or MTC. If it does not receive this timecode, nothing will happen. Note the timecode format is set to 29.97 FPS df. That stands for 29.97 frames per second, drop frame. Its a common format for syncing to video in this part of the world. But don't get hung up on that. The important thing is to make sure you have selected the same format on the MTC master device, the multi track.
At the bottom you see SMPTE/MTC
Offset. Again, not a big deal here. Just make sure its the same
on both machines. Some video masters routinely start at 1:00:00:000.
But you can start at 0:00:00:000 if you want. I do.
Figure 2
Because we are making Sonar the
MMC master, we select Transmit MMC here. You then set your multi
track to receive MMC. Then clicking the transport in Sonar controls the multi-track.
Simple, huh? Yep!
Figure 3
Here
is a common glossary of terms we use when talking about various methods
of sync.ADAT Sync: A sync format that allows two ADAT multi track recorders to play and record in sync. Chase Lock Sync: When used with SMPTE, the slave will chase the master by rewinding, fast forwarding till it gets to the proper location. Freewheel or "flywheel" Sync. In the days of tape sync there were often droputs in the timecode. Freewheel sync will interpret the value. You may be able to set an interval of time that allows this to happen. Word Clock Sync: This is a different beast altogether. Its the clock source used by your audio interface to sync sample "words". It has nothing to do with timecode, and has everything to do with the smooth flow of digital audio between digital devices. SMPTE -LTC (Longitudinal or Linear Time Code) This refers to SMPTE that is striped "longitudinally" that is along the tape track, common for tape recorders SMPTE -VITC (Vertical Interval Time Code) VITC "vitsee" refers to SMPTE timecode that is recorded into the blank space between video frames. When it is "burned in" to each frame it is called BITC "bitsee". FSK Sync This is an older form of clock sync that we used to print onto tape. Common with the first Atari sequencers and drum machines. |
Hello? Hello? Can someone tell me what is wrong with the above settings? Alright then! Here's a problem that many a newb is doomed to repeat. In figure one you told Sonar it was the MTC slave and it was to wait for MTC commands to do anything. Now in figure 3 you are telling it to send MTC. Nope, that is not going to work. Also you are sending both MIDI sync AND MIDI time code down the MIDI cable to the multi track. If you were the multi-track, what would you say? You'd say, "hey! Wait a minute dude, I'm the MTC master, not you! and quit sending that MIDI clock too". So what are the correct settings? Uncheck everything in figure 3. The only thing Sonar should send is MMC; it receives MTC. Got it? Cool.
Other Methods
But lets go through those options so you know when to use them and why. Lets say you want to sync your drum machine so it starts and stops automatically. Then You select internal clock in Figure1 and click "Send MIDI sync" in Figure 3. You then have to specify which port the drum machine is connected to. The example above is correct for that box. But you would uncheck transmit MTC and uncheck the MTC output ports.
Lets say you are syncing up to another hardware sequencer that accepts MTC and you want Sonar to be the Master. Again you set Sonar to "internal" in figure 1. You would click transmit MTC in figure 3, assign the port, make sure a MIDI cable is in place from the computer to the hardware sequencer and that it is enabled in Sonar. Since we are not using MMC, we only need the one cable out of Sonar to get to the device; they do not have to be bi-directionally connected. Of course, make sure they are both set to 29.97 FPD df. Set the hardware sequencer to "external/MTC".
You press play (or record) on the
external sequencer and nothing happens. Why? Its waiting for MTC!
Now go to Sonar and press play. Both devices start playing (or recording)
in perfect sync.
Common Questions and Answers
Q) So does my MIDI interface need to "have" i.e., generate SMPTE or MMC?
A) No. The midi interface simply needs to let MMC and MTC pass through without filtering the commands. What you have to do is make sure the sequencer can generate the MMC frame rate your multitrack wants. They need to be set to the same frame rate or weirdness may occur.
Q) I have an old 8 track reel to reel that does not have any kind of SMPTE faculties, am i out of luck?
A) Not at all, you can still stripe SMPTE to tape. Here you do want to make sure you have a MIDI interface that can generate SMPTE. You just connect by analog cables to the last track and start the SMPTE generator after pressing record. You'll see the SMPTE timecode print onto the tape.
Q) When I set up my sequencer to sync to another sequencer, one of them plays twice as fast.
A) If you are using MIDI Clock Sync, the "ticks per quarter note" should be the same on both sequencers. This might require that you dig out the manuals to find out what this value is, if it is not obviously displayed somewhere. Alternately, use MTC if you can. Sometimes you will get double speed if you click both Send MIDI clock and Send MTC.
Want to discuss matters of sync? Go to the studio-central Configuring your Rig Forum
On the Forums
- Can Cubase SE send MTC?
- Logic Pro7 - SMPTE lock to analog tape ???
- MMC and MTC
- Midi Syncing 2 Laptops
- MotuTimePiece
- midi connections/sync...help!
- MIDI sync between Sonar, Tascam FW1884, and MPC2000xl
- Fostex VF80 and FSK
- Fantom S88 sending nonstop midi transmission to Cubase SL
- Midi clock "drift" problems - Midisport 8x8
- tempo sync problem
- VM3100 Pro and DIF-AT RMDB-2
- Yamaha A5000 programmable LFO: doesn't work!
Links:
- Synchronisation and SMPTE timecode (time code) at Phillip Rees site
- Get In Sync by Dan Phillips at www.danphillips.com
- SMPTE Time Code (Wikipedia)
- Synchronization and the HD24 by Alesis (FAQ)
- MIDI Timepiece Synchronization Functions
- SMPTE and Video In the Electronic Music Studio
- The Society of Motion Picture and Television Engineers (yes it does exist!)
- Summary of MIDI Status and Data Bytes (Harmony Central)
Go to the Next Class
Go to the Previous Class
Other Articles on Sequencers by Tweak


Here
is a common glossary of terms we use when talking about various methods
of sync.