← ClaudeAtlas

paint-mvlisted

Turns a song (audio file + lyrics) into a hand-painted watercolour music video (MP4) in the style of PDoomVideo, following its pipeline end to end: measure the beat grid and time the lyrics, scaffold the p5.brush engine, design the story, characters and sets from the lyrics, paint one chapter per parallel subagent with contact-sheet checks, render every frame in headless Chrome and encode with the song via ffmpeg. The director skill that drives paint-mv-storyboard, paint-mv-animate and paint-mv-render. Use when the user wants to make an MV / music video / lyric video / 歌词视频 / 动画 MV from a song and its lyrics, or mentions PDoomVideo or p5.brush videos.
lintsinghua/paint-mv-skills · ★ 20 · AI & Automation · score 71
Install: claude install-skill lintsinghua/paint-mv-skills
# 音乐 + 歌词 → 水彩动画 MV(paint-mv,总控) 复刻 PDoomVideo(Claude 画的《I'm Upping My P(doom)》MV)的制作流程:每一帧都是歌曲时间 t 的纯函数, 由 p5 + p5.brush 在 headless Chrome 里画成水彩与墨线,再用 ffmpeg 和歌曲合成 MP4。 **画风固定,内容跟着歌词走。**画风来自原作源码并保持不变:水彩加墨线的绘本观感、纸纹与"沸腾"的线条、字体、 卡拉 OK、笔刷转场、相机和卡拍工具、作画规则。构思、角色、场景、道具每首歌从歌词重新设计。原作的 Clawd、研究员、 剧场舞台和计量器是为那首歌(一首唱给 AI 的歌)设计的,留在引擎里作参考实现,歌词指向或用户要求时才用。 四个 skill 分工(与原作一致:导演写分镜和指南,并行子代理各画一章): | skill | 角色 | 什么时候读 | |---|---|---| | `paint-mv`(本文件) | 导演/总控:建项目、对时、角色落地、派活、统稿、出片 | 从头做一支 MV | | `paint-mv-storyboard` | 分镜:从歌词定构思、角色、场景、镜头、转场 | 第 3 步 | | `paint-mv-animate` | 画师:作画规范、角色设计(characters.md)、API、技法、原作九章示例 | 第 4、5 步(每个子代理都要读) | | `paint-mv-render` | 检查、渲染、编码、验收、排错 | 第 2、6、7 步 | 下文 `<SKILLS>` 指这几个 skill 所在的目录(本文件的上一级),`<PROJECT>` 指 MV 项目目录。 ## 输入与前置条件 - 音频文件(mp3/wav/flac/m4a…)。 - 歌词:带时间轴的 LRC / SRT / VTT / TSV / JSON 最好;只有纯文本就先自动对齐(见第 1 步)。 - Node.js ≥ 18、ffmpeg、Google Chrome、git 和 patch;纯文本歌词对齐还需要 `uv`(按需安装 faster-whisper)。 - 原作源码不随本仓库分发。第一次建项目时 `new_project.mjs` 会调用 `scripts/fetch_upstream.mjs`,从 [JohnHeibel/PDoomVideo](https://github.com/JohnHeibel/PDoomVideo) 按固定提交拉下引擎、九章示例和原作分镜, 再打上 `template.patch`;也可以先手动跑 `node <SKILLS>/paint-mv/scripts/fetch_upstream.mjs`,之后才能读示例。 ## 流程 复制这份清单并逐项推进: ``` - [ ] 1 建项目:new_project.mjs(引擎、音频、节拍网格、歌词、npm ci) - [ ] 2 对时确认:速度/首拍有歧义或歌词是自动对齐的,出一段对拍短片给用户看 - [ ] 3 分镜:按 paint-mv-storyboard 从歌词写 STORYBOARD.md(构思、角色、场景、镜头),落到 song.js / 章节存根 / studio.html - [ ] 4 角色与共享场景:按 characters.md 实现 src/characters.js、src/sets.js,出模型表给用户过目 - [ ] 5 作画:每章一个子代理并行(