fablecut_beats
Detect a music clip's tempo, beat grid, and drop, then add beat markers or snap and retime video cuts to the beat in the timeline.
Instructions
The music's beat on the timeline, and cuts that land on it. Listens to a music clip (an audio clip, or a video's sound) and finds its tempo (BPM), a steady beat grid phased to the hits, and the drop — all in timeline seconds, through the clip's in point and speed. Then, in one revision: markers:true puts a cyan marker on every beat; snap:true rolls each cut on the video tracks (the targeted ones, or snap:{tracks}) to the nearest beat within half a beat (snap:{maxShift} seconds) — nothing else moves, linked stems follow; retime:{track?, every?, from?} lays the clips on a track (default the lowest video track with clips) back to back on the beat, every beats each (1, 2, 4, 8 or 16; default 2), from the first beat at or after from (default the music's start) — a clip whose footage runs out gets fewer beats, and the order is kept. Locked clips are left alone (snap) or refuse (retime) unless force:true. A version is saved before snap or retime (if that fails the edit still goes ahead and the reply warns). Without markers / snap / retime it only reports. The same as the Inspector's Beats section. Needs ffmpeg on PATH.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| snap | No | true, or {tracks?:[…], maxShift?: seconds}: roll each cut on those video tracks to the nearest beat | |
| every | No | Beats per shot for retime (1, 2, 4, 8 or 16; default 2) | |
| force | No | Also move locked clips (only when the user asked) | |
| clipId | Yes | The music clip to listen to | |
| retime | No | true, or {track?: 'V1', every?: 1|2|4|8|16, from?: seconds}: re-cut that track's clips to the beat, `every` beats each | |
| markers | No | Put a cyan marker on every beat (other markers stay) |