Skip to content

Releases

ActionCheese Sync 0.5.0

Choose a tag to compare

@dev-actioncheese dev-actioncheese released this 28 Oct 15:03

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.

ActionCheese — Multicam Remote is on the App Store

The app this one was built as a companion to is out. Up to four iPhones
rolling together on one word, with shared timecode, no Wi-Fi, no laptop and no
crew — and a shoot folder from it opens here already in sync, because the
phones were on one clock when they recorded.

Free to start: https://apps.apple.com/app/id6820252527

And everything from 0.4.1 to 0.4.4, in one place

Those were patches, and this app does not put a window in front of you for a
patch — so if you have been updating along the way, you have had the fixes
without being told what they were. They are all in the what's-new window now,
and under Help › What's New whenever you want them again. The short
version:

  • Better sync on music. A correlation peak no better than the next one
    along is no longer treated as a match. Dance-floor music repeats, so it
    throws up alignments that score alike, and taking one on faith is what sent
    clips minutes out of place. On the wedding that prompted this, clips landing
    on the exact frame went from 18 of 41 to 30.
  • Accuracy set from measurement, not from two shoots. The test a match has
    to pass is now calibrated against thousands of labelled trials on real
    footage. Matches between recordings that share no moment at all used to get
    through about a third of the time; now closer to one in thirty. The
    instrument is in the repository as tools/calibrate.py, so the numbers can
    be checked rather than taken on trust.
  • "In separate synced groups" now explains itself. Two recordings from one
    device never overlap, so sound cannot relate them. When that splits a shoot
    into groups, the clips inside each group are frame-accurate and only the
    joins between them are open — and the report says so, including whether a
    group's position came from a device clock or was simply appended.
  • Two crashes fixed. 0.4.0 raised at the end of every sync; 0.4.1 saved
    comparison reports to nowhere, silently. An unexpected error in the window
    now shows itself instead of vanishing.

Worth knowing when you shoot

Sync needs real overlap. With 6 seconds of common sound the matcher finds the
right alignment about one time in six; with a minute, nine times in ten; with
two minutes, almost always. If you stop and restart a recorder mid-event, let
it run for half a minute while a camera is rolling — without any overlap there
is nothing to correlate, and no software can recover it.

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

400 tests pass.

ActionCheese Sync 0.4.4

Choose a tag to compare

@dev-actioncheese dev-actioncheese released this 27 Oct 00:44

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.

ActionCheese Sync 0.4.3

Choose a tag to compare

@dev-actioncheese dev-actioncheese released this 26 Oct 23:11

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.

This release comes out of a real wedding party that synced badly, and the
footage behind it. Thank you to the videographer who sent the comparison
report — it is the whole reason any of this could be measured.

Music confused the matcher. It no longer does.

Alignment is found by correlating two recordings and taking the lag that
scores best. The check for how much best it scored was effectively off: a
lag no better than the next one along was accepted on the strength of its
score alone.

Dance-floor music repeats, so it produces lags that score alike, and a tie
says nothing about which one is right. Three such matches reached the solver
on that wedding — winning by 0.4%, 0.7% and 0.8% — and one of them put a clip
two and a half hours from where it belonged.

On that footage, clips landing on the exact frame went from 18 of 41 to 30.
A healthy four-camera project is unchanged to the frame: its weakest accepted
match won by 50%, nowhere near the new floor. The floor stays deliberately
low — reverberant rooms give correct matches only a modest margin, and
demanding a tall peak throws away good matches. The rule is that the winner
must not be a coin flip.

"24 in separate synced groups" was not a sync failure, and now says so

Two recordings from one device never overlap, so no amount of sound can
relate them. When that splits a shoot into groups, the clips inside each
group are frame-accurate — it is only where the groups sit relative to each
other that is open, and the report never said which was which.

It does now: each group reports whether its position came from a device's
clock or whether it was simply put after everything else, which makes no
claim about position at all. On the wedding, 28 of 32 clips were already
correct to a frame. That is the difference between "the sync is broken" and
"check these few joins".

The comparison report was grading the wrong moment

Matching runs at a lowered threshold so a second pass has candidates, and the
solver then takes only the confident subset. The report was recording that
first, provisional verdict. One report claimed 49 matches accepted and 33 of
them wrong, when only 32 ever reached the solver and 5 were wrong — it was
blaming the matcher for matches it had already thrown away.

If you have sent a comparison, please send another from this version; it will
tell us something the first one could not.

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

388 tests pass.

ActionCheese Sync 0.4.2

Choose a tag to compare

@dev-actioncheese dev-actioncheese released this 26 Oct 17:21

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.

Saving a comparison report did nothing

In 0.4.1, Help › Compare With a Correct Timeline measured the sync and
printed the result, then asked where to save the report — and wrote no file.
No error, no warning, nothing. You picked a filename and got silence.

Two faults, one on top of the other. The report is JSON, and one value in it
came out of the matcher as a numpy boolean, which the JSON writer refuses.
That raised before the file was created. And because it happened on the
window's own thread rather than the worker, the traceback went to a stderr a
bundled .app discards — so the operator saw a dialog close and nothing follow.

Both are fixed. Reports save. And an unexpected error anywhere in the window
now shows itself instead of disappearing, which is the reason the first fault
survived a release at all.

The what's-new window waits for a real release

It appeared after every update, including hotfixes like 0.4.1 — a window you
learn to dismiss unread. It now opens for a new major or minor version only.

Nothing is lost by waiting: the patches in between stay pending and are listed
together next time, so you see every fix since the last one you actually read,
not just the newest. Help › What's New has the full history whenever you
want it.

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

