Communitygithub.com

nikisge/claude-motion-kit

用於動態圖像影片、動畫或影片片段需要聲音(音樂選擇、音效、提示列表、閃避、響度控制)或將聲音加入本地音效庫時使用。觸發詞:Sound, Ton, Musik, SFX, Geräusch, Whoosh, Cue-Liste, Mischung, LUFS。

claude-motion-kit 是什麼?

這是一個專門為動態圖像設計師和動畫師打造的 AI 代理技能,其核心功能是扮演專業的聲音設計師角色。使用者只需提供影片和一份「提示列表」,技能便會根據提示自動搜尋、放置、混合音效與音樂,最終輸出符合廣播級響度標準(-14 LUFS / ≤ -1 dBTP)的混音檔案。 該技能支援多種常見的動態圖像場景,例如品牌宣傳片、解說動畫、YouTube 插入畫面、社群媒體短片以及單鏡頭展示影片。對於每種場景,它都預先定義了不同的聲音角色(例如音樂主導、語音優先、或完全無音樂),並且嚴格遵循一套由人類聲音設計師制定的專業規則,例如禁止為每個轉場自動添加音效、禁止合成廉價的配樂,以及將寂靜視為重要的設計工具。 在工作流程上,該技能會先引導使用者或代理建立概念(定義音樂角色與聲音家族),然後從本地音效庫中搜尋符合情緒、BPM 和能量曲線的音樂,並撰寫包含時間碼、音效類型和理由的提示列表。根據提示列表,腳本會自動進行聲源放置、音量閃避和最終混音,並在過程中生成驗證報告與波形圖供人類審核。最後,人類只需聆聽分離的混音檔與提示列表,在 5 個關鍵時間點用耳機確認即可批准。 此技能支援的命令行工具包括 `sound_search.py`(搜尋音效)、`sound_place.py`(放置與混音)、`sound_verify.py`(驗證結果),以及 `beats.py`(分析音樂節拍網格)。所有音效來源需為 CC0 或 Pixabay 授權,且技能明確規定如何處理生成式 AI 音效(僅用於填補特定類型的單一事件)。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/nikisge/claude-motion-kit/tree/HEAD/motion-kit/skills/motion-sound

在你喜歡的 AI 中提問

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

說明文件

Motion Sound:聲音設計師

你是聲音設計師。由你決定什麼東西發出聲音、多大聲、哪裡需要寂靜。腳本會根據你的提示列表搜尋、測量、放置與混合;它們不做任何決定。腳本位於此技能的 scripts/ 目錄下,音效庫位於工作目錄的 sound/ 中(或位於 $MOTION_SOUND_ROOT 環境變數指定的路徑)。

初始設定(一次性)

  1. 從 library/LICENSES.md 所列的來源下載音效(全部為 CC0 或 Pixabay 授權,無需帳號),分別放入 sound/sfx/<包名>/ 與 sound/music/。將 library/sources.json 複製為 sound/sources.json。
  2. 建立索引:執行 uv run scripts/sound_index.py(測量長度、響度、起音、BPM、能量曲線)。

即使沒有現成的音效庫也能運作:此時只需為每個影片搜尋 3-6 個合適的 CC0 檔案,記錄其授權資訊,並直接放入提示列表中。

不同任務所需聲音角色

任務類型聲音角色
品牌宣傳片 / 作品集音樂主導(節拍網格參考 motion-inspo/scripts/beats.py),主要事件對齊 Downbeat,Foley 點綴使用,Logo 出現前保留寂靜
解說動畫音樂輕柔襯底,Foley 作用在物體上,核心台詞需要安靜空間
YouTube 插入畫面人聲是主角:通常無音樂,1-3 個輕柔的音效點綴,人聲會閃避所有其他聲音
社群媒體直式短片第一秒就要有 Hook 音效,聲音更密集,音樂更大聲(需考慮觀眾靜音播放的情況:畫面本身必須能獨立撐住)
展示 / 一鏡到底聲音本身就是表演的一部分:分層鋪墊,揭露瞬間加入 Riser,保留一個真正的寂靜時刻
小型任務1 段音樂片段或 2-4 個提示,無需概念文件

