一个跳过音频 token 的语音合成模型

多数现代 TTS 系统把语音转成离散 token、对这些 token 建模、再解码回音频。VoxCPM 出自 OpenBMB(MiniCPM 团队),走了不那么常见的路:它免 tokenizer,通过一个端到端的扩散自回归架构直接生成连续的语音表示。这个设计背后的主张是输出更自然、更有表现力,因为一路上没有任何东西被量化进一个离散词表。

当前版本 VoxCPM2 是一个建在 MiniCPM-4 骨干上的 2B 参数模型,在超过两百万小时的多语言语音上训练,覆盖 30 种语言,输出 48kHz 录音棚级音质。它是 Apache-2.0 许可、明确放开商用,而这个实用细节正是它和几个能力不错、但许可受限的同类拉开距离的地方。

最突出的功能:声音设计

凭一段参考音频克隆声音如今是基本盘,VoxCPM 提供两档:可控克隆,从一段短片段克隆,带可选的风格引导来调度情绪和语速、同时保留原始音色;以及一个极致保真模式,你同时提供参考音频和它的文字稿,模型从参考处无缝续接、抓住每一处声音细节。它还会从文本内容本身推断恰当的韵律,所以一段平淡的输入不会被迫读成平淡。更不寻常的能力是声音设计(Voice Design):你用自然语言描述一个声音,性别、年龄、音色、情绪、语速,模型就仅凭这段描述合成出一个全新的声音,完全不需要参考音频。这和只能克隆的系统是一种确实不同的工作流,当你想要一个一致的原创声音、而非别人的声音时很有用。

安装

VoxCPM 是一个 pip 包:

pip install voxcpm

硬件要求是你下注前该读的部分:Python 3.10 到(不含)3.13、PyTorch 2.5.0 或更新、CUDA 12.0 或更新。这是个 GPU 优先的模型。

一个最小合成调用:

from voxcpm import VoxCPM
import soundfile as sf

model = VoxCPM.from_pretrained("openbmb/VoxCPM2", load_denoiser=False)
wav = model.generate(
    text="VoxCPM2 generates realistic multilingual speech.",
    cfg_value=2.0,
    inference_timesteps=10,
)
sf.write("demo.wav", wav, model.tts_model.sample_rate)

如果 Hugging Face 对你慢,权重也能从 ModelScope 拉。说到服务化,项目记录的实时因子在 RTX 4090 上约 0.3,经 nano-vLLM 或 vLLM-Omni 加速后降到约 0.13。如果 2B 模型比你的硬件能承受的更重,这条血缘里还有更小的早期版本(一个 0.5B 和一个 1.5B),你可以用一些质量换更轻的体积。

issue 区揭示了什么

README 以能力开场。open issue(截至 2026-06 共 121 个)补上了运行的现实:

  • CPU 不是顺路。 一个报告的 issue 是 CLI 把 --device cpu 当成无法识别的参数拒掉,另一些帖子讲 CUDA 错误。结合 CUDA 12 的要求,就按 NVIDIA GPU 来规划;别指望在笔记本 CPU 上舒服地演示这个。
  • 存在按语言而异的杂音。 讨论最热的那个 open issue,是波兰语里词尾被截断。广覆盖不等于每种语言都同等打磨,所以测你要交付的那几种具体语言。
  • 依赖摩擦是真的。 关于 torchcodec 的帖子,指向 TTS 项目常见的那种音频栈安装之痛。给环境留出时间,而不只是给模型。

这些是一个快速演进的研究版本的正常接缝(VoxCPM2 在 2026-04 落地、此后有小版本),不是弃坑的迹象。

VoxCPM 与其它开源 TTS 模型的对比

VoxCPMfish-speechChatTTSF5-TTS
Stars28,13330,73439,42214,710
路线免 tokenizer 扩散 AR基于 token基于 tokenflow matching
凭文字设计声音
许可Apache-2.0非标准AGPL-3.0MIT

计数取自 GitHub,截至 2026 年 6 月。fish-speechChatTTS 是流行的基于 token 的系统,但留意它们的许可:ChatTTS 是 AGPL-3.0,fish-speech 带一个非标准许可,两者对商用的约束都比 VoxCPM 干净的 Apache-2.0 更紧。F5-TTS 是 MIT、也很强,但不提供文字提示的声音设计。VoxCPM 把宽松许可、声音设计和免 tokenizer 架构组合在一起,是它特定的生态位。

相关

VoxCPM 天然适合和来自 Ollama 的本地语言模型搭配,搭出一条全自托管的语音管线。关于模型生态,见 LLM 工具每日速报周报

FAQ

这里的「免 tokenizer」是什么意思? VoxCPM 直接生成连续的语音表示,而不是预测离散音频 token,作者主张这能带来更自然的输出。

我能在 CPU 上跑吗? 不舒服。它要求 CUDA 12 和 PyTorch 2.5+,且一个报告的 issue 显示 CLI 拒绝 --device cpu。按 NVIDIA GPU 来规划。

商用安全吗? 安全,权重和代码都是 Apache-2.0 许可,比好几个替代品更宽松。

声音设计是什么? 凭一段自然语言描述(性别、年龄、音色、语速)创造一个新声音,无需参考音频,区别于克隆一个已有的声音。