367 tests pass, including the save path end to end — it had none before.

ActionCheese Sync 0.4.1

Choose a tag to compare

@dev-actioncheese dev-actioncheese released this 26 Oct 16:21

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.

Fixes a crash in 0.4.0

0.4.0 stopped with "'SyncReport' object has no attribute 'as_dict'" at the end
of every sync. Please update.

The sync itself was fine and your timeline had already been written to disk
before the error — a run that hit it lost the report, not the work. If you kept
the output file it is good. Otherwise run it again on 0.4.1.

The mistake was mine: a mistyped method name on the one code path the test
suite never covered. 0.4.1 adds tests that run a real sync through the window's
own worker, so this particular kind of slip cannot ship silently again.

Everything new in 0.4.0 — dragging folders onto the input list, and
Help › Compare With a Correct Timeline — is unchanged and now actually
reachable.

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

348 tests pass.

ActionCheese Sync 0.4.0

Choose a tag to compare

@dev-actioncheese dev-actioncheese released this 26 Oct 15:50

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.

Drag your footage in

Drop camera folders and timelines straight onto the input list, instead of
going through the dialog for each one.

Tell us exactly how a sync went wrong, without sending any footage

If a sync came out wrong, Help › Compare With a Correct Timeline measures
it against one you trust — PluralEyes, Resolve, Premiere's own synchronise, or
synced by hand — and writes a small report you can email to
dev@actioncheese.com.

It holds no video, no audio, no file paths and no names: file and folder names
become short codes, because a wedding folder names the client. It is plain
text, so you can read it before sending, and nothing is ever sent on its own.

What it tells us is the part we cannot otherwise learn. Not only that a clip
landed in the wrong place, but for every pair of clips the matcher scored,
whether its answer was right. A match rejected that was correct means the
thresholds are too strict; one accepted that was wrong means they are too
loose. That is how this improves on real footage instead of our own test
files.

Also

  • A window listing what changed, shown once after an update. The full history
    is under Help › What's New whenever you want it.
  • Corrected a sentence in Help that claimed there is no ActionCheese server.
    There is one, for the website; the app simply never contacts it.

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

345 tests pass.

ActionCheese Sync 0.3.0

Choose a tag to compare

@dev-actioncheese dev-actioncheese released this 25 Oct 21:31

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.

You will be told when there is an update

A bar appears across the top when a newer version exists, with a button that
opens its release page. Nothing installs itself.

That check is the only thing in this app that touches a network, so it is
worth being plain about:

  • It asks GitHub, where these releases live. The app never contacts a
    server of ours.
  • It sends nothing with the request: no identifier, no version, no count. The
    answer is the same for everyone, so there is nothing about you to report.
  • Once a day at most, in the background. A failed check is silent and never
    delays a sync.
  • Help › Check for Updates at Launch turns it off, and then it never asks
    at all. Dismissing the bar silences that version for good; a later one is
    still announced.

The privacy policy at actioncheese.com/privacy.html describes this too.

Also in this release

  • Everything from 0.2.0: picking several camera folders at once, the folder
    dialog opening where you left off, and Merge for one camera that filled
    several cards.

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

314 tests pass.

ActionCheese Sync 0.2.0

Choose a tag to compare

@dev-actioncheese dev-actioncheese released this 24 Oct 08:45

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.

Adding footage is quicker

  • Pick several camera folders in one go, instead of one trip through the
    dialog per camera.
  • The folder dialog opens where the last one left off — on the shoot, so the
    next camera is a click away rather than a walk back down the tree.
  • Merge combines folders for one camera that filled several cards. This
    matters beyond tidiness: clips from one device are never matched against
    each other, on the principle that a camera cannot record two things at
    once, and that has to hold across the card boundary too. Split undoes
    it. On the command line, --merge.

Fixed

  • The in-app Help said the app was unsigned. Downloads are signed and
    notarized; only a build you make yourself needs right-click → Open.
  • Timelines exported on Windows are now read and written correctly. Their
    media paths arrive in a different shape, and the old handling turned every
    clip into a missing file while writing an XML that relinked nothing. Not
    visible on macOS, but it is the groundwork for a Windows build.

Groundwork

  • The code is now cross-platform and its tests pass as such. Windows
    packaging is written but has never been run — see
    docs/PORTING-WINDOWS-LINUX.md.
  • docs/ROADMAP.md records what is planned, what each item needs before it
    can be verified, and what is deliberately not planned.

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

297 tests pass.

ActionCheese Sync 0.1.0

Choose a tag to compare

@dev-actioncheese dev-actioncheese released this 22 Oct 10:04

First public release of ActionCheese Sync, a free multicam audio sync tool for Mac.

Give it one folder per camera or recorder (straight off the cards), a Premiere Pro timeline exported as Final Cut Pro 7 XML, or an ActionCheese shoot folder, in any mix. It lines every clip up by its sound and writes a timeline you import into Premiere Pro or DaVinci Resolve.

  • Waveform matching across cameras and recorders, no timecode needed
  • Corrects recorder clock drift on long takes
  • Reads Sony card sidecar files for exact recording start times
  • Markers follow their clips; unmatched clips are kept on their own track, never dropped
  • Runs offline; GUI plus a command-line tool in the same app

Requirements: Mac with Apple silicon, macOS 11 or later. ffmpeg is bundled.

Signed with Developer ID and notarized by Apple: it opens like any other app.

SHA-256 8e055a3fe76bda91e7f1ea05f436ce8e02f182fac1c0acb3c848f7b1b154453c

Help and how it works: https://actioncheese.com/sync.html