Communitygithub.com

z1fex/12-音效設計與混音

為3D卡通動畫電影設計音效:原創音樂背景、每個可見動作的輕柔擬音、故事節拍的強調音效、根據人聲測量的音量平衡、在重大打擊前的停頓,並使用引擎的24種合成效果進行混音,最終輸出為-14 LUFS。請在畫面鎖定後使用。

12-音效設計與混音 是什麼?

這個技能專為已鎖定畫面的3D卡通動畫電影提供完整的音效設計與混音解決方案。它包含一個原創音樂背景(C大調,100 BPM,由馬林巴、撥弦貝斯、合成墊、大鼓和沙鈴組成),以及在每個可見動作上放置的輕柔擬音。技能透過測量人聲參考電平(-16 LUFS)來確保所有音效的音量平衡:音樂背景位於人聲下方18 LU,擬音約在人聲下方15 dB,強調音效約9 dB,最終母帶輸出為-14 LUFS。支援的主要平台包括Claude Code、Cursor和Codex,開發者可透過`recipe/tools/sound.py`中的24種合成效果(如whoosh、tick、slam、ding等)添加音效,並使用`film.mjs`中的線索系統進行精確時間控制。所有音效均為合成生成,無需取樣,並提供完整的輸出檔案,包括分軌(人聲、音樂、音效)和最終混音MP4。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/z1fex/3D-Cartoon-Style-Animation-Claude-Skill/tree/HEAD/skills/12-sound-design-and-mix

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

12 · 音效設計與混音

業主指示(第一輪):「有動作的地方就加一點音效,每一處都加。」音效設計遵循 earshot 記錄的動作設計實務(github.com/Leonxlnx/earshot,MIT;docs/motion-sfx-techniques.md,docs/SFX.md);我們在 recipe/tools/sound.py 中的程式碼為自有,不使用任何樣本。

分層

分層電平備註
人聲−16 LUFS(語音參考 ≈ −19 dBFS,400 ms RMS)佔據 93–98% 的播放時間
音樂背景低於人聲 18 LU,無閃避(ducking)原創,C大調(C–Am–F–G,100 BPM):馬林巴、撥弦貝斯、合成墊、大鼓、沙鈴。在再現副歌時降至僅合成墊(musicDrop: [start, end])
擬音約低於人聲 15 dB(滴答約 21 dB,鳥鳴約 22 dB)每個可見動作都有一個聲音
強調音效約低於人聲 9 dB僅限故事節拍,最多每分鐘約 20 個,並在最大打擊前 0.35 秒加入 7 dB 的音樂衰減(stop: true)
母帶−14 LUFS 集成,真實峰值 −1.5 dBTP兩次通過線性 loudnorm

效果(共 24 種,位於 sound.py)

類型分級使用於設計
whoosh(大動作使用 long: true)擬音進入新場景、大鏡頭移動粉紅噪聲通過三個移動頻帶(1 : 1.6 : 2.5)跟隨速度;聲像掃掠;峰值落在提示點
swish擬音手臂、書本、手勢、投擲細亮輕拂,0.2 秒
pop擬音標題出現、物體上的臉部交換、小物件抵達音調上升至關鍵音的短暫鳴響,滴答,尾音
tick擬音計數器的每一步細微明亮敲擊,帶有變化的音高(輪播)
tap擬音小物體著陸、計數器穩定阻尼木塊聲
flip擬音日曆頁面紙張輕拂與穩定聲
slap擬音通知或紙張拍打寬頻拍擊與顫動
creak(dur)擬音門與鉸鏈透過木頭共振的黏滑脈衝
click擬音開關、指示燈開啟按壓與鎖定,間隔 35 毫秒
light擬音指示燈亮起柔和嗡鳴與關鍵音的小鈴聲
chirp擬音戶外生物(節制使用)兩個小鳥鳴叫
rattle擬音樹葉、顫抖以搖晃速率變化的濾波噪聲爆發
slide擬音滑動或側移輕微吱嘎滑行
stretch(dur)擬音橡膠、繩索繃緊、表面彎曲上升的粗糙吱嘎聲
whir(dur)擬音磁帶用盡、機械轉動棘輪聲疊加顫動
chalk(dur)擬音在黑板書寫或劃掉被筆劃切割的粗糙頻帶
roll(dur)擬音滾動的物體滾動速率的低沈轟鳴加上表面滴答聲
thunk強調音效軟物體著陸(草地上的蘋果)沈悶落體加上低通瞬態
thud強調音效重物穩定低頻從 90 降至 42 Hz,帶有身軀與瞬態
slam強調音效關門木質身軀、破裂、鎖定加上石拱房間的尾音
snip強調音效剪裁兩個刀片夾擊加上金屬噌聲
boing強調音效彈簧、彈跳床顫動下降音調
twang強調音效拉緊的弦撥彈和聲泛音帶有音高顫動
ding強調音效數字落下、回報C6 鐘聲帶有非和聲泛音

要添加效果:編寫 fx_<name>(rng, …) 返回單位峰值的單聲道或立體聲陣列(一起達到峰值的分層,經過分頻避免互相干擾;對任何移動物件使用移動濾波器;音調部分使用 C 大調;無前置靜音;結尾有短淡出),將其加入 FX、REL 以及 ACCENT 或擬音集合中,如果需要 dur 參數則加入 SUSTAINED。

線索(位於 film.mjs)

{ t: W(17) - LEAD, type: 'slam', gain: 1, stop: true }            // 強調音效,前面有音樂衰減
{ t: W(53) - 0.05, type: 'whir', gain: 0.8, dur: 1.4 }              // 持續擬音
...changes(a, b, value, 0.06).map(t => ({ t, type: 'tick', gain: 0.7 }))   // 計數器每一步的滴答
  • t 是聲音攻擊點落下的時間(whoosh:峰值落下的時間);混音器會提前 10 毫秒觸發,絕不晚於畫面。
  • gain 在該類型的電平內調整(0.5 ≈ −6 dB)。每個線索會獲得 ±1.2 dB 的隨機變化及其獨立的噪聲種子,因此重複時聽起來絕不相同。
  • 根據分鏡表的聲音欄逐鏡頭編寫線索。每個可見動作都有一個聲音;每個強調音效都位於故事節拍上。

電平是測量出來的,不是猜的

sound.py 將人聲調平至 −16 LUFS,測量語音參考(說話時的中位數 400 ms RMS),並將每個效果的最響亮 400 ms 設定為距離該參考 REL[type] dB。在第一輪 v3 中,這使強調音效的中位數為 −9 dB,擬音為 −15 dB(相對於人聲)。使用以下指令檢查任何混音: python -I recipe/tools/sfx-levels.py <outDir> <outDir>/cue-sheet.txt

輸出

stem-voice.wav、stem-music.wav、stem-sfx.wav、mix.wav(已母帶處理)、cue-sheet.txt(每個放置的效果及其分級和電平),以及最終的 MP4(H.264 從靜音渲染複製,AAC 192 kb/s)。

授權

此處所有內容均為合成生成。如果業主提供音樂曲目,則必須持有其授權;將其設定為 −34 LUFS 的背景音樂,無閃避,並保留效果。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相關技能