剪辑:空白、犹豫、重复
bin/monteur transcribe RUSH.mp4 [--language fr] [--model small] # 如果尚未完成
bin/monteur cut RUSH.mp4 --style <style>
算法作用 (monteur/cut.py)
- 逐词转录(faster-whisper,按词时间戳)。
- 删除的词语:
填充词:列表style.cut.fillers(嗯、啊、唔、um、uh、嘛、呃……)。重复:立即重复的 n-gram(1 到 5 个词)→ 删除第一次出现。重录:在后续 3 句中重新出现的句子(相似度 ≥retake_similarity)→ 删除失败的那次,保留最后一次。
- 保留的词成为片段(±
padding),如果间隔 <min_silence则合并,然后减去 ffmpeg 静音(silence_db)。 - 渲染
cut.mp4(12 毫秒音频交叉淡入淡出防爆音)+ 重新同步的transcript_cut.json。
你的控制
- 阅读
edl.json→stats和removed({w, t, why})。如果某个有用的词被删除了(例如作为专有名词的“嘛”、故意重复的“非常非常”),调整样式:从列表中移除该填充词,降低remove_retakes,或将retake_similarity提高到 0.85。 - 节奏:
min_silence0.25 = 非常紧凑(TikTok),0.45 = 动感,0.7 = 放松。padding0.05–0.15 秒。 - 无对白的素材(B-roll、音乐):仅根据音频静音进行剪辑。
- 重新剪辑后,重新运行
bin/monteur plan(计划的时间会变化)——或者如果只有微调且通过 QC 验证,则保留原计划。
设置在 styles/<style>.json → cut 部分(参见 styles/default.json)。