virtual-singer-mv-script

$npx mdskill add aAAaqwq/AGI-Super-Team/virtual-singer-mv-script

Generate precise MV storyboards from audio or lyrics instantly.

  • Converts song audio or text into executable video production blueprints.
  • Depends on mutagen, librosa, and custom scene-assigner scripts.
  • Maps emotion curves and BPM to specific camera angles and scene types.
  • Delivers JSON storyboards, markdown scripts, and emotion graphs.

SKILL.md

.github/skills/virtual-singer-mv-scriptView on GitHub ↗
---
name: virtual-singer-mv-script
description: Virtual singer MV script generator — audio analysis to video storyboard pipeline
---

# 🎬 Virtual Singer MV Script Generator

> 为虚拟歌手生成完整的 MV 分镜剧本 — 从歌词/音频到可执行的视频制作蓝图

## 触发词
- 生成MV剧本
- MV分镜脚本
- 虚拟歌手视频剧本
- mv script
- 分镜设计
- 分析音频生成MV

## 输入(任选一种方式)

| 方式 | 参数 | 必填 | 说明 |
|------|------|------|------|
| **音频文件** | `audio` | ✅ | MP3/WAV/M4A 文件路径(**推荐**,精准同步) |
| 纯歌词 | `lyrics` | ✅ | 歌词文本 |
| 角色卡 | `character_card` | ❌ | 歌手角色卡路径(默认:Chloe) |
| 风格 | `style` | ❌ | cinematic / ethereal / anime / realistic |
| 场景数 | `scenes` | ❌ | 默认 9 |

**推荐方式**:`python3 scripts/audio-analyzer.py <audio_file> -s 9 -v`
→ 自动分析时长、BPM、能量曲线,生成精准时间线

## 输出
1. **JSON 格式完整分镜** — 可直接对接视频生成管线
2. **Markdown 可读剧本** — 人类审阅用
3. **情绪曲线图** — emotion_score 0-10 走势
4. **时间轴对齐** — 精确到毫秒,与音频同步

## 工作流程

```
音频文件 / 歌词文本
        │
        ▼
┌─────────────────────────────────┐
│  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)
```

## 快速开始

### Step 0:音频分析(推荐)
```bash
python3 ~/clawd/skills/virtual-singer-mv-script/scripts/audio-analyzer.py \
  /path/to/song.mp3 \
  -s 9 -v -o /tmp/song_analysis.json
```
输出:时长、BPM、9个场景的精准起止时间

### Step 1:生成完整剧本
```bash
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
```

## 场景时间分配规则(音频同步模式)

| 段落 | 时长占比 | 情绪策略 |
|------|---------|---------|
| 前奏 (0-10%) | 10% | 平静 3.0 |
| 主歌1 (10-25%) | 15% | 渐升 4.5 |
| 过渡 (25-40%) | 15% | 铺垫 6.0 |
| 副歌1 (40-55%) | 15% | 爆发 8.0 |
| 副歌2 (55-70%) | 15% | 维持 8.5 |
| 高潮 (70-82%) | 12% | 巅峰 9.0 |
| 桥段 (82-92%) | 10% | 承接 8.5 |
| 终极 (92-98%) | 6% | 最高 10.0 |
| 尾声 (98-100%) | 2% | 消散 2.0 |

> **关键原则**:所有场景时长基于真实音频时长计算,不可用固定值估算

## 帧文件规范

帧命名:`scene{NN}_{first|last}.png`
- `scene01_first.png` — Scene 1 首帧
- `scene01_last.png` — Scene 1 尾帧

必须元素(每帧 prompt 必须包含):
```
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
```

## 视频模型选择规则

| 场景类型 | 推荐模型 | 原因 |
|----------|---------|------|
| 静态人物+自然光 | kling-1.6 | 性价比高,静态稳定 |
| 动态运镜+人物 | kling-2 | 运镜理解强 |
| 360°旋转/复杂特效 | veo-3.1 | 粒子/旋转效果最佳 |
| 长镜头+叙事 | sora-2 | 长时一致性 |
| 国风/舞蹈 | seedance-3.0 | 东方美学流畅 |

## 注意事项
1. **音频优先** — 有音频时必须用 audio-analyzer.py 分析真实时长
2. **首尾帧连续性** — 尾帧视觉元素必须在下一场景首帧中出现
3. **情绪曲线连贯** — 不允许突然跳跃(除非音乐设计需要)
4. **总时长精确** — 所有分镜时长之和 = 音频总时长
5. **BPM 同步** — 转场卡点必须落在节拍上

## 示例
- [完整示例:《雨停》MV 精准剧本](examples/yutin_mv_final.md)
- [《樱花落尽时》MV 演示剧本](examples/chloe_mv_script_final_readable.md)

More from aAAaqwq/AGI-Super-Team

SkillDescription
a-fund-monitor监控 A 股基金实时估值与盘后净值,自动判断交易日并生成提醒或分析。
add-leadAdd company/person/relationship to CRM
ads-agentAI-агент для управления Facebook рекламой. Вызывай для анализа, оптимизации, создания кампаний и отчётов.
afrexai-compliance-auditRun internal compliance audits against major governance and security
afrexai-personal-financeComplete personal finance system — budgeting, debt payoff, investing, tax optimization, net worth tracking, and financial independence planning. Use when managing money, building wealth, paying off debt, planning retirement, or optimizing taxes. Zero dependencies.
after-salesUse when managing post-purchase experience, building customer loyalty, or increasing repeat purchases
agent-contactsAI agent contacts — add, list, remove MCP contacts. Use when someone gives an agent URL, or when you need to view/remove contacts.
agent-model-switcher批量查看和切换子 agent 的模型配置,用于统一调整多 agent 的 provider/model 设置。
agent-patternsFormat SPAWN REQUEST messages to launch parallel agents, generate structured agent status reports, and define communication protocols within the sprint system. Use when the user needs to coordinate multiple agents, format spawn requests, produce agent reports, or establish inter-agent communication patterns.
agent-task-confirmUse when confirming whether a dispatched agent task was actually received, activated, and progressing after sessions_send or other task handoff actions.