Synchronization
Last updated on 3/31/2016General Information
There are two methods for synchronizing Cakewalk Professional or Pro Audio to external devices: SMPTE/MTC sync and MIDI sync. Each of these formats has its own strong and weak points. The equipment that you use and your personal needs will determine which format you should use.
Note: Cakewalk Home Studio and Cakewalk Express do not synchronize to external clock sources.
For more information about synchronization please refer to Appendix A of the Cakewalk User's Guide.
SMPTE/MTC Sync
SMPTE (Society of Motion Pictures and Television Engineers) time code identifies an exact location on a tape. The location on the tape is represented in real-world time in the format of Hours:Minutes:Seconds:Frames. SMPTE is usually used to synchronize tape decks and other devices. To use SMPTE/MTC you will need to have a MIDI interface that is capable of converting SMPTE time code to MTC (MIDI Time Code). Cakewalk supports four different SMPTE frame rates; 24 frame, 25 frame, 30 drop-frame and 30 frame non-drop.
Please refer to the documentation included with your interface for more detailed information about using SMPTE/MTC. Also verify that you have the correct connections from your MIDI interface to your tape deck.
Striping a Tape with SMPTE Time Code
First you will need to stripe a tape with SMPTE Time code. Cakewalk does not have a built-in striping utility, so you will need to do this from a utility provided with your MIDI interface. Some interfaces allow you to run the utility from the driver setup in Control Panel | Drivers, for other interfaces you will need to run the utility from DOS.
When recording an audio track with SMPTE use the lowest-numbered or highest-numbered track to avoid the signal from bleeding through to other tracks. Also, record the stripe with a level between -6db and -3db and disable any noise reduction on the track.
Configuring Cakewalk to Sync to SMPTE Time Code
After the SMPTE stripe is on your tape, you can have Cakewalk sync to it. First there are some settings that you will need to configure in Cakewalk.
Options | Project | Clock
Select a clock source of external SMPTE/MTC sync. This instructs Cakewalk to wait until it receives a valid Time code stream on one of its MIDI In ports before any Play or Record operation takes place. (Tools | Project Options in v. 7 and 8)
Time Format
Choose the Options | Project | Clock menu option, and select the appropriate Frame Rate and SMPTE/MTC offset that corresponds with the SMPTE time that is recorded on the tape. The offset determines what SMPTE time will correspond with measure 1:1:000 of your sequence. Enter an Offset that is at least three seconds later than the start of the stripe. For example, if the stripe starts at 01:00:00:00 you would set the offset to 01:00:03:00. It may take some experimentation to find the correct offset but it should be between 3-10 seconds. Some software based SMPTE generators (S.A.W., Quad) need an offset of at least 5 seconds.
Options | MIDI Devices
In the Options | MIDI Devices dialog box make sure that you have highlighted the driver for your MIDI interface on the Input side. If your interface also has a Sync driver listed, highlight that too.
Realtime | Auto Shuttle
Go to Realtime | Auto Shuttle and select Restart. This will make Cakewalk chase the SMPTE whenever you stop and restart your tape deck.
Now when you start Playback in Cakewalk a SMPTE/MTC "Waiting for SMPTE/MTC" message box will open. When Play starts on the tape machine the SMPTE is sent to the interface, which will convert the SMPTE to MTC, and send the signal to Cakewalk. Cakewalk will chase the SMPTE/MTC until the time of the Offset, and then the sequence will start playing.
Trouble Shooting Problems with SMPTE Sync
If Cakewalk is not responding to SMPTE Sync, double-check the above steps for configuring Cakewalk to sync to SMPTE. In the utility that you used to stripe the tape, there should be a Trace or SMPTE Reader option. Use the Trace utility to verify that the SMPTE stripe is being read by the interface. If the utility can read the SMPTE stripe, double-check that the Frame rate and offset settings in Cakewalk correspond with what is on the tape. With some interfaces it is also necessary to set the driver for the interface to "Sync to SMPTE". This can be set in the interface's driver setup in Control Panel | Multimedia | Advanced. If the Trace option can not read the SMPTE stripe, it may indicate that the stripe was not recorded properly, so double-check the record levels and cable connections to the tape deck. Also, check the documentation for your tape deck to see if there are any recommended procedures for using your tape deck with SMPTE.
When syncing audio to SMPTE in Cakewalk, you may notice two puzzling behaviors:
- The first time you play any audio, the pitch of the audio seems to fluctuate wildly.
- Every time you play audio, it sounds "fuzzy" and is consistently higher or lower in pitch.
The next few paragraphs will explain what's going on, and will give you some tips on how to remedy these unwanted side-effects.
As you read this section, keep a simple analogy in mind: Synchronizing audio to SMPTE is like trying to catch up with another car on the freeway, and then staying neck-and-neck. If the car is ahead of you, you'll need to drive faster to catch up, and if it's behind you, you'll have to slow down. Once you're caught up, staying caught up means changing your speed only if the other car changes its speed.
Getting Caught Up
The first time you play audio in a Cakewalk session, it has to "catch up" to the external SMPTE clock. This could mean "racing ahead," which would raise the pitch of the audio, or "hitting the brakes," which would lower the pitch of the audio. These wild fluctuations in pitch last as long as it takes for Cakewalk to get fully caught up – at worst no more than 30 seconds.
Why does Cakewalk have to do all this catching up in the first place? Because no two clocks ever run at the same pace. Your SMPTE timing source contains one clock, and your sound card contains another clock. The SMPTE clock decides that 1 second has elapsed after it has counted a certain number of video frames, while the sound card clock decides that 1 second has elapsed after it has played several thousand audio samples. The bottom line is that both clocks are running independently of each other, without reference to each other.
Therefore, when Cakewalk is catching up, it's actually figuring out the difference in rates between these two clocks, making increasingly better "guesses" until it gets it right. This difference in clock rates translates directly into a change in pitch, which explains why you hear pitch fluctuations the first time you press Play. Also, the bigger the difference in clock rates, the more noticeable the pitch-shift, which means that the initial pitch fluctuations will be more severe if the SMPTE signal is coming from unreliable (analog) gear.
Staying Caught Up
If the SMPTE timing source was 100% stable and never wobbled, Cakewalk's job would basically be done. It would just continue to apply the difference in clock rates to the audio, keeping audio in perfect sync with the SMPTE clock. However, no timing source is perfect. So every once a while, Cakewalk may need vary the speed by a minuscule amount in order to stay caught up.
Important: Being caught up still means that Cakewalk is applying a pitch shift to your audio tracks. If you've got an accurate and steady SMPTE clock source, then this pitch shift is extremely minor and probably imperceptible. However, if you're chasing to an analog SMPTE clock source, the pitch shift may become more noticeable. Also, analog mechanisms are usually unsteady, so you will hear the pitch "wobble" more frequently as Cakewalk tries to catch up to adjust itself.
(Again, take yourself back into your car on the freeway. You've caught up to the other car, but the other driver occasionally speeds up or slows down a tiny bit. If you want to stay caught up, you have to speed up or slow down a bit too.)
Unfortunately, all of this pitch shifting causes distortion. Depending on what kind of audio material you're working with (and depending on your ears!), there may be enough distortion to be a nuisance. We've improved the sound immensely in version 6.0 by adding an option for a "high-quality" SMPTE sync mode (found under Options | Audio | Advanced in Cakewalk.)
Making the best of the situation
To make sure that you get the best possible audio quality while recording or playing back audio to an external clock, always use a simple procedure that will allow Cakewalk to "catch up" with clock rate of your external gear: Start off each new session in Cakewalk by playing some audio under SMPTE sync; let it play for 30 seconds at most, or until all audio pitch fluctuations have stopped.
Doing this procedure ensures that Cakewalk knows the difference in rates between the SMPTE and audio clocks. Cakewalk will then remain caught up for the remainder of the session and will continue to play at the rate it last knew to be correct, with only occasional minor rate adjustments as they become necessary.
Note: If you've recorded audio while slaving to SMPTE, and there was distortion or pitch fluctuation while you recorded, then these effects will unfortunately be part of the audio data, and will be there even if you switch back to audio clock in Cakewalk. Though this is due to the stretching algorithm that Cakewalk uses, remember that audio must be stretched to stay in sync during both record and playback.
MIDI Sync
MIDI Sync is not the same as MIDI Time Code. MIDI Sync is a type of synchronization that is usually used to synchronize drum machines, desk top hardware sequencers, and internal sequencers that are in keyboards. The MIDI Sync format uses a timing resolution of 24 Parts Per Quarter Note and Song Position Pointer messages. When using MIDI Sync one of the units must be designated as the clock source.
Options | Project | Clock
Set the clock source to MIDI Sync.
Follow the directions from your drum machine or hardware sequencer to have it transmit MIDI Sync. When you start Playback on Cakewalk, a MIDI Sync dialog box will indicate that Cakewalk is waiting for MIDI Sync. Then start your drum machine or external sequencer and Cakewalk will begin to play.
Trouble Shooting Problems with MIDI Sync
If you experience problems with MIDI Sync when Cakewalk is the master clock source verify that your external devices are configured correctly to respond to MIDI Sync. There is usually a Clock option that should be set to External or MIDI.
If Cakewalk does not respond to MIDI Sync, verify that your external devices are configured correctly to transmit MIDI Sync and remember only one device can be the master clock source. Also, make sure that you have highlighted the driver for your MIDI interface on the Input side of Settings | MIDI Devices.
If your computer locks up when using MIDI Sync, it is probably caused by a MIDI loop with an external device. To solve this problem either turn the MIDI Thru off on the external unit (sometimes called MIDI Echo or something similar) or select Settings | MIDI Thru in Cakewalk and set the Thru Mode to None.
Configuring Cakewalk as the Master Clock Source
Options | Project | Clock
Set the Clock source to Internal clock.
Options | Project | MIDI Out
In the MIDI Out dialog box select Transmit MIDI/Start/Continue/Stop/Clock and select Transmit MIDI Song Position Pointer. By default Cakewalk will send a "continue" message if you do not start Playback from the beginning of a sequence. If you use a drum machine and only have it play individual patterns instead of songs, then select the Use Start, Never Continue option.
The Locate Delay for SPP Recipient option sets the amount of time Cakewalk will wait before starting Playback after sending the SPP message. This delay allows devices to jump to the correct location before play starts. This value is in 18ths of a second. For some slower equipment you may need to experiment with this value.
When Cakewalk starts to play a sequence, it will transmit the MIDI Sync information and your external devices will start to play.
More Tips on SMPTE
The first thing to consider when dealing with SMPTE is that it is like a very specific digital clock. It indicates hours, minutes, seconds and frames (of film). Also when using it in conjunction with a sequencer, there are two "start" times that must be kept in mind. First is the tape's "start" time and secondly the sequencer's "start" time or, Time Offset in Cakewalk Professional.
To stripe a tape with SMPTE:
SMPTE is encoded onto tape via what is called a SMPTE generator/reader. This is a device that not only produces the signal (that's what SMPTE is, an analog signal) but "reads" it in and converts it to the MIDI equivalent known as MIDI Time Code or MTC for short. The process of recording a SMPTE signal onto a tape track is call "striping ".
- Set the SMPTE generator/reader to its "striping" mode and set the stripe start time (usually 00:00:00:00).
- Record the SMPTE signal onto a track of the tape recorder. It is usually best to use the last tape track to help keep other signals from bleeding into the stripe track or vice versa.
Note: Try to think of the signal as playing into the recorder just like an instrument's audio signal would. An optimal level to record the SMPTE signal is approximately -3db to 0db. Do not monitor the SMPTE signal, it sounds awful.
To SMPTE sync to tape:
The sequencer has nothing to do with the "striping" process at all but it does get involved when it comes time to play back the song or overdub to it "in sync" with the tape.
- Put the generator/reader into its conversion mode. It will take the SMPTE signal and make it into something the sequencer can use, MIDI Time Code. This is basically the MIDI version of SMPTE.
- Play back the SMPTE signal just as you would any instrument track on the tape recorder. Send it directly to the generator/reader by connecting the the Tape Out of the sync track to the generator/reader's MIDI IN or the Sync In of your MIDI interface (see the Note below).
- Connect the MIDI Output of the generator/reader to the MIDI In of the computer. This will provide the MTC to the computer for use by the software.
Note: There are many "conversion capable" MIDI interfaces that can do SMPTE to MTC conversion right on the card itself. This is convenient for studios that do only MIDI tracks.
Once we start the tape machine playing the SMPTE is sent to the generator/reader which will do the conversion and in turn, send the signal to the computer for use by the sequencing software. Call up a file in Cakewalk and take the necesarry steps to run it in SMPTE sync mode. Cakewalk will take it from there.
Here are the steps to take in Cakewalk:
- Choose Options | Project | Clock. Select SMPTE/MTC as the clock source.
- In the Clock menu, choose the correct Time Format of your SMPTE stripe (see the Note below) and setup a Time Offset (the time that tells Cakewalk when to turn on). If the tape start time is 00:00:00:00, the sequencer start time should be set around ten seconds later or 00:00:10:00. This amount of "chase delay" is important.
- Pull down the Real-time menu, click on Auto Shuttle and put an "x" in the box labeled Restart. This will cause Cakewalk to chase the SMPTE whenever you stop and restart your tape transport.
Note: The actual SMPTE time format is a very involved topic. For most music applications not having to do with film or video, 30 Frame Non-Drop is the popular choice. Simply choose this fromat on your generator when you originally stripe tape and in the Settings/Time Format dialog box when you sync up in Cakewalk.
Now, to play back the file hit the Play button on Cakewalk. A "Waiting for 30 Frame Non Drop" sign will pop up. Start up your tape transport to play the SMPTE out of the tape machine. If you striped your tape starting at 00:00:00:00, the first instance of time code to reach the converter will also be 00:00:00:00. The generator/reader or "conversion capable" MIDI interface will convert the code to MTC send it to the sequencer. When the first instance of MTC reaches Cakewalk, the "Waiting for 30 Frame Non Drop" sign will change to say "Chasing" and scroll the current SMPTE time. When 00:00:10:00 is reached, Cakewalk will turn on and continue to playback the file as long as the tape transport is playing SMPTE.