← Files 中文口播智能粗剪ARCHIVED FILE
skills/rough-cut/references/audio_mix.md
2.41 KB · Oct 4, 2026 · 12:29 UTC
# 口播 BGM 与音效
只在用户要求配乐或音效时读取本页。先根据剪后逐字稿和成片时间轴产出
`output/audio_plan.json`,再调用 `scripts/mix_bgm_sfx.py`。不要即兴写 ffmpeg 命令。
## 计划格式
```json
{
"voice_volume": 1.0,
"bgm": {
"file": "/绝对路径/bgm.mp3",
"volume": 0.05,
"start": 0,
"fade_in": 0.8,
"fade_out": 1.2
},
"sfx": [
{
"name": "开头标题",
"file": "/绝对路径/唰.mp3",
"at": 0.08,
"volume": 0.16
}
]
}
```
音量为线性倍率,不是百分贝:`0.05≈-26dB`、`0.1=-20dB`、`0.2≈-14dB`。
## 通用口播默认原则
- **先过语义适配门槛,再决定是否加 BGM**:判断议题情绪、表达力度、节奏和音乐风格是否
同向。严肃、争议、警示、沉重或信息密度高的话题,不得因为“成片应该有音乐”而套轻快
音乐;找不到明确匹配的音乐或拿不准时,默认不加 BGM。音效与 BGM 分开裁决,没有 BGM
仍可保留少量结构提示音。
- 人声保持 `1.0`,BGM 从 `0.04–0.06` 起步,以“隐约听得见”为目标。
- 开头淡入 `0.6–1.0s`,结尾淡出 `1.0–1.5s`。
- 30–60 秒口播一般只放 3–5 个音效:开头主题、关键结果、产品首次出现、CTA。
- 音效从 `0.12–0.22` 起步;有冲击力的 hit/whoosh 更低,可爱提示音可略高。
- 不给每条字幕配音效;不连续堆同类“叮”;不让音效峰值遮住品牌名和关键动词。
- `at` 使用最终成片时间,不是原素材时间。根据 `render_offsets.json` 与逐字稿换算。
- 每次输出新文件,禁止覆盖无音效版成片。
### BGM 适配检查
写 `bgm` 字段前必须能回答:
1. 视频主要情绪是什么(轻快、温暖、理性、紧张、警示、沉重)?
2. 音乐的速度、配器和情绪是否与该情绪同向?
3. 音乐是否会削弱观点的严肃性或让态度显得轻佻?
4. 音乐是否只是为了盖底噪?若是,应改做人声降噪,不能用 BGM 遮盖。
任一关键项不确定,就不写 `bgm` 字段。
## 执行
```bash
python scripts/mix_bgm_sfx.py \
output/preview_字幕包装.mp4 output/audio_plan.json --out output/
```
默认产出 `preview_字幕包装_音效版.mp4`。先用 `--dry-run` 验证所有素材、点位和参数,
再正式渲染。完成后用 ffprobe 核对时长、视频流和音频流。
SHA-256: c81f59ca347ffeaed5917767ed0141573a7fd6da702ea74544ab40425c2eeefa