当语音合成扔掉字典——VoxCPM2 的连续表征革命
你对着手机说一句话,Siri 把它变成文字,再让 TTS 把文字变回语音播出来。这一来一回,语音被切碎成一个个离散的 token——就像把一幅油画拆成像素块,再重新拼回去。拼回来的图永远差那么一口气。
目录
当语音合成扔掉字典——VoxCPM2 的连续表征革命
场景开篇
你对着手机说一句话,Siri 把它变成文字,再让 TTS 把文字变回语音播出来。这一来一回,语音被切碎成一个个离散的 token——就像把一幅油画拆成像素块,再重新拼回去。拼回来的图永远差那么一口气。
2026 年 4 月,OpenBMB 发布了 VoxCPM2,做了一件反直觉的事:不拆了。文字直接生成连续的语音表征,中间没有 tokenizer,没有离散化,没有"像素块"。2B 参数,30 种语言,200 万小时训练数据,48kHz 录音棚音质,Apache-2.0 开源商用。
核心问题:为什么离散 token 是天花板?
过去五年,语音合成的主流路线是"先 tokenize 再 autoregressive"——把连续的声波编码成一串离散符号(比如 1024 种码本 token),再用语言模型预测下一个 token,最后用 vocoder 把 token 解码回声波。
这套路线成功了——VALL-E、SoundStorm、Moshi 都走这条路。但它有一个结构性瓶颈:量化损失。
想象你要描述一段从微笑到大笑的过渡。连续表征可以说"嘴角上扬 0.7 弧度,持续 0.3 秒后变成大笑"——信息无损。离散 token 只能说"token 42 → token 198 → token 7"——中间的过渡细节被量化器丢掉了。
这就是为什么传统 TTS 在以下场景总是"差点意思":
- 情感过渡:从平静到激动的渐变
- 韵律微调:同一句话的不同重音
- 音色克隆:保留说话人的细微特征
VoxCPM2 的解法:跳过 tokenizer,直接扩散
VoxCPM2 的架构是 diffusion autoregressive——自回归负责时序推进,扩散负责每一段的连续表征生成。核心组件:
1. MiniCPM-4 骨干:OpenBMB 自家的语言模型,负责理解文本语义 2. AudioVAE V2:非对称编码/解码器——编码时把 48kHz 音频压缩成连续潜表征,解码时直接输出 48kHz,内置超分辨率,不需要外部 upsampler 3. 扩散头:在潜空间做扩散生成,每一步生成一段连续语音表征
关键创新在于"连续"二字。传统离散 token 的码本大小是 1024 或 4096,信息密度有硬上限。连续表征是浮点向量,信息密度只受模型容量限制。
四种语音生成模式
VoxCPM2 提供四种模式,从简单到复杂递进:
1. 纯文本合成:输入文字,直接生成语音。30 种语言自动识别,不需要语言标签。
2. Voice Design(声音设计):用自然语言描述一个声音——"中年男性,低沉磁性,语速偏慢,带一点疲惫感"——模型凭描述生成一个全新声音。不需要参考音频。
这相当于语音合成的"文生图"——你描述特征,模型生成。区别在于图像生成有 Stable Diffusion,语音领域此前没有真正好用的 text-to-voice 方案。
3. Controllable Cloning(可控克隆):给一段短参考音频,克隆音色。同时可以加 style guidance 控制情感、语速、表达方式——保留原音色但改变说话方式。
4. Ultimate Cloning(终极克隆):给参考音频 + 对应文本,模型从参考音频无缝续接,保留每一个发声细节——音色、节奏、情感、风格全部保留。这是 VoxCPM1.5 的能力延续。
数据说话
| 指标 | 数值 |
|---|---|
| 模型参数 | 2B |
| 训练数据 | 200 万+小时 |
| 支持语言 | 30 种 |
| 采样率 | 48kHz |
| RTF (RTX 4090) | ~0.3 |
| RTF (vLLM 加速) | ~0.13 |
| 许可证 | Apache-2.0 |
30 种语言包括阿拉伯语、缅甸语、中文、丹麦语、荷兰语、英语、芬兰语、法语、德语、希腊语、希伯来语、印地语、印尼语、意大利语、日语、高棉语、韩语、老挝语、马来语、挪威语、波兰语、葡萄牙语、俄语、西班牙语、斯瓦希里语、瑞典语、他加禄语、泰语、土耳其语、越南语。中文还支持四川话、粤语、吴语、东北话、河南话、陕西话、山东话、天津话、闽南话。
为什么"tokenizer-free"是范式转换
类比一下:从 GPT-2 到 GPT-3 时代,大家都在争论 BPE vs WordPiece vs SentencePiece——都是离散 token 方案。直到连续表征模型出现,争论才被绕过。
语音合成正在经历同样的转折。当所有人都在优化"更好的码本""更好的量化器"时,VoxCPM2 直接说:这个问题不存在,因为我不用 token。
这不是渐进式改进,是路线选择。离散 token 路线的天花板是码本大小 × 预测精度;连续表征路线的天花板是模型容量 × 扩散质量。后者的天花板高得多。
开源的意义
VoxCPM2 完全开源——权重 + 代码 + Apache-2.0 商用许可。这意味着:
- 创业者可以直接拿来做产品,不需要训练模型
- 研究者可以复现和改进
- 30 种语言覆盖了全球大部分人口,特别是东南亚和非洲语言长期被商业 TTS 忽略
一句话总结
当所有人都在优化怎么把语音切得更细时,VoxCPM2 选择不切。
🔗 项目地址:https://github.com/OpenBMB/VoxCPM 🔗 在线体验:MiniCPM Wiki