清理音频
使用 rough-cut 技能的 Python 环境:PY=~/simcraft/skills/rough-cut/.venv/bin/python(如果该环境不存在,请运行 sh ~/simcraft/skills/rough-cut/setup.sh 一次)。它与 rough-cut 共享辅助工具,并使用 Whisper 进行清晰度检查。
步骤
-
先做试听测试。 选取最密集的说话时刻,生成一段10秒的清理前后对比。两者响度相同,因此比较的是质量而非音量:
$PY scripts/clean_audio.py <video> --sample为用户打开两个 wav 文件(
open <before> <after>)并提供报告。 -
应用。 有两种运行方式:
- 在 rough-cut 工作空间中,在渲染之前运行。它会将每个原始片段清理到
audio/<clip>.clean.wav,而 rough-cut 的render.py会自动使用这些文件:
然后照常渲染和验证。报告保存到$PY scripts/clean_audio.py <workspace>audio/cleanup.md。 - 对单个视频文件运行。它会在原始文件旁边写入
<name>_clean.<ext>,视频保持不变:$PY scripts/clean_audio.py <video>
- 在 rough-cut 工作空间中,在渲染之前运行。它会将每个原始片段清理到
-
报告 用通俗的语言说明:
- 清理前后的语音与背景噪声差距,
- 最终响度,
- 检测到的问题(嗡嗡声、削波),
- 清晰度检查最终确定的处理强度。
如果报告指出残留的噪音是人声或音乐,请告知用户这些滤波器无法去除它们,并建议使用 AI 语音隔离器。
选项
--strength strong|medium|light设置尝试的最大降噪强度。默认为 medium,清晰度检查会自动降级。--target -14设置响度,单位为 LUFS。-14 适用于 YouTube、Instagram 和 TikTok;播客请使用 -16。--no-eq跳过音色调整,如果用户喜欢自己原本的声音。
规则
- 在剪切之前清理原始片段,而不是之后。 噪声是从静音段中学习的,而 rough-cut 会移除静音段。
- 切勿修改原始文件。
- 切勿为了安静而牺牲清晰度。清晰度检查强制这一点:不能丢失词语,且置信度与原始相差不超过 0.015。
- 不要在词语之间将音频推至数字静音。故意保留一点房间环境音。
关于每个步骤的作用、如此设计的原因以及测试数据,请参阅 reference.md。