beat-sync-editing
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseBeat-Sync Editing (Cuts & Rhythm)
Beat-Sync 剪辑(剪切点与节奏)
The timeline craft: how clips and beats assemble into a piece that feels right. Editing is temporal design — when a cut lands matters as much as what is on screen. This skill turns musical and narrative structure into concrete cut points, transitions, and retimes, expressible in an NLE or as frame numbers in code.
时间线创作:如何让片段与节拍组装成一部感觉正确的作品。剪辑是一种时间设计——一个剪切点落在何处,与画面上呈现的内容同样重要。此 skill 将音乐与叙事结构转化为具体的剪切点、转场和重新计时方案,既可在 NLE 中实现,也可表示为代码中的帧号。
When to use
何时使用
- Assembling a sequence or cutting footage to a music track.
- Pacing drags or feels choppy; transitions feel arbitrary.
- Building speed ramps, match cuts, or tension/release structure.
- Converting an edit plan into a frame-accurate timeline (Remotion, AE, NLE).
- 将多个片段组装成序列,或将素材剪到音乐轨道上。
- 节奏拖沓或显得断续生硬;转场显得随意。
- 构建速度坡度、Match cut,或营造紧张/释放结构。
- 将剪辑方案转换为帧精确的时间线(Remotion、AE、NLE)。
Decision tree
决策树
What's the editing problem?
├─ Cuts feel off the music
│ └─ get BPM + offset → frames_per_beat = (60/BPM)*fps
│ → cut on PHRASES (2/4/8 beats), biggest visual on the drop
├─ A cut feels jarring / visible
│ └─ cut on action (mid-motion), match direction + velocity
│ → still rough? motivate a transition (match / J / L), else hard cut
├─ Pacing drags or feels flat
│ └─ shape an arc: Establish → Develop → Climax → Resolve
│ → shorten avg shot length toward climax, hold after it
├─ A hit needs impact
│ └─ speed ramp INTO it (slow-mo), snap back; land slowest frame on the beat
└─ Need to hand it to code
└─ express every cut as a frame number, clip as from/duration,
transition as overlap, retime as eased time-remap (Remotion/AE)Cross-reference — apply the shared frameworks.
- Motion Personality () sets cut rhythm: the chosen energy maps straight to phrase length and transition family. Pick one and commit (see the table below).
motion-art-direction - Three Pillars + beat-sync (): settle emotional intent first (hype vs. calm) — it decides whether you cut every bar or hold for four.
animation-principlesdefines the BPM→beat relationship; this skill turns it into frame-accurate cut points and the transition/retime craft on top.animation-principles
What's the editing problem?
├─ Cuts feel off the music
│ └─ get BPM + offset → frames_per_beat = (60/BPM)*fps
│ → cut on PHRASES (2/4/8 beats), biggest visual on the drop
├─ A cut feels jarring / visible
│ └─ cut on action (mid-motion), match direction + velocity
│ → still rough? motivate a transition (match / J / L), else hard cut
├─ Pacing drags or feels flat
│ └─ shape an arc: Establish → Develop → Climax → Resolve
│ → shorten avg shot length toward climax, hold after it
├─ A hit needs impact
│ └─ speed ramp INTO it (slow-mo), snap back; land slowest frame on the beat
└─ Need to hand it to code
└─ express every cut as a frame number, clip as from/duration,
transition as overlap, retime as eased time-remap (Remotion/AE)交叉参考——应用共享框架。
- Motion Personality()决定剪切节奏:所选能量直接映射到乐句长度和转场类型。选定一种并坚持执行(见下表)。
motion-art-direction - Three Pillars + beat-sync():先确定情绪意图(热烈还是平静)——它决定你应每小节都切,还是保持四拍。
animation-principles定义 BPM→节拍的关系;此 skill 在此基础上将其转化为帧精确的剪切点,并处理转场与重新计时技巧。animation-principles
Motion Personality → cut rhythm
Motion Personality → 剪切节奏
| Personality | Phrase (cut every) | Transition family | Retime | Reads as |
|---|---|---|---|---|
| Playful | 4 beats, syncopated accents | match cuts, quick whips | light ramps, bouncy | fun, kinetic |
| Premium | 8–16 beats, long holds | hard cut + occasional dissolve | slow, smooth ramps | elegant, unhurried |
| Corporate | 8 beats, steady | hard cut, clean | minimal | clean, trustworthy |
| Energetic | 1–2 beats at climax | hard cut, whips, hard snaps | aggressive ramps on beats | bold, hype |
| Personality | 乐句(剪切间隔) | 转场类型 | 重新计时 | 呈现效果 |
|---|---|---|---|---|
| Playful | 4 拍,带切分重音 | Match cut、快速甩镜 | 轻微速度坡度、弹性过渡 | 有趣、动感 |
| Premium | 8–16 拍,长时间保持 | 硬切 + 偶尔叠化 | 缓慢、平滑的速度坡度 | 优雅、从容 |
| Corporate | 8 拍,稳定 | 硬切、干净利落 | 极简 | 简洁、可信 |
| Energetic | 高潮处 1–2 拍 | 硬切、甩镜、强力瞬切 | 强节拍上的激进速度坡度 | 大胆、热烈 |
Core workflow
核心工作流
1. Find the grid: BPM → frames
1. 找到网格:BPM → 帧
Cut on the music's rhythmic grid, not on arbitrary timecodes. Convert BPM to frames so cut points are frame-accurate.
frames_per_beat = (60 / BPM) * fpsAt 120 BPM, 30 fps: frames per beat (500ms/beat) — a cut every 15 frames is on-beat. Cut on phrases (every 2/4/8 beats), not every beat, or the edit feels frantic. Land the single biggest visual moment on the musical drop.
(60/120)*30 = 15The eighth-grid: subdivisions of the beat give finer accent points without going off-grid. At 120 BPM / 30 fps:
| Subdivision | ms | frames @30fps | Use |
|---|---|---|---|
| 1 beat (quarter) | 500 | 15 | main cut grid |
| ½ beat (eighth) | 250 | 7.5 | accent / quick flash cut |
| ¼ beat (sixteenth) | 125 | 3.75 | hits, stutter, transient FX |
| 1 bar (4 beats) | 2000 | 60 | phrase / section boundary |
Snap accents to the eighth-grid; keep structural cuts on the beat or bar.
js
// Generate on-beat frame numbers (JS / Remotion / AE-friendly)
const bpm = 120, fps = 30;
const framesPerBeat = (60 / bpm) * fps; // 15
const phrase = 4; // cut every 4 beats
const cuts = Array.from({length: 16}, (_, i) =>
Math.round(i * framesPerBeat * phrase)); // [0,60,120,180,...]不要在随意的时间码上剪切,而要沿音乐的节奏网格剪切。将 BPM 转换为帧数,使剪切点精确到帧。
frames_per_beat = (60 / BPM) * fps在 120 BPM、30 fps 下: 帧/拍(500ms/拍)——每 15 帧切一次就是卡在节拍上。应按乐句(每 2/4/8 拍)剪切,而不是每拍都切,否则剪辑会显得慌乱。将单个最具视觉冲击力的画面落在音乐 drop 上。
(60/120)*30 = 15八分网格:节拍的细分可提供更精细的重音点,同时不会偏离网格。在 120 BPM / 30 fps 下:
| 细分 | 毫秒 | 30fps 下的帧数 | 用途 |
|---|---|---|---|
| 1 拍(四分音符) | 500 | 15 | 主剪切网格 |
| ½ 拍(八分音符) | 250 | 7.5 | 重音/快速闪切 |
| ¼ 拍(十六分音符) | 125 | 3.75 | 冲击、卡顿、瞬时 FX |
| 1 小节(4 拍) | 2000 | 60 | 乐句/段落边界 |
将重音吸附到八分网格;结构性剪切则保留在拍点或小节线上。
js
// Generate on-beat frame numbers (JS / Remotion / AE-friendly)
const bpm = 120, fps = 30;
const framesPerBeat = (60 / bpm) * fps; // 15
const phrase = 4; // cut every 4 beats
const cuts = Array.from({length: 16}, (_, i) =>
Math.round(i * framesPerBeat * phrase)); // [0,60,120,180,...]2. Hide the seam: cut on action / motion
2. 隐藏接缝:在动作/运动中剪切
A cut is invisible when motion carries the eye across it. Cut during a movement (a turn, a hand reaching, a whip) so the brain tracks the action through the cut. Match the motion's direction and speed across the cut. For motion-graphics, cut on a transform peak — at the moment a shape is mid-travel, not at rest.
当运动将视线带过剪切点时,剪切就不可察觉。应在动作过程中剪切(转身、手伸出去、甩镜),让大脑在剪切前后追踪同一动作。匹配剪切前后的运动方向和速度。对于动态图形(motion graphics),应在变换达到峰值时剪切——也就是形状运动到一半时,而不是静止时。
3. Choose transitions with intent
3. 有意图地选择转场
Default to the hard cut. Reach for anything else only when motivated:
- Match cut — outgoing and incoming frames share a shape, position, or motion vector, so the cut reads as a transformation (a circle becomes the moon; a wipe of an arm reveals the next scene). The strongest transition in motion design.
- J-cut — audio of the next shot starts before its picture (sound leads). Pulls the viewer forward; great for dialogue and reveals.
- L-cut — audio of the current shot continues under the next picture (sound trails). Smooths scene changes.
- Whip / motion blur transition — fast pan blends two shots; needs matched blur direction.
- Luma/wipe/dissolve — signals time passing or a softer mood; overuse reads as amateur.
Cut-type quick table:
| Cut type | What aligns | Signals | Typical offset | Reach for it when |
|---|---|---|---|---|
| Hard cut | nothing — instant | neutral, default | 0 | 90% of cuts |
| Match cut | shared shape / position / motion vector | transformation | 0 (1–2f tolerance) | two shots rhyme visually |
| J-cut | audio of B leads its picture | pulls viewer forward | audio 4–12f early | dialogue, reveals |
| L-cut | audio of A trails under B | smooths the change | audio 12–24f late | scene changes, ambient |
| Whip / motion blur | matched blur direction across pan | energy, "swoosh" | ~6–10f blend | hype, scene jumps |
| Speed ramp | retime, not a cut | impact / emphasis | lands on beat | a hit needs to land |
默认使用 hard cut。只有在有明确动机时才使用其他方式:
- Match cut——出点与入点画面共享形状、位置或运动向量,因此剪切看起来像一次变形(圆形变成月亮;手臂扫过时显露下一场景)。这是 motion design 中最有效的转场。
- J-cut——下一镜头的音频在画面出现之前开始(声音先行)。将观众向前牵引;非常适合对白和揭示。
- L-cut——当前镜头的音频在下一画面之下继续(声音延尾)。平滑场景切换。
- Whip / motion blur transition——快速摇摄融合两个镜头;需要匹配模糊方向。
- Luma/wipe/dissolve——亮度过渡、划变或叠化,用于表现时间流逝或营造更柔和的情绪;过度使用会显得业余。
剪切类型速查表:
| 剪切类型 | 对齐要素 | 传达效果 | 典型偏移量 | 适用时机 |
|---|---|---|---|---|
| Hard cut | 无——瞬时切换 | 中性、默认 | 0 | 90% 的剪切 |
| Match cut | 共享形状/位置/运动向量 | 变形 | 0(容差 1–2f) | 两个镜头在视觉上形成呼应 |
| J-cut | B 镜头的声音先于画面 | 将观众向前牵引 | 音频提前 4–12f | 对白、揭示 |
| L-cut | A 镜头的声音延续到 B 镜头之下 | 平滑切换 | 音频延后 12–24f | 场景切换、环境声 |
| Whip / motion blur | 摇摄方向一致且模糊匹配 | 能量、“嗖”的动势 | 约 6–10f 混合 | 高能场景、场景跳切 |
| Speed ramp | 重新计时,而非剪切 | 冲击/强调 | 落在节拍上 | 需要让冲击点落地 |
4. Retime: speed ramps
4. 重新计时:速度坡度
Speed ramps (gradual time-warp) add impact: ramp into a hit with slow-motion, then snap back to speed. Keep motion blur consistent through the ramp or the slow section looks strobed.
Speed ramp on an impact (frames, 30fps):
0–20 100% speed (run-up)
20–28 ease down to 25% (anticipation, slow-mo on the hit)
28 IMPACT lands on the beat
28–40 ease back to 100% (release)In an NLE use time-remap keyframes with smooth interpolation and enable frame-blending/optical-flow for clean slow-mo. In Remotion/AE, drive a / curve with eased interpolation and keep a consistent shutter/motion-blur setting.
timeRemapvalueAtTime速度坡度(渐进式的时间扭曲)能增强冲击力:在冲击点前逐渐进入慢动作,然后在冲击时迅速恢复正常速度。速度坡度过程中应保持 motion blur 一致,否则慢动作部分会呈现频闪感。
Speed ramp on an impact (frames, 30fps):
0–20 100% speed (run-up)
20–28 ease down to 25% (anticipation, slow-mo on the hit)
28 IMPACT lands on the beat
28–40 ease back to 100% (release)在 NLE 中,使用带平滑插值的 time-remap 关键帧,并启用 frame-blending/optical-flow,以获得清晰顺滑的慢动作。在 Remotion/AE 中,用带缓动插值的 / 曲线进行控制,并保持一致的快门/motion-blur 设置。
timeRemapvalueAtTime5. Shape the arc: sequence pacing
5. 塑造弧线:序列节奏
A piece needs a shape, not one constant intensity:
Establish → Develop → Climax → Resolve
longer holds shortening cuts fastest + the drop release/breatheVary shot length deliberately: fast cuts build energy, longer holds let key moments land. Build toward the climax by shortening average shot length, then give a beat of rest after it. The classic mistake is uniform pacing — it reads as flat regardless of content.
Pacing arc — tension → release (energy is the derivative of cut frequency):
| Phase | Cut every | Avg shot length | Tension | Note |
|---|---|---|---|---|
| Establish | 8–16 beats | longest | low | set place/mood, let it breathe |
| Develop | 8 → 4 beats | shortening | rising | accelerate cuts to build |
| Climax | 1–2 beats | shortest | peak | the drop; biggest visual + speed ramp |
| Resolve | one long hold | longest | release | logo/CTA breathes after the peak |
一个作品需要具备形状,而不是始终保持同一强度:
Establish → Develop → Climax → Resolve
longer holds shortening cuts fastest + the drop release/breathe有意识地改变镜头长度:快速剪切积蓄能量,较长保持让关键时刻充分落地。通过缩短平均镜头长度来构建高潮,之后再留出一拍喘息时间。经典错误是节奏始终如一——无论内容如何,都会显得平淡。
节奏弧线——紧张 → 释放(能量是剪切频率的导数):
| 阶段 | 剪切间隔 | 平均镜头长度 | 紧张度 | 备注 |
|---|---|---|---|---|
| 建立 | 8–16 拍 | 最长 | 低 | 确立地点/氛围,让其有呼吸空间 |
| 发展 | 8 → 4 拍 | 逐渐缩短 | 上升 | 加速剪切以积蓄能量 |
| 高潮 | 1–2 拍 | 最短 | 峰值 | drop;最大视觉冲击 + 速度坡度 |
| 收束 | 一次长时间保持 | 最长 | 释放 | 高潮后让 logo/CTA 充分呼吸 |
Quick reference
速查表
| Goal | Move |
|---|---|
| On-beat cut | |
| Land the drop | biggest visual on the musical drop |
| Invisible cut | cut on action / matched motion |
| Transform feel | match cut (shared shape/motion) |
| Pull forward | J-cut (audio leads) |
| Smooth scene change | L-cut (audio trails) |
| Impact | speed ramp into the hit, snap out |
| Build energy | shorten average shot length |
| Let it breathe | hold after the climax |
| 目标 | 做法 |
|---|---|
| 卡节拍剪切 | |
| 落在 drop 上 | 将最具视觉冲击力的画面放在音乐 drop 上 |
| 无痕剪切 | 在动作中剪切/匹配运动 |
| 变形感 | Match cut(共享形状/运动) |
| 向前推进 | J-cut(声音先行) |
| 平滑场景切换 | L-cut(声音延尾) |
| 冲击力 | 在冲击点前做速度坡度,再迅速恢复 |
| 积蓄能量 | 缩短平均镜头长度 |
| 留出呼吸空间 | 高潮后保持画面 |
Worked examples
实例分析
GOOD — 30s energetic product spot, 128 BPM, 30 fps
良好案例——30 秒高能产品短片,128 BPM,30 fps
Brief: hype sneaker drop, Energetic personality, drop at beat 32.
- Grid: 14.06 f/beat. Drop = beat 32 ≈ frame 450 (rounded cumulatively to avoid drift).
- Arc: Establish 0–120 (two 2s holds). Develop 120–450 (cuts shortening 8→4→2 beats, rising energy — matches Energetic). Climax at 450 (the drop). Resolve 700–900 (one long CTA hold).
- Cuts: structural cuts on the bar; two accent flash-cuts snapped to the eighth-grid in Develop.
- Craft: f112 is a match cut (shared circular logo → wheel). The drop at 450 carries the biggest visual and a speed ramp 100%→25%→100% landing the slowest frame on the downbeat. CTA enters under an L-cut (audio trails ~18f).
- To code: each cut a frame number, each clip
, ramp = eased time-remap, beats verified<Sequence from/durationInFrames>against detected beat seconds.frame/fpsWhy it works: phrase-based grid, an arc, one big moment on the drop, motivated transitions, frame-accurate and portable.
Brief:高能球鞋发布,Energetic 人格,drop 位于第 32 拍。
- 网格:每拍 14.06 帧。Drop = 第 32 拍 ≈ 第 450 帧(采用累计舍入以避免漂移)。
- 弧线:建立 0–120(两个 2 秒保持镜头)。发展 120–450(剪切间隔从 8 拍逐步缩短到 4 拍再到 2 拍,能量持续上升——与 Energetic 匹配)。高潮位于 450(drop)。收束 700–900(一个长时间 CTA 保持镜头)。
- 剪切:结构性剪切落在小节线上;发展阶段有两次重音闪切吸附到八分网格。
- 技巧:第 112 帧是一个 Match cut(共享圆形 logo → 车轮)。第 450 帧的 drop 承载最大的视觉冲击,并使用 100%→25%→100% 的速度坡度,让最慢的一帧落在强拍上。CTA 通过 L-cut 进入(声音延尾约 18f)。
- 转为代码:每个剪切点使用帧号,每个片段使用
,速度坡度使用带缓动的 time-remap,并通过检测到的节拍秒数验证<Sequence from/durationInFrames>。frame/fps奏效原因:基于乐句的网格、完整的弧线、drop 上的单一重大时刻、有动机的转场、帧精确且可移植。
ANTI-PATTERN — "cut on every beat with a dissolve each time"
反模式——“每个节拍都切,并且每次都使用叠化”
- A hard cut on all 32 beats → relentless, no focal moment, viewer fatigues by beat 8.
- A 12-frame crossfade on every cut to "smooth it" → mushy, amateur, and now nothing is on the beat because the dissolve midpoint drifts off-grid.
- Uniform 15-frame shots start to finish → flat; no establish, no climax, the drop lands on nothing.
- BPM math done from frame 0 ignoring the track's offset → every cut sits a few frames early, feels "almost right" but wrong.
Fix: cut on 4/8-beat phrases, hard cut by default, build an arc, anchor the grid to beat-1 offset, and put the one biggest visual on the drop.
- 对全部 32 拍都使用硬切 → 不停歇、没有焦点时刻,观众到第 8 拍就会疲劳。
- 每次剪切都加 12 帧 crossfade 来“平滑处理” → 画面发糊、显得业余,而且由于叠化中点偏离网格,现在没有任何剪切真正卡在节拍上。
- 从头到尾使用统一的 15 帧镜头 → 节奏平淡;没有建立、没有高潮,drop 也落不下来。
- BPM 计算从第 0 帧开始,忽略音轨偏移 → 每个剪切点都会提前几帧,感觉“几乎正确”但其实不对。
修正:按 4/8 拍乐句剪切,默认使用硬切,构建弧线,将网格锚定到第 1 拍偏移,并将唯一最具视觉冲击力的画面放在 drop 上。
Common mistakes
常见错误
| Symptom | Why | Fix |
|---|---|---|
| Edit feels frantic / busy | cutting on every beat | cut on 2/4/8-beat phrases; accent on the eighth-grid sparingly |
| Cuts feel "almost on beat" | grid started at 0:00, ignored track offset | capture beat-1 offset; anchor cumulative frame math to it |
| Drift over a long edit | rounding frames_per_beat per step | round each cumulative beat, not per-step |
| Cut feels jarring | placed at rest, between motions | cut on action / mid-motion; match direction + velocity |
| Slow-mo strobes | sub-100% speed without interpolated frames | enable optical-flow / frame-blending; consistent shutter |
| Whole piece feels flat | uniform pacing | shape Establish→Develop→Climax→Resolve; shorten toward the drop |
| Transitions look amateur | dissolves/wipes used as a crutch | default to hard cut; motivate match/J/L; fix timing first |
| Nothing lands | no single climax | put the biggest visual on the drop; hold after it |
| 症状 | 原因 | 修正 |
|---|---|---|
| 剪辑显得慌乱/繁忙 | 每拍都切 | 按 2/4/8 拍乐句剪切;仅在八分网格上少量使用重音 |
| 剪切感觉“几乎卡在节拍上” | 网格从 0:00 开始,忽略了音轨偏移 | 获取第 1 拍偏移;将累计帧计算锚定到该偏移 |
| 长剪辑中出现漂移 | 每一步都对 frames_per_beat 取整 | 对每个累计节拍取整,而不是逐步取整 |
| 剪切显得突兀 | 放在静止状态或动作之间 | 在动作中/运动中剪切;匹配方向 + 速度 |
| 慢动作出现频闪 | 低于 100% 速度却未使用插帧 | 启用 optical-flow/frame-blending;保持一致的快门设置 |
| 整部作品显得平淡 | 节奏始终统一 | 构建 Establish→Develop→Climax→Resolve;向 drop 逐渐缩短 |
| 转场显得业余 | 靠叠化/划变掩饰剪切问题 | 默认使用硬切;为 match/J/L 提供动机;先修正时序 |
| 什么都没突出 | 没有单一高潮 | 将最具视觉冲击力的画面放在 drop 上;高潮后保持 |
Deliverable — an edit-timing plan
交付物——剪辑时序方案
A good plan is renderer-agnostic and hands off to an NLE or a code timeline (, ):
remotion-videoafter-effects- Track spec: BPM, fps, beat-1 offset, drop frame(s), frames_per_beat.
- Arc: the four phases with frame ranges and target average shot length per phase.
- Cut list: every cut as an absolute frame number (from the BPM math), the clip at that cut, and the cut type.
- Transitions: type (hard/match/J/L/whip), and for J/L the audio offset in frames.
- Retimes: each speed ramp as eased time-remap keyframes (from→to %, frames, optical-flow on).
- Beat markers: the on-beat/eighth-grid frame array for verification.
- Cross-refs: the Motion Personality that set the rhythm.
For Remotion/AE this plan IS the frame timing: cuts →/from(or layer in/out), ramps → easeddurationInFrames/time-remap, J/L → offsetinterpolate/ audio layer. See<Audio from>for the NLE↔code mapping table.references/editing-techniques.md
一个好的方案应与渲染器无关,并可移交给 NLE 或代码时间线(、):
remotion-videoafter-effects- 轨道规格:BPM、fps、第 1 拍偏移、drop 帧、frames_per_beat。
- 弧线:四个阶段各自的帧范围,以及每个阶段的目标平均镜头长度。
- 剪切清单:每个剪切点都使用绝对帧号表示(由 BPM 计算得出),并注明该剪切点对应的片段和剪切类型。
- 转场:类型(hard/match/J/L/whip),以及 J/L 的音频帧偏移。
- 重新计时:每个速度坡度表示为带缓动的 time-remap 关键帧(从→到 %、帧数、启用 optical-flow)。
- 节拍标记:用于验证的卡节拍/八分网格帧数组。
- 交叉引用:决定节奏的 Motion Personality。
对于 Remotion/AE,此方案就是帧时序:剪切 →/from(或图层入/出点),速度坡度 → 带缓动的durationInFrames/time-remap,J/L → 偏移后的interpolate/音频图层。另见<Audio from>中的 NLE↔代码映射表。references/editing-techniques.md
Before you finish — checklist
完成前检查清单
- BPM + fps + beat-1 offset captured; frames_per_beat computed and cumulatively rounded.
- Cuts on phrases (2/4/8 beats), not every beat; accents on the eighth-grid only.
- The single biggest visual lands on the drop.
- An arc exists (Establish→Develop→Climax→Resolve); avg shot length shortens toward the climax, then a hold.
- Hard cut is the default; every other transition is motivated; J/L audio offsets specified in frames.
- Speed ramps land the slowest frame on the beat; optical-flow/frame-blending enabled.
- Cut rhythm matches the chosen Motion Personality.
- Every cut, transition, and retime expressed as a frame number / from-duration so it ports to Remotion/AE/NLE.
- Audio sync verified: against detected beat seconds.
frame/fps
- 已获取 BPM + fps + 第 1 拍偏移;已计算 frames_per_beat 并进行累计取整。
- 剪切点位于乐句(2/4/8 拍)上,而不是每拍都切;仅在八分网格上设置重音。
- 唯一最具视觉冲击力的画面落在 drop 上。
- 存在一条弧线(Establish→Develop→Climax→Resolve);平均镜头长度向高潮逐渐缩短,随后再保持一段。
- 默认使用硬切;其他每一种转场都有明确动机;J/L 的音频偏移以帧为单位指定。
- 速度坡度让最慢的一帧落在节拍上;启用 optical-flow/frame-blending。
- 剪切节奏与选定的 Motion Personality 匹配。
- 每个剪切点、转场和重新计时都表示为帧号/from-duration,以便迁移到 Remotion/AE/NLE。
- 已验证音频同步:将 与检测到的节拍秒数进行比对。
frame/fps
Gotchas
注意事项
- Cutting on every beat is busy; cut on 2/4/8-beat phrases and accent sparingly.
- Speed ramps without consistent motion blur look strobed; enable optical-flow/frame-blending for slow-mo.
- Crossfades/dissolves are not a fix for a bad cut — fix the timing first.
- Audio sync drift: in code timelines verify against detected beat seconds; in NLEs lock audio to a frame-accurate guide track.
frame/fps - One pacing throughout = flat. Always shape an arc.
- 每拍都切会显得繁忙;按 2/4/8 拍乐句剪切,并少量设置重音。
- 速度坡度若不保持 motion blur 一致,看起来会出现频闪;慢动作要启用 optical-flow/frame-blending。
- Crossfade/叠化无法修复糟糕的剪切——先修正时序。
- 音频同步漂移:在代码时间线中将 与检测到的节拍秒数进行比对;在 NLE 中将音频锁定到帧精确的节拍参考轨。
frame/fps - 全片保持同一种节奏会显得平淡。始终要塑造一条弧线。
Reference files
参考文件
- — BPM→frame math with phrase tables, cut-on-action breakdowns, building a match cut step by step, J-cut/L-cut audio-lead/trail diagrams with frame offsets, full speed-ramp recipe with motion-blur/optical-flow settings, sequence-arc templates with shot-length curves, and mapping an edit plan between an NLE timeline and a code timeline (Remotion
references/editing-techniques.md/ AE time-remap).<Sequence>
- ——包含 BPM→帧计算与乐句表、动作中剪切的详细拆解、逐步构建 Match cut 的方法、带帧偏移的 J-cut/L-cut 声音先行/延尾示意图、包含 motion-blur/optical-flow 设置的完整速度坡度配方、带镜头长度曲线的序列弧线模板,以及在 NLE 时间线和代码时间线(Remotion
references/editing-techniques.md/ AE time-remap)之间映射剪辑方案的对照表。<Sequence>