Communitygithub.com

JohnsonZhangCN/music-mv-skill

根據用戶提供的角色圖片、歌曲、LRC 歌詞、時間範圍與手繪 2D 音樂影片風格(包含『小鎮姑娘』),編排並生成可播放的 MP4 音樂影片。

music-mv-skill 是什麼?

此技能將用戶的素材(角色圖片、音訊、LRC 歌詞與指定時間範圍)編排成一齣具有表演、歌詞同步與轉場效果的 2D 手繪音樂影片(MV),最終輸出可播放的 MP4 檔案。它內建基於 p5.js 與 p5.brush 的 painted-animation 引擎、範例與 Windows 封裝,不依賴其他已安裝的技能或外部影片生成 API,所有渲染均在本地完成。技能支援自然語言或 key=value 參數,可處理中文請求,並能自動解析秒數、M:SS 或 H:MM:SS 格式的時間。對於「小鎮姑娘」風格,它會參考預設的水彩紙、墨線、限幀表演與歌詞意象,而非直接複製原始歌曲的劇情;其他風格則會對應到可實現的 2D 繪畫語言。工作流程依序為素材檢查、分鏡腳本創作、場景生成、預覽修正與最終 MP4 渲染,並能在使用者要求時僅生成分鏡或持續完成成片。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JohnsonZhangCN/music-mv-skill/tree/HEAD/skills/music-mv

在你喜歡的 AI 中提問

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

說明文件

Music MV

把用戶素材編排為有表演、歌詞同步和轉場的 2D 手繪 MV,交付可播放的 MP4。內建 painted-animation 的 p5.js + p5.brush 引擎、範例和 Windows 封裝;不依賴另一個已安裝技能,也不需要外部影片生成 API。

用戶本次參數:

$ARGUMENTS

解析請求

接受中文自然語言或 key=value。必填:角色圖片 image、歌曲 audio、歌詞 lyrics、開始 start、結束 end、風格 style。路徑含空格時支援引號。時間接受秒數、M:SS 或 H:MM:SS。缺失時一次列出缺項;已有資訊不重複問。

預設:1920×1080、24fps、行級歌詞、圖片中清楚區分的角色全部入鏡、輸出到目前專案的 outputs/music-mv 下的新目錄。用戶指定單主角、無字幕、其他幀率時按其要求。複雜人物圖先定義模型表並畫測試幀;圖片的身份與造型參考,不能只做貼圖平移或靜態幻燈片。

風格=小鎮姑娘時讀取 references/styles.md,並查看 assets/painted-animation/docs/xiaozhen-sheet.jpg。該名稱指示範例的水彩紙、墨線、限幀表演、歌詞意象與連貫轉場,不照搬原歌劇情。其他風格映射到可實現的2D 繪畫語言;寫實真人或 3D 需求先說明本引擎的邊界。

製作

  1. 檢查三個輸入檔案,查看角色圖。先輸出簡短方案:角色、故事主線、畫面風格、檔案位置;遵守專案已有的審批要求。用戶已授權完整生成時持續做到成片;只有「先看分鏡」才在分鏡後停下。
  2. 閱讀 assets/painted-animation/template/ANIMATION_GUIDE.md 和 references/production.md。音樂編排需要時讀取 references/music-video.md;其按小節擴展片段的建議不能覆蓋用戶的精確截取區間。 若模式=先看分鏡,只讀取圖片和歌詞、測量節拍並寫分鏡;跳過工程安裝、場景創作和渲染,交付分鏡後停止。
  3. 用檔案工具把正規化 JSON 寫入當前專案 .cache/music-mv-request.json。必須給 output 一個目前專案內尚不存在的絕對路徑。用腳本準備素材和工程:
    python "${CLAUDE_SKILL_DIR}/scripts/prepare_mv.py" --request "<請求JSON絕對路徑>" --install
    
    Windows 依賴、快取和瀏覽器見 references/windows.md。輔助腳本只準備工程,場景仍由你創作。
  4. 讀取生成的 mv-task.json、analysis/lyrics.json;確認 BPM 與 beat_offset。檢測失敗時修復依賴並測量,或使用用戶提供的 BPM;不能把估計值當測量。保留指定音訊範圍,不擅自加前奏、變速或淡出。普通 LRC 只提供行級時間,歌詞填色是行內估計,不能聲稱逐字精確對齊。
  5. 寫完整 STORYBOARD.md:每個鏡頭的片段时间、歌詞、動作、構圖、轉場。建立 src/scenes 內的場景檔案,在 studio.html 註冊;移除演示場景。角色應有表情、預備動作、重心變化、跟隨動作和可讀的演出。每幀是時間 t 的純函數。
  6. 用 scripts/render_mv.mjs 渲染每鏡頭代表幀、動作條和接縫,打開圖片檢查並修正。無字幕時在 studio.html 移除 karaoke.js 的載入。
  7. 渲染完整影片;封裝會校驗時長、尺寸、幀率和音軌。檢查開頭、結尾和所有轉場,再交付 MP4、分鏡和預覽圖的真實絕對路徑。修改場景後重新渲染受影響幀,避免複用舊幀。不得用未打開的預覽或未播放/驗證的影片聲稱品質已確認。

預設順序:素材檢查 → 分鏡 → 場景創作 → 預覽修正 → MP4。不要在正常步驟之間重複請求批准。僅用戶明確要求時使用子代理。

調用範例

/music-mv 角色="D:/mv/character.png" 歌曲="D:/mv/song.mp3" 歌詞="D:/mv/song.lrc" 截取="00:39-01:07" 風格="小鎮姑娘"

可追加:角色模式=僅橙色主角、字幕=無、模式=先看分鏡。圖片中有多位清楚區分的角色時預設全部入鏡,並連續做到成片。

來源和許可見 references/credits.md。

相關技能