不用分词器,直接生成语音:VoxCPM2 端到端 TTS 实战
传统 TTS 的致命弱点:离散 token 化
市面上的主流 TTS 系统——ElevenLabs、MiniMax-Speech、Qwen3-TTS——有一个共同的底层设计:先把连续音频离散化为 token,再用语言模型逐个预测下一个 token。
这个方案有两个根本性问题:

1. 信息损失:离散化会丢掉呼吸细节、音高颤动、情绪起伏等连续信号里的"软"信息
2. 计算效率:高采样率音频 token 序列极长,推理成本居高不下
VoxCPM2 选择了完全不同的路——全程在连续潜空间做扩散自回归,连 tokenizer 都不要了。
VoxCPM2 核心架构:四阶连续潜空间管道
VoxCPM2 基于 MiniCPM-4(2B 参数)主干构建,整个生成流程分四个阶段,全部在 AudioVAE V2 的连续潜空间里运行:
| 阶段 | 名称 | 作用 |
|---|---|---|
| 1 | Local Encoder(局部编码器) | 把输入音频切成 patch,编码为紧凑的局部表示,大幅缩短序列长度 |
| 2 | Text-Semantic LM(文本语义语言模型) | 联合处理文本 token 与音频嵌入,捕捉"说什么"——语速、停顿、重音等高层规划 |
| 3 | Residual Acoustic LM(残差声学语言模型) | 融合语义层与声学层,填补"怎么说"的细节鸿沟 |
| 4 | Local DiT / CFM(局部条件流匹配扩散) | 以扩散自回归方式在每个 AR 步生成高质量音频 patch |
最后由 AudioVAE V2 解码为 48kHz 原始波形——无需外部超采样器。

核心能力一览
- 30 种语言 + 9 种中文方言:无需语言标签,自动从文本判断
- Voice Design:用自然语言描述声音特征(性别/年龄/语气/情绪/语速),无需参考音频即可生成全新音色
- 可控语音克隆:提供短音频片段 + 可选风格引导参数,保留音色同时调节情感倾向
- 48kHz 录音棚音质:内置 AudioVAE V2 超分,16kHz 参考音频直接上采样至 48kHz 输出
- RTF 低至 0.13(RTX 4090,Nano-VLLM 加速)
- Apache-2.0:可商用
五行代码跑起来
安装
pip install voxcpm
Voice Design:从文字描述"捏"声音
import soundfile as sf
from voxcpm import VoxCPM
model = VoxCPM.from_pretrained("openbmb/VoxCPM2")
wav = model.generate(
text="(温暖柔和的女性声音,30岁左右,沉稳舒缓的语气) "
"欢迎使用 VoxCPM 2,这是新一代自然语音合成系统。",
cfg_value=2.0,
inference_timesteps=10,
)
sf.write("voice_design.wav", wav, model.tts_model.sample_rate)

语音克隆:保留音色,控制风格
import soundfile as sf
from voxcpm import VoxCPM
model = VoxCPM.from_pretrained("openbmb/VoxCPM2")
wav = model.generate(
text="这段文字将用参考音色朗读,同时保留情感风格标签。",
reference_wav_path="reference.wav", # 克隆音色
cfg_value=2.0,
)
sf.write("cloned.wav", wav, model.tts_model.sample_rate)
注意:RTF 受显卡带宽影响明显。实测 RTX 4090 上约 0.13,RTX 3090 或更低显卡请预留更长等待时间。
版本演进:VoxCPM 2 vs 1.x vs 0
| 指标 | VoxCPM 2 | VoxCPM 1.5 | VoxCPM 0 |
|---|---|---|---|
| 参数量 | 2B | 0.6B | 0.5B |
| 输出采样率 | 48kHz | 44.1kHz | 16kHz |
| 语言数 | 30 种 | 中英 | 中英 |
| 克隆模式 | 隔离参考 + 续接 | 续接 | 续接 |
| Voice Design | ✅ | — | — |
| RTF(Nano-VLLM) | ~0.13 | ~0.08 | ~0.10 |
| VRAM | ~8 GB | ~6 GB | ~5 GB |
VoxCPM2 vs 竞品横向对比
在 Minimax-MLS 基准测试中,VoxCPM2 的英文音色相似度达到 85.4%,而 ElevenLabs 为 61.3%——差距相当悬殊。

不过需要客观看待:VoxCPM2 在清晰度(Intelligibility)指标上仍略低于 Qwen3-TTS,且不支持 FishAudio S2 的部分高级定制能力。它的核心优势在于无需任何预处理、直接端到端的生产级体验。
排坑指南
显存不足(OOM)
2B 模型 + 扩散推理显存占用约 8GB,建议:
# 使用量化或减少 batch
model.generate(..., max_seq_len=4096) # 限制序列长度降显存
推理速度慢
- 确认使用了
Nano-VLLM加速模式,RTF 可从 0.30 降至 0.13 - CPU 推理不推荐,实时流式输出最低要求 RTX 3060 以上
克隆声音不像
- 参考音频时长建议 5-30 秒,过短(<3s)信息不足
- 参考音频质量要好,避免噪声过大,16kHz 以上采样率优先
- 续接克隆(
prompt_wav_path)与隔离克隆(reference_wav_path)不要混淆,前者用于短 Prompt 续写,后者用于结构化克隆
中文方言识别不稳定
VoxCPM2 支持 9 种中文方言,但方言自动检测仍有误触发概率。关键场景下可在文本描述中显式标注方言,例如:
text="(四川话,语速稍快) 今天我们去吃火锅嘛"
在线体验
- Hugging Face Demo:https://huggingface.co/spaces/OpenBMB/VoxCPM-Demo
- GitHub:https://github.com/OpenBMB/VoxCPM
- 模型下载:https://huggingface.co/openbmb/VoxCPM2
- 文档:https://voxcpm.readthedocs.io
总结
VoxCPM2 真正有价值的地方不是某个单一指标,而是一个设计哲学:语音合成应该像文本生成一样自然——直接端到端,无需离散化中介。四阶段连续潜空间管道证明这条路走得通,而且走得很好。
如果你需要: - 快速生成高质量配音:Voice Design + 5 行代码,零门槛 - 产品化语音克隆:隔离参考机制解决了 1.x 时代"续接才能克隆"的硬伤 - 多语言内容生产:30 种语言 + 中文方言,无需任何语言标签配置
VoxCPM2 是目前开源生态里最值得优先测试的选项。