Skip to content

ActionCheese Sync 0.4.4

Choose a tag to compare

@dev-actioncheese dev-actioncheese released this 27 Oct 00:44
· 2 commits to main since this release

Free, open-source multicam sync for Premiere and DaVinci Resolve. Aligns
footage by its sound, so cameras whose clocks were never set still land
together.

Fewer clips put in the wrong place

Every candidate alignment has to pass a test before the solver will believe
it. That test was set from the only two shoots we had to hand. It is now set
from thousands of measurements on real footage, and it was far too permissive:
matches between two recordings that share no moment at all were getting
through about a third of the time. Now it is closer to one in thirty.

On ordinary footage nothing changes — correct matches there pass with a wide
margin, and both test projects come out identical to the frame. On loud
repetitive music a few more clips will arrive unsynced instead of being
matched. That is the right trade. An unsynced clip sits on its own track where
you can see it and drag it into place in seconds; a wrongly matched one can
land minutes away and look deliberate.

How this was measured, and why it can be trusted

The method comes from Guilley, Khalfallah, Lomné and Danger's framework for
evaluating waveform resynchronisation (WISTP 2011): shift a recording by an
amount you chose yourself, then see whether the matcher gives it back. The
answer is known by construction, so no hand-synced reference is needed — which
matters, because a reference is only as good as the person who made it, and
the one we had disagreed with the camera's own clock everywhere the editor had
nothing to align to.

The half that was always missing is the negatives: pairs of windows that share
no moment, where any match at all is wrong. Without those, a threshold can
only be judged on what it throws away, never on what it waves through.

The instrument is in the repository as tools/calibrate.py, so anyone can run
it on their own footage and check the numbers rather than take our word for
them.

Something useful we learned, if you shoot multicam

Sync needs real overlap. With 6 seconds of common sound the matcher finds the
right alignment about one time in six. With 30 seconds, seven times in ten.
With a minute, nine times in ten. With two minutes, almost always.

So if you stop and restart a recorder in the middle of an event, let it run
for half a minute while a camera is rolling. One overlapping stretch per
restart is all the sound needs, and without it there is nothing to correlate —
no software can recover an alignment that the recordings do not contain.

Requirements: Apple silicon Mac, macOS 11 or later. Intel Macs are not
supported. ffmpeg is bundled, so nothing else to install.

397 tests pass.