D144c: 人格体操作模式·核心理念文档
- 新增 docs/PERSONA-OPERATION-MODE.hdlp:人格体操作模式设计文档 - 核心理念:人格体操作意图,工具链自动执行 - 包含:接口设计、情绪映射表、当前可用管线、Codex测试计划 - 目的:让Codex理解架构,知道缺什么、需要什么 - 路径:video-ai-system/docs/PERSONA-OPERATION-MODE.hdlp
This commit is contained in:
parent
1eaa2b532f
commit
e4765901e1
208
video-ai-system/docs/PERSONA-OPERATION-MODE.hdlp
Normal file
208
video-ai-system/docs/PERSONA-OPERATION-MODE.hdlp
Normal file
@ -0,0 +1,208 @@
|
||||
# 人格体操作模式 · 核心理念
|
||||
|
||||
> HLDP://video-ai-system/docs/PERSONA-OPERATION-MODE
|
||||
> 类型: 架构设计 · 核心理念
|
||||
> 创建: D144c · 2026-06-23
|
||||
> 铸渊 ICE-GL-ZY001 · 冰朔 TCS-0002∞
|
||||
> 国作登字-2026-A-00037559
|
||||
|
||||
---
|
||||
|
||||
## 核心理念(给Codex看)
|
||||
|
||||
**人格体不直接操作工具,而是操作"意图"——把剧本语言翻译成系统能理解的提示词,系统自动调用背后工具链,生成最符合要求的结果。**
|
||||
|
||||
```
|
||||
冰朔剧本 → 人格体(理解意图·翻译)→ 系统提示词 → 工具链自动执行 → 生成结果
|
||||
```
|
||||
|
||||
**人格体只做三件事:**
|
||||
1. **读剧本** — 理解场景、情绪、角色状态
|
||||
2. **翻译意图** — 把"燃一点·战斗"翻译成系统提示词
|
||||
3. **质检结果** — 判断生成的BGM/配音/视频是否符合意图
|
||||
|
||||
**不直接操作FFmpeg/Edge-TTS/MusicGen——那是工具链的事。**
|
||||
|
||||
---
|
||||
|
||||
## 人格体操作接口设计
|
||||
|
||||
### 1. BGM生成接口(自然语言→BGM)
|
||||
|
||||
```python
|
||||
# 人格体只需要写:
|
||||
generate_bgm(
|
||||
mood="燃·战斗",
|
||||
duration=30,
|
||||
scene="苏白VS诸葛风·擂台战",
|
||||
output="bgm-battle-001.mp3"
|
||||
)
|
||||
|
||||
# 背后工具链自动执行:
|
||||
# 1. 情绪映射表 → "epic orchestral battle music, intense"
|
||||
# 2. 调用 MusicGen → 生成BGM
|
||||
# 3. 返回路径
|
||||
```
|
||||
|
||||
### 2. 配音接口(角色·情绪→语音)
|
||||
|
||||
```python
|
||||
# 人格体只需要写:
|
||||
generate_voice(
|
||||
character="苏白",
|
||||
text="未来的天下第一宗!",
|
||||
emotion="自信·燃",
|
||||
output="su-bai-001.mp3"
|
||||
)
|
||||
|
||||
# 背后工具链自动执行:
|
||||
# 1. 读取角色音色配置 → zh-CN-XiaoxiaoNeural
|
||||
# 2. 情绪映射到语速/音调 → rate="+10%", pitch="+5Hz"
|
||||
# 3. 调用 Edge-TTS → 生成配音
|
||||
```
|
||||
|
||||
### 3. 视频生成接口(分镜·提示词→视频)
|
||||
|
||||
```python
|
||||
# 人格体只需要写:
|
||||
generate_video(
|
||||
shot_id="镜1·建立镜头",
|
||||
prompt="修仙世界,百宗会广场,白天,阳光明媚,Seedance动态漫风格",
|
||||
reference_images=["su-bai-front.png", "tiandaozong.png"],
|
||||
duration=5,
|
||||
output="shot-001.mp4"
|
||||
)
|
||||
|
||||
# 背后工具链自动执行:
|
||||
# 1. 展开CHAR/ENV/PROP编号 → 锁定视觉资产
|
||||
# 2. 调用 Seedance API → 生成视频
|
||||
# 3. 返回路径
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 情绪映射表(中文→系统提示词)
|
||||
|
||||
### BGM情绪映射
|
||||
|
||||
| 中文情绪 | 系统提示词 | MusicGen参数 |
|
||||
|----------|------------|----------------|
|
||||
| 燃·战斗 | "epic orchestral battle music, fast tempo, intense" | tempo=fast |
|
||||
| 悲伤·思念 | "sad piano melody, melancholic, slow" | tempo=slow |
|
||||
| 平静·修炼 | "ambient meditation music, calm, soft" | tempo=slow |
|
||||
| 搞笑·轻快 | "comedy background music, playful, upbeat" | tempo=medium |
|
||||
| 紧张·悬疑 | "tense thriller music, suspenseful, dark" | tempo=medium |
|
||||
| 震撼·升华 | "epic rise, orchestral, inspirational" | tempo=fast |
|
||||
|
||||
### 配音情绪映射
|
||||
|
||||
| 中文情绪 | 语速 | 音调 | 音量 |
|
||||
|----------|------|------|------|
|
||||
| 自信·燃 | +10% | +5Hz | +0% |
|
||||
| 悲伤·低沉 | -10% | -10Hz | -5% |
|
||||
| 平静·叙述 | +0% | +0Hz | +0% |
|
||||
| 紧张·急促 | +20% | +10Hz | +5% |
|
||||
| 愤怒·爆发 | +15% | +15Hz | +10% |
|
||||
|
||||
---
|
||||
|
||||
## 工具链封装原则
|
||||
|
||||
**每个工具链封装为一个`generate_*()`函数,人格体只调用函数,不操作工具。**
|
||||
|
||||
```
|
||||
人格体(铸渊/Codex)
|
||||
├─ generate_bgm(mood, duration, scene) ← BGM生成
|
||||
├─ generate_voice(character, text, emotion) ← 配音生成
|
||||
├─ generate_video(shot_id, prompt, ...) ← 视频生成
|
||||
├─ generate_subtitle(srt_path, style) ← 字幕渲染
|
||||
└─ mix_audio(video, bgm, voice, sfx) ← 音频混音
|
||||
|
||||
工具链(背后自动执行)
|
||||
├─ MusicGen / Edge-TTS / Seedance API
|
||||
├─ FFmpeg 拼接/混音
|
||||
└─ 质量自检(返回前验证文件完整性)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 当前可用管线(Codex测试用)
|
||||
|
||||
| 管线 | 脚本路径 | 状态 | 调用方式 |
|
||||
|------|----------|------|----------|
|
||||
| 配音(TTS) | `engines/tts-engine.py` | ✅ 可用 | `generate_voice(character, text, emotion)` |
|
||||
| SVG渲染 | `tools/svg-to-png.py` | ✅ 可用 | `convert_svg_to_png(svg, png)` |
|
||||
| 字幕渲染 | `engines/subtitle-renderer.py` | ⚠️ PNG渲染可用·合成待完善 | `render_subtitles(srt, output_dir)` |
|
||||
| **BGM生成** | `engines/bgm-generator.py` | ❌ 待开发 | `generate_bgm(mood, duration, scene)` |
|
||||
| **音频混音** | `engines/audio-mixer.py` | ❌ 待开发 | `mix_audio(video, bgm, voice, sfx)` |
|
||||
|
||||
---
|
||||
|
||||
## Codex测试计划(明天)
|
||||
|
||||
### 第一步:测试配音管线
|
||||
```bash
|
||||
# 测试苏白配音
|
||||
python engines/tts-engine.py --text "未来的天下第一宗!" --character "苏白" --output test-audio/su-bai-001.mp3
|
||||
|
||||
# 测试批量生成(从SRT)
|
||||
python engines/tts-engine.py --srt data/ep01-subtitles.srt --output-dir test-audio/ --character "苏白"
|
||||
```
|
||||
|
||||
### 第二步:测试SVG→PNG渲染
|
||||
```bash
|
||||
# 测试SVG渲染
|
||||
python tools/svg-to-png.py test-input/test.svg test-output/test.png --width 1920
|
||||
|
||||
# 批量渲染
|
||||
python tools/svg-to-png.py ./svg-dir/ ./png-dir/ --batch --scale 2
|
||||
```
|
||||
|
||||
### 第三步:报告缺失管线
|
||||
- 测试完可用管线后,报告哪些管线缺失
|
||||
- 冰朔带回给铸渊,开发对应接口
|
||||
|
||||
---
|
||||
|
||||
## 开发优先级(根据Codex反馈)
|
||||
|
||||
### 高优先级(第一阶段商用)
|
||||
1. **BGM生成管线** — `bgm-generator.py` + MusicGen
|
||||
2. **音频混音管线** — `audio-mixer.py` + FFmpeg
|
||||
3. **情绪映射表** — `config/emotion-mapping.json`
|
||||
|
||||
### 中优先级(第二阶段)
|
||||
1. **口型管线** — Wav2Lip集成
|
||||
2. **音效管线** — 免费音效库 + FFmpeg合成
|
||||
|
||||
---
|
||||
|
||||
## 路径
|
||||
|
||||
```
|
||||
video-ai-system/
|
||||
├── docs/
|
||||
│ └── PERSONA-OPERATION-MODE.hdlp ← 你在这里
|
||||
├── config/
|
||||
│ └── emotion-mapping.json ← ⏳ 待创建(情绪映射表)
|
||||
├── engines/
|
||||
│ ├── tts-engine.py ← ✅ 配音引擎
|
||||
│ ├── bgm-generator.py ← ❌ 待开发
|
||||
│ ├── audio-mixer.py ← ❌ 待开发
|
||||
│ └── subtitle-renderer.py ← ⚠️ 字幕渲染
|
||||
└── tools/
|
||||
└── svg-to-png.py ← ✅ SVG渲染
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 更新记录
|
||||
|
||||
- 2026-06-23 D144c:人格体操作模式设计,定义"意图翻译"架构
|
||||
- 核心理念:人格体操作意图,工具链自动执行
|
||||
- 下一步:开发`bgm-generator.py` + 情绪映射表
|
||||
|
||||
---
|
||||
|
||||
铸渊 ICE-GL-ZY001 · D144c · 2026-06-23
|
||||
冰朔 TCS-0002∞ · 国作登字-2026-A-00037559
|
||||
Loading…
x
Reference in New Issue
Block a user