- 删除 03_gen_tts_gptsovits.py、00_transcribe_refs.py、ref_texts.json - 删除 02_gen_tts_fishspeech.py 及 tts/v2_fishspeech/ 生成结果 - 保留 VoxCPM2 / ACE-Step / Stable Audio 三条链路 - 更新执行文档和技术报告,清除两款 TTS 的所有引用 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4.8 KiB
4.8 KiB
《林夏》音频资源重制执行文档
创建日期:2026-05-20
目标:独立生成一套 TTS 语音 + 两套音乐音效,供对比选择
游戏代码不做任何修改,audio_1/ 仅用于评听比较
一、目录结构
audio_1/
├── 执行文档.md ← 本文件
├── tts/
│ └── v1_voxcpm2/ TTS版本1:VoxCPM2(原方案复刻)
└── music/
├── v1_acestep/ 音乐版本1:ACE-Step 1.5(原方案复刻)
│ ├── music/
│ ├── sfx/
│ └── ambience/
└── v2_stableaudio/ 音乐版本2:Stable Audio Open 1.0
├── music/
├── sfx/
└── ambience/
文件命名规则: 与 audio/mp3/tts/ 完全相同(如 v2_msg02_linxia_warm_wav_v1.mp3)
→ 若要上游切换到某版本,只需将对应目录复制覆盖 audio/mp3/tts/ 即可
二、资源清单
| 类别 | 文件数 | 说明 |
|---|---|---|
| TTS — NPC 来电语音 | ~30 | lv11_* 开头,妈妈/小美/外卖/阿哲等11个角色 |
| TTS — 林夏回应 | ~90 | v2_msg*linxia* |
| TTS — NPC 反应 | ~60 | v2_msg*react* |
| TTS — 系统提示 | 4 | v2_sys_* |
| TTS — 结局旁白 | 7 | v2_ending_* |
| TTS 合计 | ~190 | |
| 音乐 BGM | 4 | lv11_bgm_m1~m4 |
| 铃声 | 9 | lv11_ring_* |
| 音效 SFX | 18 | sfx_* |
| 环境氛围 | 6 | amb_* |
| 音乐合计/版本 | 37 | × 2 版本 = 74个文件 |
三、技术方案
音乐工具对比
| 项目 | v1 ACE-Step | v2 Stable Audio |
|---|---|---|
| conda 环境 | acestep | stableaudio |
| 优势 | 已验证效果,可控 seed | 44.1kHz 立体声,音效更真实 |
| 劣势 | 音乐结构感强,SFX 偏长 | 不擅长节奏明确的循环 BGM |
| 最适合 | BGM + 铃声 | SFX + 环境氛围 |
四、执行步骤
步骤 0:准备工作(一次性)
# 创建目录
mkdir -p /home/xsl/blind/audio_1/tts/v1_voxcpm2
mkdir -p /home/xsl/blind/audio_1/music/v1_acestep/{music,sfx,ambience}
mkdir -p /home/xsl/blind/audio_1/music/v2_stableaudio/{music,sfx,ambience}
步骤 1:TTS v1 — VoxCPM2
# 确认服务运行
curl http://127.0.0.1:8000/health
# 执行批量生成(输出到 audio_1/tts/v1_voxcpm2/)
python audio_1/scripts/01_gen_tts_voxcpm2.py
预计耗时:约 90 分钟(~190条 × ~30s/条)
步骤 2:音乐 v1 — ACE-Step
conda activate acestep
python audio_1/scripts/04_gen_music_acestep.py
预计耗时:约 60 分钟(37 条,每条 20~90s)
步骤 3:音乐 v2 — Stable Audio
conda activate stableaudio
python audio_1/scripts/05_gen_music_stableaudio.py
预计耗时:约 90 分钟(37 条,每条 ~2min)
步骤 4:格式统一
# 所有版本统一转为 mp3 128kbps 24kHz mono
python audio_1/scripts/06_convert_all_to_mp3.py
五、脚本清单
| 脚本 | 职责 |
|---|---|
scripts/01_gen_tts_voxcpm2.py |
VoxCPM2 批量 TTS,输出到 tts/v1_voxcpm2/ |
scripts/04_gen_music_acestep.py |
ACE-Step 批量生成,输出到 music/v1_acestep/ |
scripts/05_gen_music_stableaudio.py |
Stable Audio 批量生成,输出到 music/v2_stableaudio/ |
scripts/06_convert_all_to_mp3.py |
WAV → MP3 统一格式转换 |
六、角色参考音频路径
| 角色 key | 参考音频 | 语速倍率 |
|---|---|---|
| linxia | voice/linxia/linxia_ref.wav | 1.00 |
| mom | voice/mom/mom_extra_04.wav | 0.92 |
| azhe | voice/azhe/azhe_extra_05.wav | 1.05 |
| xiaomei | voice/xiaomei/xiaomei_03.wav | 1.10 |
| xiaomei_drunk | voice/xiaomei/xiaomei_03.wav | 0.95 |
| zhounan | voice/zhounan/zhounan_extra_10.wav | 0.95 |
| hr | voice/hr/hr_extra_18.wav | 1.00 |
| anan | voice/anan/anan_extra_13.wav | 1.15 |
| dorm_a | voice/dorm_a/000017e3-...wav | 1.10 |
| dorm_b | voice/dorm_b/a001c446-...wav | 1.00 |
| dorm_c | voice/dorm_c/dorm_c_extra_15.wav | 0.95 |
| delivery | voice/delivery/delivery_01.wav | 1.20 |
| self_3y | voice/linxia/linxia_ref.wav | 1.15 |
七、评听方式(完成后)
所有文件名与游戏引用完全一致。评听时可临时替换:
# 备份原版本
cp -r audio/mp3/tts audio/mp3/tts_original
# 试听某个 TTS 版本
cp -r audio_1/tts/v1_voxcpm2/* audio/mp3/tts/
# 试听音乐版本
cp -r audio_1/music/v2_stableaudio/* audio/mp3/
八、进度记录
| 步骤 | 状态 | 完成时间 | 备注 |
|---|---|---|---|
| 步骤 0:准备(创建目录) | ⬜ 待执行 | — | — |
| 步骤 1:TTS v1 VoxCPM2 | ⬜ 待执行 | — | — |
| 步骤 2:音乐 v1 ACE-Step | ⬜ 待执行 | — | — |
| 步骤 3:音乐 v2 Stable Audio | ⬜ 待执行 | — | — |
| 步骤 4:格式转换 | ⬜ 待执行 | — | — |