清理音訊
使用 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 則適用於 Podcast。--no-eq跳過音色塑形,如果使用者喜歡自己的原始聲音。
規則
- 請在剪輯前清理原始片段,而非之後才清理。 噪音是從停頓處學習的,而 rough cut 會移除停頓。
- 絕對不要修改原始檔案。
- 絕不以清晰度換取安靜。清晰度檢查會強制執行此規則:不允許遺失詞彙,且信心度需維持在原始值的 0.015 以內。
- 不要在詞語之間將音訊推至數位靜音。刻意保留一點空間環境音。
每個步驟的作用、設計理念以及測試數據,請參閱 reference.md。