Files
blind/技术报告_音频资源制作.md
T
xslandCursor 9c02fbcd74 同步音频文档至 v5 克隆现行状态
更新林夏设计纲要、执行文档与技术报告,对齐 VoxCPM2 8002 端口、v4/v5 流水线、游戏 184 个 MP3 引用及 13 角色参考音色。

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-05-24 10:35:49 +08:00

305 lines
15 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 音频资源制作技术落地报告
> 调研日期:2026-05-20
> 最后更新:**2026-05-23**VoxCPM2 v5 克隆落地、游戏音频清理对齐)
> 硬件环境:NVIDIA RTX 5090 (32GB VRAM) / CUDA Driver 12.9 / WSL2 Linux
> **项目现行状态**:见 `audio_2/项目状态说明.md`
---
## 一、本机已有能力总览
| 能力域 | 工具 | 状态 | 环境 |
|--------|------|------|------|
| TTS 语音合成 | VoxCPM2 | **运行中** (port **8002**) | `/home/xsl/tts-server/` Python venv |
| TTS 语音合成 | CosyVoice2-0.5B | 已部署,需手动启动 | conda cosyvoice |
| 音乐/铃声生成 | ACE-Step 1.5 | 已部署,需手动启动 | conda acestep |
| 音效/氛围生成 | ACE-Step 1.5 | 同上 | conda acestep |
| 音效/氛围生成 | **Stable Audio Open 1.0** | **已部署** ✅ | conda stableaudio / torch 2.8.0+cu128 |
| 语音识别 (ASR) | SenseVoice Small | 模型已缓存 | HuggingFace cache |
| 语音识别 (ASR) | Whisper Tiny | 模型已缓存 | HuggingFace cache |
| 轻量 TTS | Kokoro-82M | 模型已缓存 | HuggingFace cache |
| 音频处理 | ffmpeg 7.0.2 | 可用 | 系统 PATH |
| 音频分析 | librosa / soundfile / pydub | 可用 | pip |
| 音视频同步 | MuseTalk / LatentSync | 已部署 | conda 环境 |
### 当前产出数据 (《林夏》项目,2026-05-23)
| 类型 | 数量 | 路径 | 生成工具 |
|------|------|------|----------|
| TTS 游戏对白 | **169** 条 | `audio/mp3/tts/*_wav_v1.mp3` | VoxCPM2 v5 克隆 |
| TTS 归档产物 | **177** 条 | `audio_2/tts/v5_cloned/*_wav_v5.mp3` | 同上(含台词表全量 + extra) |
| 参考音色 | **13** 角色 | `audio_2/tts/v4_voice_samples/` + `voice/*_ref.wav` | Voice Design 试听选定 |
| BGM | 4 轨 | `audio/mp3/music/` | ACE-Step 1.5 |
| 角色铃声 | 5 条(游戏引用 4 场景) | `audio/mp3/music/` | ACE-Step 1.5 |
| 叙事音效 | 4 条 | `audio/mp3/sfx/` | ACE-Step 1.5 |
| 环境氛围 | 3 条 | `audio/mp3/ambience/` | ACE-Step 1.5 |
| UI 短音效 | 13 种 | 浏览器内 | Web Audio API |
| **游戏 MP3 合计** | **184** | `audio/mp3/` | 已与 story.js 对齐 |
> 注:8000 端口被 head3d 占用,VoxCPM2 固定 **8002**。旧 `*_mp3_v1.mp3` 与 legacy 目录(`audio/mp3/linxia/`、`react/`)已清理。
---
## 二、各能力域详细分析
### 2.1 TTS 语音合成
#### 本机已有
| 工具 | 模型大小 | VRAM | 中文质量 | 声音克隆 | 延迟 | 特点 |
|------|---------|------|---------|---------|------|------|
| **VoxCPM2** | 4.7GB | ~6GB | A | 零样本 (5-30s参考音频) | ~1s/句 | FastAPI`/home/xsl/tts-server/`port **8002**;支持 Style Control + Voice Design |
| **CosyVoice2-0.5B** | 5.3GB | ~8GB | A+ | 零样本 | ~2s/句 | WebUI,多语言,语速可控,阿里开源 |
| **Kokoro-82M** | <200MB | <2GB (可CPU) | B (中文社区扩展) | 不支持 | <0.3s | 超轻量,英文为主,适合实时场景 |
| **Edge-TTS** | 0 (云端) | 0 | B+ | 不支持 | 网络延迟 | 微软在线服务,免费,多音色 |
**当前主链路**:《林夏》已落地 **Voice Design 试听 → 克隆锚定 → Style Control 表演**
```
03_gen_voice_samples.py (v4 试听,每角色 5 变体)
→ 人工选定参考 wav
→ 04_gen_tts_clone.py (v5 全量克隆)
→ audio/mp3/tts/*_wav_v1.mp3 (游戏加载)
```
API`POST /v1/speech/styled`(有 voice_id = 克隆+表演;无 voice_id = 纯 Voice Design)。
备用:CosyVoice2 → Edge-TTS 兜底。
#### 推荐部署到本地
| 工具 | Stars | 模型大小 | VRAM | 为什么值得部署 | 部署难度 |
|------|-------|---------|------|--------------|---------|
| **F5-TTS** | 14.5k | ~3GB | 8GB | Flow-matching 架构;零样本克隆质量最高;MIT 开源 | 低 (pip install) |
| **ChatTTS** | 39k | ~2GB | 4GB | 专为对话设计;自然笑声/停顿/语气词;适合互动叙事 | 低 (pip install) |
**部署优先级建议**
1. **ChatTTS** — 对话自然度最高,适合即兴/随机对白生成
#### 线上服务
| 服务 | 中文质量 | 声音克隆 | 延迟 | 价格 | 适用场景 |
|------|---------|---------|------|------|---------|
| **MiniMax Speech 2.8** | S | 支持 (30s参考) | <250ms | 按字符计费 | 实时语音交互、低延迟场景 |
| **豆包 TTS 2.0** (字节) | S | 支持 (Seed-ICL) | ~1s | 火山引擎计费 | 中文情感表达最强,指令控制情绪 |
| **通义 TTS** (阿里) | A+ | 支持 (CosyVoice) | 标准 | 免费试用额度 | 与本机 CosyVoice 生态互通 |
| **ElevenLabs** | A | 专业级 | ~100ms | $5-99/月 | 多语言、API 最成熟、配套 SFX |
| **百度语音合成** | A | 有限 | 标准 | Token 计费 | 最老牌、REST 接入最简单 |
---
### 2.2 音乐制作
#### 本机已有
| 工具 | 模型大小 | VRAM | 能力 | 当前产出 |
|------|---------|------|------|---------|
| **ACE-Step 1.5** | 9.4GB (60个checkpoint) | ~8GB | 文本→音乐/铃声/氛围;支持歌词+人声;20s 生成 4 分钟音频;seed 可复现 | 4轨 BGM + 9 条铃声 |
**当前配置**:已针对 RTX 5090 修复 cuBLAS 兼容性 (`cublaslt`)turbo 模式。
#### 推荐部署到本地
| 工具 | Stars | VRAM | 为什么值得部署 | 适用场景 |
|------|-------|------|--------------|---------|
| **DiffRhythm 2** | 新项目 | ~8GB | 最快:10 秒生成 4:45 歌曲;精确歌词对齐;Latent Diffusion 架构 | 快速迭代 BGM 候选 |
| **YuE (乐)** | Apache 2.0 | 8GB(量化)-80GB(全) | 双 LLaMA 架构;完整歌曲(人声+伴奏同步);最接近 Suno 的开源方案 | 需要完整歌曲(含唱) |
| **MusicGen (Meta)** | CC BY-NC | ~12GB fp16 | 研究级纯器乐生成;立体声输出;Loop 素材可控性强 | 纯器乐 BGM / 素材 |
| **Stable Audio Open 1.5** | 已 clone | ~12GB | 47s 立体声 44.1kHzSFX 和音乐兼顾;代码已在本机 | 音效与短音乐片段 |
**部署优先级建议**
1. **Stable Audio Open 1.5** — 代码已在本机 (`/home/xsl/tools/stable-audio-tools/`),只需下载模型权重 + `pip install`,马上可用
2. **DiffRhythm 2** — 速度碾压 ACE-Step,适合大量迭代试听
3. **YuE** — 32GB VRAM 可跑量化版,适合需要有歌词人声的完整歌曲
#### 线上服务
| 服务 | 人声 | 中文歌词 | 时长 | 价格 | 特点 |
|------|------|---------|------|------|------|
| **Suno v5** | 有 | 支持 | ~4min | 免费 300 首/月 | 品质最高;版权诉讼风险 |
| **Udio** | 有 | 支持 | ~4min | 免费额度 | 与 Suno 竞品;已暂停下载功能 |
| **网易天音** | 有 | 中文原生 | 可变 | 按需 | 国内平台,版权更清晰 |
---
### 2.3 音效生成
#### 本机已有
| 工具 | 能力 | 当前产出 |
|------|------|---------|
| **ACE-Step 1.5** | 氛围类音效 (>=5s):心跳、呼吸、雨声、敲门、猫叫、水壶、环境氛围等 | 18 条 SFX + 6 条氛围 |
| **ffmpeg** | 后期处理:混音叠加、底噪叠加、格式转换、音量调节 | 全流程 |
| **Web Audio API** (游戏内) | 13 种 UI 短音效:合成叮/咚/滴/滑动音,无需外部文件 | 实时合成 |
**限制**:ACE-Step 擅长氛围/音乐类音效,不擅长短促精确的 UI 音效(<1s 的 click/beep)。
#### 推荐部署到本地
| 工具 | VRAM | 为什么值得部署 | 适用场景 |
|------|------|--------------|---------|
| **Stable Audio Open 1.5** | ~12GB | 音效生成品质最高的开源方案;44.1kHz 立体声;47s 时长 | 高品质 Foley、环境音 |
| **AudioLDM 2** | 8-16GB | 全能型(SFX + 音乐 + 语音);48kHz;多种模型尺寸 | 短音效、过渡音 |
**部署优先级建议**
1. **Stable Audio Open 1.5** — 同上,已有代码,补模型即可
2. **AudioLDM 2** — pip 安装,轻量推理,适合补充短促音效
#### 线上服务
| 服务 | 时长上限 | 价格 | 特点 |
|------|---------|------|------|
| **ElevenLabs SFX v2** | 30s | 免费额度 | 制作级品质,支持循环,版税免费 |
| **Stable Audio 2.5** (API) | 3min | 按量 | 音频修复/inpainting,商业安全 |
---
### 2.4 语音克隆 / 变声
#### 本机已有
VoxCPM2 和 CosyVoice2 均内置零样本声音克隆。《林夏》**13 角色**参考库(2026-05-23 选定):
```
audio_2/tts/v4_voice_samples/ # 每角色 1 条选定 wav/mp3
voice/
linxia/linxia_ref.wav linxia_v05
mom/mom_ref.wav mom_v01
azhe/azhe_ref.wav azhe_v03(男声)
xiaomei/xiaomei_ref.wav xiaomei_v05
xiaomei/xiaomei_drunk_ref.wav xiaomei_drunk_v05
zhounan/zhounan_ref.wav zhounan_v05(男声)
hr/ anan/ dorm_a/ dorm_b/ dorm_c/
delivery/delivery_ref.wav delivery_v04(男声)
linxia/self_3y_ref.wav self_3y_v03
```
批量脚本:`audio_2/scripts/04_gen_tts_clone.py` · 清单:`audio_2/tts/v5_cloned/clone_manifest.tsv`
#### 推荐部署到本地
| 工具 | Stars | 为什么值得 | 适用场景 |
|------|-------|----------|---------|
| **OpenVoice V2** | 36k | 单条音频秒级克隆;跨语言(克隆英文声 → 输出中文)| 快速原型、临时角色 |
| **RVC v2** | 36k | 实时变声;10 分钟数据可训练;社区模型库庞大 | 歌声转换、直播变声 |
| **Seed-VC** | 新 | 零样本相似度最高;解决音色泄漏问题;支持唱歌 | 高精度声音复刻 |
**部署优先级**Seed-VC > OpenVoice V2
---
### 2.5 语音识别 (ASR) — 辅助能力
| 工具 | 状态 | 用途 |
|------|------|------|
| **SenseVoice Small** | 模型已缓存 | 中文 ASR,可用于语音标注、字幕生成 |
| **Whisper Tiny** | 模型已缓存 | 多语言 ASR 兜底 |
---
## 三、推荐部署路线图
### ✅ 已完成部署(2026-05-20
| 序号 | 工具 | 路径 | 模型 | torch |
|------|------|------|------|-------|
| 1 | **Stable Audio Open 1.0** | `/home/xsl/tools/stable-audio-tools/` | `/home/xsl/models/stable-audio-open/` | 2.8.0+cu128 (stableaudio) |
**注:全部使用 CUDA 12.8 编译版 torch,支持 RTX 5090 (sm_120)**
PyTorch wheel 来源:`https://mirrors.aliyun.com/pytorch-wheels/cu128/`
#### 启动命令
```bash
# Stable Audio Open — Gradio WebUI
conda activate stableaudio
cd /home/xsl/tools/stable-audio-tools
python run_gradio.py \
--model-config /home/xsl/models/stable-audio-open/model_config.json \
--ckpt-path /home/xsl/models/stable-audio-open/model.safetensors
```
### 下一优先级 — 待部署
| 序号 | 工具 | 操作 | 预计耗时 | VRAM |
|------|------|------|---------|------|
| 4 | **ChatTTS** | `pip install ChatTTS` → 下载模型 | 30min | 4GB |
### 按需部署
| 序号 | 工具 | 场景 |
|------|------|------|
| 5 | **DiffRhythm 2** | 需要快速迭代大量 BGM 候选时 |
| 6 | **AudioLDM 2** | 需要精确短音效生成时 |
| 7 | **YuE** | 需要完整中文歌曲(人声+伴奏)时 |
| 8 | **OpenVoice V2** | 需要快速跨语言声音克隆时 |
---
## 四、能力矩阵
```
本机已有 待部署 线上服务
┌───────────────┐ ┌────────────┐ ┌────────────┐
TTS │ VoxCPM2 │ │ ChatTTS │ │ MiniMax │
语音合成 │ CosyVoice2 │ │ F5-TTS │ │ 豆包 TTS │
│ Kokoro-82M │ │ │ │ ElevenLabs │
│ │ │ │ │ 通义 TTS │
└───────────────┘ └────────────┘ └────────────┘
┌───────────────┐ ┌────────────┐ ┌────────────┐
音乐生成 │ ACE-Step │ │ DiffRhythm │ │ Suno v5 │
│ │ │ YuE │ │ Udio │
│ │ │ MusicGen │ │ │
└───────────────┘ └────────────┘ └────────────┘
┌───────────────┐ ┌────────────┐ ┌────────────┐
音效生成 │ ACE-Step │ │ AudioLDM 2 │ │ ElevenLabs │
│ StableAudio ✅│ │ │ │ StableAudio│
│ Web Audio │ │ │ │ API │
│ ffmpeg │ │ │ │ │
└───────────────┘ └────────────┘ └────────────┘
┌───────────────┐ ┌────────────┐ ┌────────────┐
声音克隆 │ VoxCPM2 │ │ Seed-VC │ │ ElevenLabs │
│ CosyVoice2 │ │ OpenVoice │ │ MiniMax │
│ │ │ RVC v2 │ │ 豆包 │
└───────────────┘ └────────────┘ └────────────┘
┌───────────────┐
ASR │ SenseVoice │ (辅助能力,非生产主线)
语音识别 │ Whisper │
└───────────────┘
```
---
## 五、VRAM 并行策略
RTX 5090 (32GB) 可同时运行的组合:
| 组合 | 占用 VRAM | 场景 |
|------|----------|------|
| VoxCPM2 (6G) + ACE-Step (8G) | ~14GB | TTS + 音乐同时生产 |
| VoxCPM2 (6G) + Stable Audio (12G) | ~18GB | TTS + 高品质音效 |
| CosyVoice2 (8G) + ChatTTS (4G) | ~12GB | 双 TTS 引擎对比试听 |
| 单独 YuE 量化版 | ~8-24GB | 完整歌曲生成(独占) |
---
## 六、针对《林夏》项目的升级建议
| 现状 | 升级方案 | 收益 |
|------|---------|------|
| v5 克隆已部署,待 playtest | 实机听感迭代 → 微调 `voice_style_prompts.py` 或重选 v4 参考 | 各角色区分度与情感准确度 |
| ACE-Step 生成叙事音效 | → Stable Audio Open 1.5 补充精细音效 | 44.1kHz 立体声,电话底噪/UI 音效品质更高 |
| 结局仅语音 + 字幕 | → ACE-Step/DiffRhythm 生成结局专属 BGM | 5 个结局各有独立氛围音乐,沉浸感提升 |
---
## 七、文档索引(保持一致性)
| 文档 | 用途 |
|------|------|
| `林夏.md` §7 | 设计纲要:资产分类、角色配置、文件结构 |
| `执行文档_音频素材制作.md` | 操作步骤:环境、流程、后期、QA |
| `audio_2/项目状态说明.md` | **现行状态**:端口、目录、命令、选定音色表 |
| `audio_2/角色语音风格提示词.md` | Voice Design / 表演修饰参考 |
| `audio/batch_tts_voxcpm.py` | 台词表 `LINES` + `ROLES` 语速 |