This was a topic I didn’t quite understand as a young pyrotechnician until I started working on pyromusical displays. I thought an explanation might come in handy for those that are just getting into pyromusicals or are otherwise curious.
Timecode. Pyros use this word a lot. Creating timecode. Testing timecode. Transmitting timecode. Receiving timecode. It’s generally heard near a firing system controller, frequently spoken into a two way radio. It’s a word that can strike fear into even the most seasoned fireworks enthusiasts, conjuring images of complex firing systems, crashing laptops, and convoluted audio interfaces. Timecode is a critical piece of the puzzle when it comes to shooting a pyromusical display, but what exactly is it?
From Wikipedia: A timecode (alternatively, time code) is a sequence of numeric codes generated at regular intervals by a timing synchronization system
In other words, it is quite literally a code that indicates time by embedding sequential numbers onto a medium. This still sounds like complicated tech speak, so perhaps the history of timecode will help clear things up.
Timecode was initially utilized by the Society of Motion Picture and Television Engineers (SMPTE) beginning in the 1960’s. The traditional role of timecode is to aid in synching and editing of film and video projects. When footage is recorded, it is then sent to an editor to be screened and cut together. The editor is tasked with viewing the raw footage and choosing the angles and takes that are to be used in the final version of the film or video. With an abundance of raw footage, identifying the exact moment of footage to be used in the final cut is paramount to the editing workflow. This is where timecode comes in.
As footage is captured, it is embedded with a code that uniquely identifies every frame of that footage. This code is applied in a linear, sequential fashion and is displayed as a time in hours, minutes, seconds, and frames. This type of timecode is often referred to as SMPTE Timecode. By assigning every frame of footage a unique time, it becomes very easy to find the piece of footage needed and to cut it frame by frame. It is also easy to reference that piece of footage later by simply referring to it by its unique timecode signature.
Timecode can also be used to aid in synching audio to visuals. This is what the classic black and white clapperboard often seen in outtake footage or behind the scenes action is used for. When a scene begins, a member of the crew holds the clapper in front of the camera and slams it closed. In post-production, the sound that the clapper makes is lined up with the visual of the clapper slamming closed so that the recorded audio and the visual footage are synched. Once this point is determined, the timecode for the audio and video can be referenced or a new timecode can be embedded so that the audio and video share the same unique time signature and are always synched.
Timecode acts as a reference point much like mile markers on the side of an interstate highway. The further one drives from west to east, the higher the mile marker number is relative to the number of miles that are driven. By using mile markers, one can estimate how far they have driven, how far their destination is, and in an emergency, identify their location on the highway.
I realize this sounds like a lot of technical mumbo-jumbo that has everything to do with video and nothing to do with fireworks, but it helps to drive home the point that timecode is used to assign a time signature to a medium and it can help in aiding synchronization.
So what does timecode have to do with fireworks?
When designing a pyromusical display, one of the first steps is putting together a soundtrack. Once a soundtrack is created, it is generally uploaded into a fireworks choreography software, such as Finale Fireworks. The choreographer then designs a display to the music of the soundtrack and creates a file for their firing system that contains the proper data to fire the display. This data varies among firing systems, but generally includes a module or slat number, a cue or pin number, and a fire time. The firing system is programmed with this information and it will fire the appropriate module and cue number at the appropriate time when it is instructed to do so. But how does the firing system know what time it is?
This is where timecode comes in. Once the choreographer is finished creating the display, they then use the exact same soundtrack that was used in the choreography software to create a timecode track. This is done by running the original soundtrack through a timecode generator. Modern timecode generators are simply a computer program that takes the left and right channel of a stereo soundtrack file and combines them into a mono soundtrack file on the left channel of the stereo track. Meanwhile, the right track of the audio file is imbedded with timecode. What you are left with is one audio file that plays the display’s soundtrack on the left channel and timecode over the right channel. Because the two channels comprise one audio file, they are always in perfect synch because both channels are played as one. If I were to plug only the left channel into a sound system, it would sound like the normal soundtrack playing. If I were to plug in the right channel only, however, what is heard is a tremendously annoying screeching sound, much like that of fax machine data being transmitted.
That tremendously annoying noise is called Frequency Shift Keying (FSK), the most commonly used timecode in the fireworks industry. FSK is an audio protocol that uses different frequencies and tones of sound to send packets of data. Every single tone is unique and therefore contains a unique message that a computer is able to understand. In the case of a firing system the messages that are being sent are simply updates of what moment of the soundtrack is being played. It’s as if Morse code that counted seconds was being sent into the firing system. Only instead of seconds, the FSK timecode is sending the time in hundredths of a second. This hundredth of a second timing is what allows for large, complex, and perfectly timed pyromusicals.
So let’s review:
-The choreographer creates a file that contains the show data, including module, cue, and firing time for every shot in the show.
-This file is loaded into the firing system. The firing system now just needs to be told what time it is so that it can tell the modules to fire each cue at their proper time.
-Using the timecode generator for that particular firing system, the choreographer creates audio timecode out of the original display soundtrack.
-This new Audio Timecode file has the right and left channel of music combined onto the left channel and a new FSK timecode audio on the right channel.
-The display operator loads this new Audio Timecode file onto a laptop, Ipod, smartphone, or other digital music player. The left channel output is plugged into the sound system so that everyone can hear the lovely music. The right channel output is plugged into the firing system so that the firing system can hear the awful fax machine noise that it interprets as time.
-The display operator arms the firing system and pushes play on the music player. The crowd hears the lovely music while the firing system hears the awful fax machine noise that it interprets as time. When the time that it interprets matches a firing time that is in the show file, the firing system fires that cue.
-The show is always perfectly in synch because the audio file with all the lovely music that the audience is hearing is in fact the very same audio file that is telling the firing system precisely what time it is. If the music is paused, the FSK timecode is paused, and therefore the firing system also pauses. If the music skips ahead, the FSK timecode skips ahead, and so the firing system and the show skips ahead.
And no, the firing system doesn’t shoot everything that was skipped up to that point really fast. It simply continues interpreting the time as related to the soundtrack and shoots a cue anytime the FSK timecode matches a fire time in the show file.
So what about devices like the Cobra that have an Audio Box? That is simply a device that plays timecode, right? Unfortunately it’s not quite that simple.
Some firing systems, such as the Cobra or Galaxis, utilize their own proprietary audio player/synching device. This is an external audio player that plays the display soundtrack and starts the internal clock in the firing system simultaneously. It is essentially a digital way of pushing play on both the soundtrack and the firing system at the same time.
The advantage of such systems is that the audio player is capable of playing the soundtrack in its original stereo format instead of combining the left and right audio tracks onto one mono track. The disadvantage is that the potential exists for losing synch between the firing system and the soundtrack. The display operator is also at the mercy of the quality of the audio device for playing the soundtrack for the audience’s enjoyment. This often means that high end audio equipment is being fed by a mediocre audio player that is produced by the firing system manufacturer with no other options. Operations such as pausing, rewinding, or skipping ahead during a pyromusical also become more complicated because they have to be pre-engineered into the audio hardware and software by the firing system manufacturer.
So there you have it folks; Timecode. It’s a concept so simple that it only took me 1800 words to explain it. So next time you hear the word timecode being thrown around, don’t be intimidated. Instead, simply interject and ask if they are referring to SMPTE timecode or FSK timecode and then try your best to look humble. That is a sure fire way to impress people and make new friends in the fireworks industry.