Drama Audio Soundstage (聲音工程與智慧配樂工序)
工序定位:短劇聲音設計與商業配樂工序。 拒絕通用廢話:不解釋什麼是音軌,只沉澱音訊閘控清洗參數、語種漂移攔截閾值與側鏈避讓混音曲線。
1. 運行契約與輸入輸出
- 輸入:
- 第 3 工序輸出的帶原生音訊的影片分鏡:
segments/{seg_id}.mp4; - 獨立高品質電影配樂 BGM:
assets/bgm/*.wav。
- 第 3 工序輸出的帶原生音訊的影片分鏡:
- 輸出:
- 濾除床音後的純淨分鏡:
cleaned_segments/{seg_id}.mp4; - 掛載 90s 懸疑商戰配樂與人聲側鏈智慧避讓的成片:
[集名]_final_ducked.mp4; - ASR 語種與台詞準確性質檢單。
- 濾除床音後的純淨分鏡:
2. 硬核 SOP:譜減法音訊閘控清洗 (Audio Gate)
現象:H3 生成的音訊往往帶有持續的「嗡嗡」低頻電流聲、假風噪或刺耳環境床音,破壞視聽沉浸感。 目標:徹底濾除持續床音,100% 保全人物對白與短促動作擬音(拔刀聲、拍桌聲、腳步聲)。
2.1 閘控核心參數與物理意義
呼叫 scripts/audio_gate.py 時執行黃金參數組:
--bed-q 15:時域滑動窗分位數(設為第 15 百分位),精確識別持續底噪;--alpha-bed 6.0:持續床音扣除強度;--alpha-fx 1.0:瞬態擬音/對白保護因子,越小對白越完整;--fx-snr 4.0:信噪比判定閾值;--quiet-gain 0.03:純靜音幀衰減係數。
命令:
python scripts/audio_gate.py --in segments/seg01.mp4 --out cleaned_segments/seg01.mp4
3. 硬核 SOP:ASR 普通話語種漂移自動化攔截
現象:角色發音漂移為偽英語、含糊亂碼或非中文雜音,嚴重影響交付。
3.1 攔截與判據
落盤後透過輕量 Whisper 執行極速語種校驗:
- 提取音軌前 5 秒進行 Language ID 判定;
- 通過判據:
language == "zh"且置信度prob >= 0.85; - 攔截處置:若判定為
en或其他語種,自動拋出LanguageDriftError並將分鏡標記為失敗,觸發換 seed 重跑。
4. 硬核 SOP:影視級側鏈動態避讓混音 (Sidechain Ducking)
禁令(反例):嚴禁無腦將 BGM 鋪在影片底下固定音量!對白會被背景音樂淹沒,毫無商業片層次感。
4.1 FFmpeg 原生 sidechaincompress 黃金曲線
使用人物對白作為側鏈控制訊號,即時動態壓制 BGM:
- BGM 基礎底音:
bgm_volume = 0.35; - 閾值 (Threshold):
ducking_threshold = 0.06(只要人聲開口,立即觸發下潛); - 下潛深度 (Ratio):
ducking_ratio = 5.0(台詞說話時,BGM 瞬時下潛約 -14dB,給人聲留出完全清晰的頻段); - 起音時間 (Attack):
ducking_attack_ms = 80ms(人聲首字開口瞬間平滑下潛,無生硬爆音); - 釋放時間 (Release):
ducking_release_ms = 400ms(台詞閉嘴後,BGM 在 0.4 秒內絲滑回升,烘托緊張情緒)。
命令:
python scripts/cinematic_audio_mixer.py --input concat_raw.mp4 --output final_ducked.mp4 --bgm assets/bgm/suspense.wav