執行流程

  1. 概念(在 Brief 中用三句話說明): 音樂的角色(主導 / 襯底 / 無)、3-4 個聲音家族(例如紙張、柔和的 UI 點擊、一個低沉的重擊)、寂靜出現在何處。起點:所選風格卡中的「聲音」部分(位於 motion-director/references/styles/)。
  2. 選擇音樂: 執行 python3 scripts/sound_search.py --music --mood ruhig --bpm 90-110。你聽不到聲音:根據情緒、BPM 和 energy_curve 來決定,並設定片段起始點(src_in),使得能量的跳躍剛好落在揭露時刻。節拍網格分析:uv run motion-inspo/scripts/beats.py track.mp3 --fps 30 --out <專案>/beats.json --plot <專案>/check/beats.png。一首沒有清晰 Kick 的曲子很少適合當作驅動性的展示音樂。
  3. 撰寫提示列表(專案目錄下的 cues.json),根據分鏡腳本 + 已渲染的影像:每個提示都必須有一個 note 欄位來說明其視覺理由。格式參考:references/cues.md。關於分層、時機、音樂剪輯等工藝:references/craft.md。
  4. 搜尋聲音: 執行 python3 scripts/sound_search.py 紙張 --max-dur 0.6 --attack fast(關鍵詞支援德語與英語,--cat 按類別篩選,--dark/--bright 調整明暗,--not 排除)。起音時間與波峰位置決定了 align 的放置方式。
  5. 放置 + 混合: 執行 uv run scripts/sound_place.py cues.json --video film.mp4 --out mix.wav --mux film_ton.mp4。結果:混音達到 -14 LUFS / ≤ -1 dBTP,同時產生 mix.report.json 與 mix.png(顯示波形、提示標記、閃避曲線)。
  6. 檢查 根據 references/mix-check.md 的標準進行,匯出後針對 MP4 檔案檢查:執行 python3 scripts/sound_verify.py film.mp4 cues.json --out <專案>/check/sound。
  7. 批准: 人類會收到獨立的混音檔(mix.wav)、提示列表,以及 5 個需用耳機聆聽檢驗的時間戳記(位於 HOEREN.md)。代理只負責測量,它聽不見。

嚴格規則

  • 不允許為每個轉場自動添加 Whoosh。 每個聲音都必須有可見的理由;有疑問時,寧可移除。
  • 絕不透過程式碼合成配樂。 聽起來很廉價。聲音必須來自音效庫。
  • 絕不連續使用兩次相同的檔案;重複使用時需啟用 vary: true(±2 dB,變速範圍 0.96–1.04)。
  • 寂靜是工具:在重大揭露之前保留 3-8 幀的近乎寂靜。
  • 每個影片限制 3-4 個聲音家族,不要更多。
  • 人聲優先:音樂音量需比人聲低 16-22 dB。
  • 只使用經過授權驗證的檔案。新增來源時:在原始網站上驗證授權,記錄到 sound/sources.json,然後重建索引。

AI 生成的音效(填補空缺)

文字轉音訊模型擅長生成具體、響亮的單一事件(撕裂聲、投擲聲、風聲、呼吸聲)。提示風格應為「LOUD close-up recording of …, clearly audible, full volume, no music」。對於細微、有音調、持續或節奏性的需求(玻璃輕響、口哨、時鐘滴答、設備嗡嗡聲),模型通常只會產生雜訊:這種情況最好使用音效庫。每個結果在使用前都必須透過頻譜圖進行檢查。

Individual skills in this repo

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

nikisge/claude-motion-kit

Use when a motion graphics piece needs real 3D (product shot, metal, glass, depth of field, macro, object that transforms or assembles, camera shot list) in HyperFrames via Three.js, or when 3D models should come from Blender (Blender MCP, headless Blender, glTF/GLB export). Trigger words: 3D, Produktfilm, Metall, Glas, Tiefenunschärfe, Bokeh, Three.js, Blender, GLB.

nikisge/claude-motion-kit

Use when making or revising any motion graphics piece (launch film, explainer animation, YouTube insert, whiteboard graphic, social/vertical clip, showreel, one-shot showcase) and before writing scene code; also when a motion piece looks like slides, a website or generic AI output, or feels static or slow. Trigger words: Motion Graphics, Animation, Launchvideo, Erklärvideo, Einblendung, Showcase, Stil, \"wie ein Motion Designer\".

nikisge/claude-motion-kit

Use when building, checking or rendering a motion graphics film, style frame or animatic in HyperFrames (HTML/GSAP/SVG/Three.js compositions), when setting up a HyperFrames project, or when a HyperFrames render shows banding, wrong colours, black backgrounds, missing frames or missing motion blur.

nikisge/claude-motion-kit

Use when a motion graphics piece needs references or inspiration (launch videos, styles, camera moves), when a reference clip should be downloaded, studied or measured, or when a render is to be compared against a reference or checked for slide/slop patterns. Trigger words: Inspo, Referenz, whatships, Launchvideo-Beispiele, Stil finden, ref_metrics, motion_check, Kontaktbogen.

相關技能