VoxCPM — 免分词 TTS 语音合成,30 种语言开箱即用¶
[!info] 视频信息 - 频道:GitCovery - 时长:约 7 分钟 - GitHub:https://github.com/OpenBMB/VoxCPM - 官网:https://voxcpm.net - 论文:https://arxiv.org/html/2509.24650v1
一句话总结¶
VoxCPM2 用 扩散自回归(Diffusion Autoregressive) 架构绕过传统离散 tokenization,在 2B 参数规模上实现了 30 种语言、48kHz 录音室级音质、完全免费商用的端到端 TTS。
为什么值得关注¶
| 维度 | VoxCPM2 的表现 |
|---|---|
| 语言覆盖 | 30 种语言 + 9 种中文方言 |
| 音质 | 48kHz 录音室级 |
| 延迟 | RTF ~0.3 (PyTorch) / ~0.13 (Nano-vLLM) |
| 许可 | Apache-2.0,可商用 |
| 硬件门槛 | VRAM ~8GB(消费级显卡可跑) |
| 训练数据 | 200 万+小时多语言语音 |
传统 TTS 模型(如 VITS、Bark)的痛点在于:离散 token 会导致音质损失、多语言扩展困难。VoxCPM2 直接在连续潜变量空间生成语音,从根本上解决了这个问题。
传统 TTS Pipeline:
Text --> [Tokenizer] --> Discrete Tokens --> [Vocoder] --> Waveform
^^^ 信息瓶颈
VoxCPM2 Pipeline:
Text --> [MiniCPM-4 LLM] --> Continuous Latents --> [AudioVAE V2] --> 48kHz Waveform
^^^ 无信息瓶颈,端到端优化
架构解析¶
VoxCPM2 的核心创新在于分层语言建模 + FSQ 约束连续潜变量,整体架构如下:
┌─────────────────────────────────────────────────────┐
│ VoxCPM2 │
│ │
│ ┌───────────┐ ┌──────────────────┐ │
│ │ Input Text │───>│ MiniCPM-4 LLM │ │
│ │ │ │ (语言模型骨干) │ │
│ └───────────┘ └───────┬──────────┘ │
│ │ │
│ ┌──────▼──────┐ │
│ │ FSQ Encoder │ ← 约束连续潜变量 │
│ └──────┬──────┘ │
│ │ │
│ ┌───────────▼───────────┐ │
│ │ Diffusion Autoregressive │ │
│ │ (扩散自回归生成) │ │
│ └───────────┬───────────┘ │
│ │ │
│ ┌───────────▼───────────┐ │
│ │ AudioVAE V2 │ │
│ │ 16kHz → 48kHz 上采样 │ │
│ └───────────┬───────────┘ │
│ │ │
│ 48kHz Waveform │
└─────────────────────────────────────────────────────┘
关键组件说明¶
组件 作用 优势
─────────────────────────────────────────────────────
MiniCPM-4 语言模型骨干 强大的语义理解与上下文感知
FSQ (Finite 约束连续潜变量 避免 token 化的信息损失
Scalar Quant.)
Diffusion AR 逐步精炼音频质量 比 AR 更稳定,比纯扩散更快
AudioVAE V2 高分辨率上采样 16kHz → 48kHz 保真度极高
[!tip] 核心设计理念 语义与声学的隐式解耦:不需要显式分离"说什么"和"怎么说",模型通过连续表示隐式学习两者关系,让 Context-Aware 表现力成为自然涌现。
核心功能详解¶
功能全景¶
┌────────────────────────────────────────────────────────────┐
│ VoxCPM2 功能矩阵 │
├──────────────┬─────────────────────────────────────────────┤
│ │ 需要参考音频? 需要转录文本? 需要风格描述? │
├──────────────┼─────────────────────────────────────────────┤
│ Voice Design │ ❌ ❌ ✅ │
│ Controllable │ ✅ ❌ ✅ │
│ Cloning │ │
│ Ultimate │ ✅ ✅ ❌ │
│ Cloning │ │
│ Context-Aware│ ❌ ❌ ❌ (自动推断) │
└──────────────┴─────────────────────────────────────────────┘
1. Voice Design — 文本创造声音¶
纯文本描述即可生成特定音色,无需任何参考音频:
from voxcpm import VoxCPM
import soundfile as sf
model = VoxCPM.from_pretrained("openbmb/VoxCPM2")
# 括号内描述声音特征,括号外是实际朗读内容
wav = model.generate(
text="(A young woman, gentle and sweet voice)Hello, welcome to our show!"
)
sf.write("voice_design.wav", wav, model.tts_model.sample_rate)
[!example] 描述语法 格式为
(描述)正文,描述支持: - 性别与年龄:A middle-aged man、An elderly woman- 音色特征:warm and deep voice、clear and bright- 情感风格:excited、calm、professional
2. Controllable Cloning — 可控声音克隆¶
提供参考音频 + 风格引导,灵活控制输出:
wav = model.generate(
text="这是可控克隆的示例",
prompt_audio="reference.wav", # 参考音频
prompt_style="excited, fast-paced" # 风格引导
)
3. Ultimate Cloning — 终极声音克隆¶
参考音频 + 转录文本 → 忠实复制所有声音细节(包括呼吸、停顿、语调):
wav = model.generate(
text="这是新的朗读内容",
prompt_audio="reference.wav",
prompt_transcript="这是参考音频的转录文本"
)
4. 流式合成 — 实时输出¶
chunks = []
for chunk in model.generate_streaming(text="流式语音合成示例,适合实时应用场景"):
chunks.append(chunk)
# 每个 chunk 可立即播放/发送
环境配置与安装¶
依赖要求¶
┌──────────────────────┬──────────────────┐
│ 组件 │ 最低版本 │
├──────────────────────┼──────────────────┤
│ Python │ ≥ 3.10 │
│ PyTorch │ ≥ 2.5.0 │
│ CUDA │ ≥ 12.0 │
│ GPU VRAM │ ≥ 8 GB │
└──────────────────────┴──────────────────┘
安装与快速开始¶
# 安装
pip install voxcpm
# 验证安装
python -c "from voxcpm import VoxCPM; print('OK')"
from voxcpm import VoxCPM
import soundfile as sf
# 加载模型
model = VoxCPM.from_pretrained("openbmb/VoxCPM2")
# 生成语音
wav = model.generate(
text="Hello! VoxCPM makes your app speak.",
cfg_value=2.0, # Classifier-Free Guidance 值
inference_timesteps=10 # 扩散步数(质量 vs 速度权衡)
)
# 保存为 WAV
sf.write("output.wav", wav, model.tts_model.sample_rate)
参数调优决策树¶
需要更高质量?
├── YES → 提高 inference_timesteps (10 → 20)
│ ⚠️ 速度会下降约 2 倍
└── NO → 保持默认 10
音频听不准/发音错误?
├── YES → 提高 cfg_value (2.0 → 3.0)
│ ⚠️ 过高可能导致音质失真
└── NO → 保持默认 2.0
生成太慢?
├── YES → 切换到 Nano-vLLM 推理
│ RTF 从 ~0.3 降至 ~0.13
└── NO → 保持 PyTorch 推理
版本对比与选型¶
VoxCPM2 VoxCPM1.5 VoxCPM-0.5B
═════════ ═══════════ ════════════
参数规模 2B 0.6B 0.5B
采样率 48kHz 44.1kHz 16kHz
语言数量 30+方言 2 2
Voice Design ✅ ❌ ❌
终极克隆 ✅ ✅ ❌
VRAM 需求 ~8GB ~6GB ~5GB
音质评级 ★★★★★ ★★★★ ★★★
适用场景 生产级部署 轻量应用 嵌入式/原型
选型建议¶
你的场景?
│
├── 生产环境、高质量要求
│ └── VoxCPM2(48kHz + 30 语言)
│
├── 资源受限、只需要中英文
│ └── VoxCPM1.5(性价比之选)
│
└── 快速原型验证 / 嵌入式设备
└── VoxCPM-0.5B(5GB VRAM 即可)
生产部署方案¶
部署路径对比¶
┌────────────┬──────────────────┬──────────────────┬──────────────────┐
│ 方案 │ PyTorch 直接 │ Nano-vLLM │ vLLM-Omni │
├────────────┼──────────────────┼──────────────────┼──────────────────┤
│ RTF (4090) │ ~0.3 │ ~0.13 │ ~0.13 │
│ 并发支持 │ 单线程 │ 批量并发 │ 多租户 │
│ API 兼容 │ 自定义 │ FastAPI HTTP │ OpenAI 兼容 │
│ KV Cache │ 无 │ 无 │ PagedAttention │
│ 适用场景 │ 开发/测试 │ 中等规模生产 │ 大规模多租户 │
│ 部署复杂度 │ ★ │ ★★ │ ★★★ │
└────────────┴──────────────────┴──────────────────┴──────────────────┘
Nano-vLLM 快速部署¶
# 安装
pip install nano-vllm
# 启动服务(FastAPI HTTP)
python -m nano_vllm.serve \
--model openbmb/VoxCPM2 \
--host 0.0.0.0 \
--port 8000
Fine-Tuning — 定制化声音¶
仅需 5-10 分钟的参考音频即可微调:
微调方式选择:
│
├── 数据充足(>1小时) → SFT 全量微调
│ └── 效果最好,需要更多资源
│
└── 数据有限(5-10分钟) → LoRA 低秩适配
└── 资源友好,效果仍然优秀
最佳实践¶
1. 音质优化清单¶
- ✅
cfg_value设为 2.0-3.0,过高会失真 - ✅
inference_timesteps设为 10-20,按需权衡 - ✅ 使用 48kHz 输出,避免二次重采样
- ✅ 长文本建议分段合成再拼接
- ❌ 不要在 CPU 上运行(太慢且音质下降)
2. 多语言注意事项¶
中文:
├── 普通话 → 直接使用
├── 粤语 / 台湾话 / 客家话等方言 → 模型原生支持
└── 混合中英文 → 可在 text 中直接混合
其他语言:
├── 标注 ISO 代码可提升准确率
└── 复杂专有名词 → 考虑 Ultimate Cloning 用参考音频兜底
3. 与其他 TTS 方案对比¶
┌──────────────────┬───────────┬──────────┬──────────┬──────────┐
│ 特性 │ VoxCPM2 │ Bark │ VITS │ ChatTTS │
├──────────────────┼───────────┼──────────┼──────────┼──────────┤
│ 开源许可 │ Apache-2 │ MIT │ MIT │ MIT │
│ 可商用 │ ✅ │ ✅ │ ✅ │ ✅ │
│ 采样率 │ 48kHz │ 24kHz │ 可变 │ 24kHz │
│ 语言数 │ 30+ │ 多语种 │ 依训练 │ 中/英 │
│ Voice Design │ ✅ │ ❌ │ ❌ │ ❌ │
│ 声音克隆 │ ✅ │ 有限 │ ❌ │ ✅ │
│ VRAM │ ~8GB │ ~4GB │ ~2GB │ ~4GB │
│ Tokenizer-Free │ ✅ │ ❌ │ ❌ │ ❌ │
└──────────────────┴───────────┴──────────┴──────────┴──────────┘
相关资源¶
- 📦 GitHub:https://github.com/OpenBMB/VoxCPM
- 🌐 官网:https://voxcpm.net
- 📄 论文:https://arxiv.org/html/2509.24650v1
- 🎥 视频:https://youtu.be/PRfoDcoPGOw
- 🏗️ MiniCPM:https://github.com/OpenBMB/MiniCPM
[!quote] 总结 VoxCPM2 的 tokenizer-free 路线是 TTS 领域的一次重要进步:通过连续潜变量空间直接生成语音,兼顾了音质、多语言覆盖和可商用许可。2B 参数 + 8GB VRAM 的硬件门槛使其对个人开发者和中小企业都很友好。Voice Design 功能尤其值得关注——它让"用文字描述声音"成为可能,极大降低了语音合成的使用门槛。