Sunday, October 21, 2007

TimeTool L


I'm finally hoping to solve one deficiency in my audio/video work - sync!

Synchronization is something taken for granted in a closed system, e.g. a consumer camcorder, where the audio and video is recorded simultaneously within the same device. Unfortunately, this simplicity also poses a number of limitations, such as being able to record additional channels of audio.

There are many flavors of synchronization in the professional media industry, e.g. the LTC flavor of SMPTE timecode, MTC (MIDI timecode), Word Clock, and ADAT Sync. In the end, they all serve the same purpose - to keep multiple devices moving along at the same rate. When you see a video where people's lips don't match up to their voice, that is a synchronization problem.

The Problem

My problem has been that I'm pretty well equipped for making digital audio recordings, being able to record from at least 10 analog sources (multi track). My MOTU 828mkII does this nicely, along with a multitude of other features. Unfortunately, I don't do enough video work to justify the expense of a camcorder of the same professional grade.

My current camcorder is a MiniDV Sony DCR-TRV30, which was at the high-end of the consumer line when I purchased it. (Unfortunately, it's not 3CCD, but again, I couldn't justify the additional price.) It does well for the purpose of recording digital video, but like most consumer camcorders, recording decent audio is nearly impossible.

This camcorder and most similar models have a video (S-Video and composite) and stereo audio (RCA) line-in/out jacks of relatively decent quality. Unfortunately, the RCA audio line-in jacks are only available for use in VCR mode. I.E., you can't use them to record external audio while taping. There is an external microphone jack, reportedly even stereo. Again, unfortunately, it is meant to be simple, not to provide even near-professional results. It has an auto-gain control which can't be adjusted or disabled. While it may be desired for a novice recording in a noisy room, it is far from ideal for hooking into a professional audio system. (Any attempts result in an unacceptable amount of noise and buzzing.)

Getting a camcorder with professional XLR audio connections would require something like the Canon XL2, at a price tag around $4,500. Even then, it's limited to 2 channels of audio, or 4 in slightly lower quality (from 16-bit to 12-bit audio).

The Goal

The idea is to use my MOTU 828mkII to record the audio, and just let the camcorder record the video. I should then be able to take both and lay them back together on a timeline in the computer for production to a DVD, etc. Unfortunately, without anything in place to keep synchronization, the audio and the video eventually drift out of sync. While maybe not noticeable for a 5 minute clip, it definitely becomes apparent after recording for 1-2 hours. I have previously done this and manually corrected for the drift, but it is time consuming and a bit of guesswork, without having a continuous point of on-screen reference to sync against.

The MOTU 828mkII and many other computer audio digital interfaces have the ability to use an external sync source. The 828mkII accepts every type of sync source listed above! The problem is getting the sync off the camcorder. Many professional cameras provide and accept external sync, but not even the $4,500 Canon XL2. Instead, something like the $9,000 Canon XLH1 would be needed.

Fortunately, my DCR-TRV30 has a LANC interface jack on it. However, up until now, I had no way to make use of this, as it is a different protocol and not directly usable by the 828mkII. Enter the TimeTool L from Fisher Robotics Inc. It is designed to read from the LANC interface and produce SMPTE LTC timecode, which should then be usable by the 828mkII.

Caution / Update: The legitimacy of the Fisher Robotics business is in question, as reported by the Anonymous comment below. An open letter has been posted to the rec.arts.movies.production.sound newsgroup, started 2009-09-23. Please use your best judgment before placing any orders or doing other business with Fisher Robotics.

I just placed my order for one of these $250 gadgets. I look forward to testing everything out once I receive the unit, and will post my results here. If successful, it will provide me with the professional functionality normally only available on $9,000+ units for only a small fraction of the cost.

Update: (2007-10-29)

I received my TimeTool L after 2-day USPS priority mail on the 23rd. I've since tried getting my Motu 828mkII to lock-on sync to my camcorder through the TimeTool with no success - but the I'm hopeful that this should be quickly and easily resolved in the coming days.

I've been in fairly regular email communication with Fisher Robotics, and they reply quite promptly to my emails. On the 24th, I was told that "it does appear that this is an anomaly - however it can (and will) be fixed shortly...", though no details were provided.

In the meantime, I've continued to do some further investigation. I recorded waveforms of the SMPTE output of both the TimeTool L, as well as SMPTE generated by my Motu 828mkII. My 828mkII is able to successfully lock-on to a playback of the recording from the 828mkII, but not from the TimeTool L, even when the audio levels were matched.

I then wanted to decode and see exactly what was being sent in these waveforms. The SMPTE bit codes are described on Wikipedia. I just needed an easy and quick way to read the Manchester-type encoding into the individual bits. Staring at the visual representation of the waveform, counting long and short periods, and recording with a pencil sure didn't seem like a workable approach, with 80 bits for every frame of data, or 2,400 bits for 1 second. (I figured I'd need at least 10 seconds to verify proper codes, and ideally 30+ minutes to verify that drop-code was working to-spec.)

In a candidate for another post, just over 100 lines of Java code later (making use of the Java Sound API), I had a program to read the recorded .wav files and output the raw bits along with decoded representations of hours/minutes/seconds/frames and the additional SMPTE codes.

What I found is that the SMPTE timecode from my 828mkII is properly counting from frames 0-29, for 30 frames every second, except for frames 0-1 being dropped in the first second of every non-10th minute, which matches the specification for 29.97 fps drop-frame timecode. The TimeTool, on the other hand, consistently counts from frames 0-28, resulting in only 29 frames every second. I assume my 828mkII fails after properly expecting and waiting for the missing frame 29.

Hopefully this is what Fisher Robotics was already aware of, and is working on for their next firmware release. For good measure, I just emailed them these details. I'm looking forward to their response and a hopeful fix, and will post back with an update once I know more!

Update: (2007-10-30)

I'll post more details soon, but after applying the 1.002 firmware update (just released), success! I think it's a keeper!!

Update: (2007-11-03)

My only remaining problem was adjusting the audio level for the Motu 828mkII to accept on its SMPTE input jack. Fisher Robotics kindly posted some additional specifications addressing this. Photo album of my assembly.


Anonymous said...

The manufacturer of this is a notorious scammer. You pay, your money is gone.

Mark A. Ziesemer said...

Wow. Thanks for the notice. I never did have the impression that Fisher Robotics was a real "stable" business. However, at the time, this was the only product I could find to meet the need at an acceptable price. In my particular case, I had no issues with my order. However, I always recommend paying by credit card to new or unfamiliar businesses for these very types of reasons.

Here is a better link to the referenced thread (from Anonymous), showing the complete context of many users' concerns.

It is also important to note that the official Fisher Robotics web site shows a "last updated" date of April 20, 2009, and a "new website to be launched" date of April 22, 2009 - over 5 months late. I would have to agree, any legitimate business should have valid contact information, including an address and a contact phone number at a minimum. Especially being in a technical business, a well-kept web site is also expected.