Individual skill
music-mv
用代码给一首歌做一支音乐 MV(不用视频生成模型):先把歌听懂(歌词时间轴、节拍、情绪起落、别人怎么理解这首歌),再定画风、画角色、写剧本和分镜、先出草图再做整片,最后照清单看片修改;也能先拆一支参考视频的风格再照着做。画面用 Canvas / p5.js / p5.brush 一帧一帧画,HyperFrames 合成歌词和歌。用户说「给这首歌做个 MV」「做一支音乐 MV / 歌词 MV / 动画 MV」「学这个视频的风格做一支 MV」,或 make a music video / lyric video for this song 时使用。不限模型,能读写文件、跑命令的 agent 都能照做。
SKILL.md
Source commit 0088b1422f7f82cdf51b456436a6313127a26d6b
What was checked
- Matches the observed repository HEAD
- Yes
- Scanner rules are current
- No
- Repository scan complete
- Yes
- Skill scan complete
- Yes
- Observed behavior
- Not checked yet
- Last checked
- Nov 6, 2026
These are observations at the recorded commit, not a guarantee of safety. Review the source before running it.
Install this skill
Choose an agent in your Stack or copy a command below. Commands fetch the pinned commit and copy only this skill directory. Existing destinations are refused. Copying a command does not install anything.
An install command is unavailable: current rules, complete repository and skill scans, an eligible behavior level and a permitted license are required.
Repository context
- Repository stars (not skill ratings)
- 116
- Repository last updated
- Oct 20, 2026
- License
- MIT
Observed agent integration: No specific integration evidence. Standard SKILL.md installation does not imply verified compatibility.
- agent-skills Repository topic
- claude-code Repository topic
- creative-coding Repository topic
- hyperframes Repository topic
- lyric-video Repository topic
- music-video Repository topic
- p5js Repository topic
- engineering Derived category
Files and excerpt
File metadata and permitted, redacted excerpts come from the recorded scan. Source links are pinned to that commit.
Browse files
.gitignoreasset · 37 bytesLICENSEasset · 1,063 bytesNOTICE.mddoc · 2,027 bytesREADME.mddoc · 7,769 bytesSKILL.mdcore · 9,663 bytesdocs/mv-earth.gifasset · 4,317,240 bytesdocs/mv-fireworks.gifasset · 4,405,463 bytesdocs/mv-seasons.gifasset · 3,482,746 bytesdocs/mv-sky.gifasset · 5,464,801 bytesdocs/style-collage.gifasset · 3,891,243 bytesdocs/style-crayon.gifasset · 4,481,425 bytesdocs/style-diorama.gifasset · 3,860,819 bytesdocs/style-pixel.gifasset · 301,877 bytesexamples/collage/scene.htmlasset · 63,734 bytesexamples/crayon/scene.htmlasset · 52,251 bytesexamples/diorama/scene.htmlasset · 66,201 bytesexamples/pixel/scene.htmlasset · 43,389 bytesreferences/character.mddoc · 2,303 bytesreferences/learn-style.mddoc · 2,607 bytesreferences/render.mddoc · 9,368 bytesreferences/review.mddoc · 4,063 bytesreferences/storyboard.mddoc · 3,076 bytesreferences/styles.mddoc · 6,499 bytesreferences/transitions.mddoc · 2,762 bytesrequirements.txtdoc · 21 bytesscripts/_common.pyruns · 2,119 bytesscripts/analyze_song.pyruns · 7,926 bytesscripts/check_env.pyruns · 2,355 bytesscripts/contact_sheet.pyruns · 7,228 bytesscripts/finalize_audio.pyruns · 3,073 bytesscripts/render_frames.mjsruns · 8,831 bytesscripts/srt2js.pyruns · 1,451 bytesscripts/video_rhythm.pyruns · 6,352 bytestemplates/frames/scene.htmlasset · 2,461 bytestemplates/hf-canvas/index.htmlasset · 4,535 bytestemplates/hf-overlay/index.htmlasset · 1,898 bytestemplates/lyrics-layer.jsruns · 2,148 bytes教程.mddoc · 12,099 bytes
Read excerpt
# 用代码做一支音乐 MV
**原理**:不生成视频。代码把每一帧画出来(画面是时间 t 的函数),踩着歌的节拍和歌词编排,最后和原曲合成一条视频。下文 `<skill>` 指本文件所在的文件夹。
## 底线(每一步都守)
1. **一切跟着音乐走**:镜头在哪变、哪个画面最安静、最重要的画面放哪,都从歌里来(`song.md`、`song-analysis.json`)
2. **一句歌词,一个画面**:这句唱什么,画面就演什么。没听过这首歌的人只看画面,也能说出发生了什么
3. **关键处停下来等用户点头**:歌词、画风、角色设定图、分镜、草图。用户没确认,不往下做
4. **画面只由 t 决定**:同一个 t 永远画出同一帧,随机数用固定种子
5. **一个镜头一个画布**:背景、角色、道具画在同一个画布上、跟同一个镜头动,不把单独渲的角色视频叠在背景上
6. **你看不了视频**:节奏和动静靠脚本量(`video_rhythm.py`),画面靠接触表看(`contact_sheet.py`)。每版都跑,不凭感觉说「很流畅」
7. **歌词有版权**:不在对话、命令里整段打出歌词(会被内容过滤拦),脚本读文件,回复里只说第几句
8. **歌词以外的字不自己加**:片名、章节角标、印章徽章,用户要了再加