Browse documentation

Sync animations to a voiceover

Mark up a narration track's waveform and snap animation events to exactly the right word.

Mark up where each word falls in a recorded narration track, then snap animation events to exactly that moment instead of eyeballing seconds against a plain color bar.

Upload the narration track

  1. Sidebar → InsertMediaMusic & Audio, and upload the recording (mp3/wav/ogg). It drops onto the timeline's ♪ Music section at the playhead.
  2. The clip now draws its actual waveform, decoded client-side and cached — not a plain gradient bar — so you can see where the pauses and emphasis actually are.

Drop a marker on a word

Double-click the waveform at the point you want to mark — right where a key word starts, say. A small flag appears, independent of the timeline's own chapter markers (the ones on the main ruler). Drag it to nudge its position, double-click it to rename it to something meaningful ("says 'now'", "pause before punchline"), or right-click to delete it.

A narration marker's position is stored relative to the source audio file, not the scene timeline — so it stays glued to the same word if you later drag the whole clip to a different start time, or trim its head/tail. You only need to place it once.

Snap an animation to it

Select any animation event and open its Timing section in the Inspector. A Snap to dropdown lists every narration marker across every audio track in the project, labeled by track name and marker name. Pick one, and the event's start time is set to exactly that marker's position in the scene — no more nudging a number back and forth against a waveform you can't quite read precisely.

This works for any event: a Write on a formula, a camera move, a FadeIn on a label — anything with a Start time field can snap to a voiceover marker.

Why this matters

Narration-first videos — the standard format for a math explainer — are built by recording the script first and then timing every visual beat to land on a specific spoken word ("...and now watch the area shrink"). Without a visible waveform and named markers, that's pure trial-and-error: play, listen, guess a number, replay, adjust. Markers turn "guess a number" into "click the marker for the word I actually meant."

See Keyframe any property for the general timing-event workflow this fits into, and Panels and features → Timeline for the full waveform/marker control reference.