The pro-standard SMPTE sync code is now working itself down to many semi-pro and amateur studios - but even the best systems bring their problems. Vic Lennard presents a SMPTE troubleshooters' guide.
IF YOU'VE ACCEPTED SMPTE AS THE ULTIMATE SYNC CODE, YOU MAY BE DISAPPOINTED TO LEARN THAT IT DOESN'T ALWAYS SEE EYE-TO-EYE WITH MIDI SYSTEMS. BUT WHERE THERE'S A PROBLEM, THERE'S USUALLY A SOLUTION.
ALTHOUGH SMPTE HAS been incorporated into "upmarket" software sequencers (programs like Creator/Notator and Cubase), it will not work without additional hardware and it's useless to your drum machine without some form of SMPTE-to-MIDI conversion. In a nutshell, a converter ensures that a sequencer or drum machine will stay in sync with material already recorded on multitrack tape by reading the SMPTE code and generating MIDI clocks.
As SMPTE is a measure of absolute time, and so is independent of musical tempo, the time code can be recorded onto tape without the sequencer playing at the same time. (One of the edge tape tracks is normally used for this to prevent the code spilling over onto more than one adjacent tape track.) The SMPTE start time for each song is noted, as is the tempo.
When the tape machine plays back the code, a MIDI Start command is sent by the converter to the sequencer, followed by MIDI clock pulses. MIDI Clock is a continuous stream of timing pulses sent 24 times each quarter note (24ppqn). As it is note related, any change in tempo changes the gaps between notes and so varies the rate at which MIDI clocks are generated. Most modern MIDI devices also generate MIDI Song Position Pointers (SPP) which keep a count of how many blocks of six MIDI clocks have occurred since the beginning of a song. This means that when you start the tape machine in the middle of a song, the sequencer knows where to jump to and then picks up the MIDI clocks to remain in sync.
SOMEONE WALKS INTO your studio with a multitrack tape on which he wants to replace the drum track. The tape has SMPTE time code recorded onto one of the tracks. This musician (either sex) also has the track sheets giving you the starting time of the song. All you need now is a sampler and some method of turning the SMPTE code into triggers for it - say a converter and a drum machine. You set up the program on the sampler so that the keynotes from the drum machine trigger the correct samples. You connect the MIDI Out from your SMPTE-to-MIDI converter to the MIDI In on the drum machine. Off rolls the multitrack, the drum machine kicks in, and to your horror the sampled drums start to drift in and out of time with the bassline on tape.
The problem is likely to stem from the fact that a different make of SMPTE converter is being used for playback than was used to initially record the code onto tape.
Let's run through a typical session working with tape sync and assume that the tape has been striped with SMPTE. Depending on the number of MIDI devices available, a lot of recording can be done on the sequencer alone and you won't need to go to tape until you want to use a non-multitimbral synth more than once. At this point the audio from that synth is run onto tape so that the synth is free for its next line. The sequencer must now be put into "external sync" mode so that the sequencer will run in sync with the tape machine while the sound is being recorded onto tape. From then on you'll need to use the tape as the "master" device as it will control the sequencer and allow you to hear what you've recorded simultaneously.
We've now reached the point of no return; if anything happens to upset the synchronisation of the sequencer and tape machine, there's little that can be done to reunite the sequenced parts with those dedicated to tape.
What could upset our arrangement? Well, because SMPTE is independent of tempo, the initial tempo has to be entered into the SMPTE-to-MIDI converter. For the sake of argument, let's say that this is 120 beats per minute. How accurate this figure of 120 is will depend on the SMPTE-to-MIDI converter. Some work to one decimal place, some to two and so on. Let's say that the figure is accurate to the nearest whole number. This means that the tempo could be between 119.5000bpm and 120.4999bpm - both of these will be rounded off to 120bpm. If you use the same converter on playback, the rounding will be the same, but a different make of converter will probably have a different level of accuracy.
"OFF ROLLS THE MULTITRACK, THE DRUM MACHINE KICKS IN, AND TO YOUR HORROR, THE SAMPLED DRUMS START TO DRIFT IN AND OUT OF TIME WITH THE BASSLINE ON TAPE."
Returning to our example, imagine that on playback the converter used is accurate to one decimal place. The initial tempo would not be read as 120 but somewhere between the above two figures. At worst, the track could be over one second out in the course of a four-minute song.
THE POINT OF using MIDI clock and Song Position Pointer is to enable us to sync up a tape machine to a sequencer. SMPTE code is the obvious choice of master code as it is more reliable than FSK coding (see Time Exposure, MT June '89 for more information on sync codes) and is universally standard. But the SMPTE-to-MIDI converter is not the only variable in the system; we now have to look at the device responding to MIDI sync - the sequencer.
Let's imagine a situation where audio tracks have been recorded onto tape and the multitrack is playing back. Putting the multitrack into play mode sends SMPTE code to the converter and a Song Position Pointer is sent out to set the sequencer to the right place (followed by MIDI clocks to keep it there). If you now want to record MIDI information into the sequencer, how do you do it? Most converters have a MIDI In to which a keyboard can be connected - this merges any incoming data with the MIDI clocks being generated, giving the clocks top priority. The merged signal then appears at the MIDI Out port and is sent to the sequencer's MIDI In.
How much MIDI clocks clog up the MIDI buss depends on the tempo of the piece of music. A MIDI clock is a one-byte message (F8 hexadecimal) and is sent 24 times per quarter note, so at a tempo of 132 beats per minute (= 455 milliseconds per beat), one MIDI clock message will occupy the MIDI buss for 7.68 milliseconds - less than 2% of the total time.
If a drum machine is being synced to a sequencer by echoing the MIDI clock received from the converter to the MIDI Out of the sequencer, the situation is far worse. Most sequencers give priority to certain types of data on playback. Take the example of C-Lab's Creator. Under "Play Algorithm", top priority is given to notes on, followed by MIDI controllers. Somewhere further down the list comes our MIDI clock. Consequently, if a lot of note and controller data is being used, the MIDI clocks could be significantly delayed. Part of this problem comes from the fact that we quantise most note information so that it plays on the beat - which is where the clock pulses appear. For example, ten MIDI Notes On are due to appear on the beat: this delays the MIDI clock by 9.6 milliseconds (excluding any use of mod wheel, pitchbend and so on). At 132bpm, MIDI clocks appear about every 19 milliseconds, so this delay will probably give an audible change in tempo. Some converters have more than one MIDI Out for the generated MIDI clock. If this is the case, it's advisable to use one of these for the drum machine.
Then there's clock interpolation to consider. What's the point of having an internal sequencer resolution of 384ppqn - as is the case with many sequencer software packages - if you're restricted to a playback resolution of 24ppqn under MIDI clock? To get around this, the program places its own timing clocks between those being received. The problem here is that, if a tempo change is occurring, successive MIDI clocks will either be moving further apart or closer together, making it impossible to predict when the next clock will be received. Gradual tempo changes are not likely to cause major problems but if, for example, you're building the tempo as a chorus approaches, the change might not be quite as dramatic as you intend it to be.
THE ORIGINAL PROBLEM we identified was one of using different SMPTE-to-MIDI converters on playback and record. It's far safer to stick with one model - even if this means buying more than one converter for different studios in a complex (should you be running one). On the other hand, if the studio you use doesn't have the converter you've been using for your pre-production work, take your own in with you.
Most software companies now have their own hardware to accompany sequencers that support SMPTE - but these will only work with the software they were designed to complement. It is possible to transfer a song recorded on one software system to another using either MIDI Files or by using MIDI connections from one computer to another. Be warned, though, the latter method, though attractive in principle, is fraught with difficulties.
Then there is the question of MIDI Time Code (see Adrift On An MTC, MT, March '89 for an explanation of MTC). Nearly all MIDI devices respond to MIDI clock information but not all implement MTC. Given the choice, MTC is a desirable option, so check out whether your sequencer recognises it or is likely to do so in the near future.
Finally, some of you will be able to perceive changes in tempo caused by MIDI clock delay more readily than others. It all depends on how acutely trained your ear has become - so it's worth remembering that not everybody spends their days listening for timing errors in recording studios, some people just like to listen to the music.
Feature by Vic Lennard
mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.
If you value this resource, you can support this project - it really helps!