Generate a complete MV storyboard script for a virtual singer — from lyrics/audio to an executable video production blueprint
Trigger Words
- Generate MV script
- MV storyboard script
- Virtual singer video script
- mv script
- Storyboard design
- Analyze audio to generate MV
Input (Choose any one method)
| Method | Parameter | Required | Description |
|---|---|---|---|
| Audio file | audio |
✅ | MP3/WAV/M4A file path (Recommended, precise sync) |
| Lyrics only | lyrics |
✅ | Lyrics text |
| Character card | character_card |
❌ | Singer character card path (default: Chloe) |
| Style | style |
❌ | cinematic / ethereal / anime / realistic |
| Number of scenes | scenes |
❌ | Default 9 |
Recommended method:python3 scripts/audio-analyzer.py <audio_file> -s 9 -v
→ Automatically analyze duration, BPM, energy curve, and generate a precise timeline
Output
- Complete storyboard in JSON format — can be directly integrated into the video generation pipeline
- Readable Markdown script — for human review
- Emotion curve chart — emotion_score 0-10 trend
- Timeline alignment — precise to the millisecond, synchronized with audio
Workflow
音频文件 / 歌词文本
│
▼
┌─────────────────────────────────┐
│ 0. 音频分析 (audio-analyzer) │ ← 新增第一步
│ - mutagen 读取真实时长 │
│ - librosa BPM 检测 │
│ - 能量曲线 → 场景时间节点 │
│ - 输出: scene_timeline.json │
└──────────────┬──────────────────┘
│ (无音频时跳过,用歌词估算)
▼
┌─────────────────────────────┐
│ 1. 歌词解析 (lyrics-parser) │
│ - 结构识别 (Verse/Chorus/Bridge) │
│ - 情绪曲线计算 (0-10) │
│ - 时间轴对齐(精确到秒) │
└──────────┬──────────────────┘
│
▼
┌─────────────────────────────┐
│ 2. 场景分配 (scene-assigner) │
│ - 情绪→场景类型映射 │
│ - Chloe 专属场景库 │
│ - 运镜设计 │
│ - 首尾帧衔接设计 │
│ - 音频同步校正 │
└──────────┬──────────────────┘
│
▼
┌─────────────────────────────┐
│ 3. 模型选择 (model-selector) │
│ - 场景复杂度评估 │
│ - 视频生成模型推荐 │
│ - 参数配置 │
└──────────┬──────────────────┘
│
▼
完整 MV 分镜剧本 (JSON + MD)
Quick Start
Step 0: Audio analysis (recommended)
python3 ~/clawd/skills/virtual-singer-mv-script/scripts/audio-analyzer.py \
/path/to/song.mp3 \
-s 9 -v -o /tmp/song_analysis.json
Output: duration, BPM, precise start and end times of 9 scenes
Step 1: Generate the complete script
cd ~/clawd/skills/virtual-singer-mv-script
# 有音频 → 精准模式
python3 scripts/audio-analyzer.py "/path/to/song.mp3" -s 9
python3 scripts/lyrics-parser.py --lyrics "..." --bpm 88
python3 scripts/scene-assigner.py --parsed /tmp/lyrics_parsed.json \
--timeline /tmp/song_analysis.json
python3 scripts/merge-output.py \
--lyrics /tmp/lyrics_parsed.json \
--scenes /tmp/scenes_assigned.json \
--output mv_script.json
Scene time allocation rules (audio sync mode)
| Section | Duration proportion | Emotion strategy |
|---|---|---|
| Intro (0-10%) | 10% | Calm 3.0 |
| Verse 1 (10-25%) | 15% | Gradual rise 4.5 |
| Transition (25-40%) | 15% | Build-up 6.0 |
| Chorus 1 (40-55%) | 15% | Outburst 8.0 |
| Chorus 2 (55-70%) | 15% | Sustain 8.5 |
| Climax (70-82%) | 12% | Peak 9.0 |
| Bridge (82-92%) | 10% | Continuation 8.5 |
| Finale (92-98%) | 6% | Highest 10.0 |
| Outro (98-100%) | 2% | Dissipation 2.0 |
Key principle: All scene durations are calculated based on the actual audio duration and must not be estimated using fixed values
Frame file specifications
Frame naming:scene{NN}_{first|last}.png
scene01_first.png— Scene 1 first framescene01_last.png— Scene 1 last frame
Required elements (each frame prompt must include):
A beautiful young East Asian woman, long black wavy hair,
pink cherry blossom hair clip, white lace dress,
holding cherry blossom branch near her lips singing, fair skin
Video model selection rules
| Scene type | Recommended model | Reason |
|---|---|---|
| Static character + natural light | kling-1.6 | High cost-effectiveness, stable static shots |
| Dynamic camera movement + character | kling-2 | Strong understanding of camera movement |
| 360° rotation/complex effects | veo-3.1 | Best for particle/rotation effects |
| Long take + narrative | sora-2 | Long-duration consistency |
| Guofeng/dance | seedance-3.0 | Smooth Eastern aesthetics |
Notes
- Audio priority — When there is audio, audio-analyzer.py must be used to analyze the actual duration
- First and last frame continuity — The visual elements of the last frame must appear in the first frame of the next scene
- Emotional curve coherence — Sudden jumps are not allowed (unless required by the music design)
- Exact total duration — The sum of all storyboard durations = the total audio duration
- BPM sync — Transition beats must land on the beat