Who
I’m Raymond Lutz, a physics teacher (college level, in Québec) planning to produce some educational videos (once in retirement) and I wanted a cheap way to sync audio and video, hence TicTacSync. But honestly, I kind of feel like an imposter: I’m no programmer and would like someone more skillful to maintain and build this thing. The unique computing course I ever had is 4 decades ago (FORTRAN!) in my first year of engineering studies (before dropping out). See for yourself my non-existent IT skills:
Before this project I had never
- wrote a python script using arguments;
- wrote a module with submodules (mine are still impropely imported);
- uploaded a PyPI project;
- used git (other than cloning repos)
- wrote an Arduino sketch;
- commented properly my code;
- used logging instead of commented print’s;
- defined a python class (or maybe one, decades ago findling with PyObjC);
and I’m still conflating python scopes with python namespaces.
Yet… I’ve made this : TicTacSync. And it works.
What
I’ve implemented an audio sync track generator using the 1 PPS from a GPS receiver. Between each seconds the time of day is BFSK modulated into an audio signal and parsed in post-production by a program named tictacsync
, merging sound clips with their corresponding video tracks (thanks to FFmpeg) and this, before importing into your NLE of choice.
Pros:
- microseconds precision (audio tests show syncing is within 0.083 ms, that’s 0.003 frame!)
- no jam sync required
- no settings, plug’n shoot: it is frame rate agnostic (DF, NDF? meh)
- no drift in GPS mode (it’s atomic)
- low cost (28-50 USD per device)
- can be used with cameras lacking mic input (acoustic coupling was a pain in the ass to R&D, though)
- more resilient than NLE waveform analysis
- it’s FLOSS
Cons:
- As of March 2024, this product doesn’t exist, but you can assemble it now (yes, it was in the Pros list). Preflashed kits sale are available on Tindie.
- geared toward DIYers: some soldering required
- no single package for now, needs installation of:
- python
- Arduino IDE (not if you buy preflashed boards)
- sox
- ffmpeg
- my postprod software
tictacsync
(download instructions)
- CLI only, for now
- new format (it’s a feature, not a bug)
- adequate GPS signal strength needed for wireless mode (not a problem for most residential buildings)
- one guy in his basement project (hopefully not for long)
- sloppy code (but I’m working on it)
Project status
Feature complete. Progressing lentement mais sûrement: I’m doing this in my spare time: first ideas in 2016; switched on the soldering iron November 2020 (thanks to covid). Tried in 2023 to reach out some communities on the net without any luck (see this thread on jwsoundgroup). I should hone my communication skills… :-)
Project Stage
Alpha, needs real world testing in production settings: I plan to distribute prototypes to people willing to test software+hardware.
All three hard/soft components have been implemented and tested:
- the hardware dongle (up to five five prototypes around different flavours of SAMD21 boards)
- their corresponding firmware variations (mainly different LED driving commands)
- post-production analysis desktop software (CLI version,
tictacsync
)
For multicam, I have successfully tweaked both the tictacsync
produced file structure and Davinci Resolve settings to ingest clips and out of the box generate synced multicam clips using metadata timecode programmatically inserted into each clip:
How to build
Here’s the wiring between the Adafruit boards: This outputs a +3.3 dBu signal with a 1.6V DC component filtered out by the line input of my H4n PRO (my understanding is all line level inputs have DC blocking caps).
.