VoxCPM:跳过大多数 TTS 模型依赖的分词步骤
几乎所有现代 TTS 架构——从 VALL-E 的编解码器 token,到 CosyVoice 的语义 token,再到 GPT-SoVITS 的离散码本——都会先把语音压缩成离散单元,再让模型学习预测这些单元。OpenBMB 推出的 VoxCPM 走了一条截然不同的路线:它直接在连续空间中建模语音,完全跳过离散分词。正是这一架构选择,奠定了模型两项标志性能力的基础——上下文感知韵律和真正令人信服的零样本声音克隆——并让这款中英双语模型快到足以在单张消费级 GPU 上进行流式生成。
什么是 VoxCPM?
VoxCPM 是 OpenBMB 基于 MiniCPM-4 语言模型骨干构建的无分词器文字转语音系统,采用 Apache-2.0 许可证发布。它不像多数同类系统那样把语音转换成离散 token,而是使用端到端扩散自回归架构,直接从文本生成连续语音表示,并以超过 180 万小时的中英双语音频完成训练。
VoxCPM 的功能优势
- 无分词器的连续建模,避免离散分词可能带来的信息损失,同时通过半离散瓶颈保持生成稳定性。
- 上下文感知语音生成——模型直接根据输入文本的含义推断合适的韵律与情绪基调,无需手动添加风格标签。
- 在开源系统中达到最先进的基准结果,在 SEED-TTS-EVAL 基准上超过了包括 IndexTTS2 和 CosyVoice2 在内的强劲竞争对手。
- 真正的低延迟,在消费级 NVIDIA RTX 4090 上可实现低至 0.17 的实时因子——也就是说,生成音频的速度约为最终语音播放速度的六倍。
- 逼真的零样本声音克隆,在两种支持语言上都取得了很高的说话人相似度分数。
- 开放许可并支持微调,采用 Apache-2.0 许可证发布,同时提供有监督微调(SFT)和 LoRA 适配文档,便于进一步定制模型。
无分词器生成究竟如何工作
这是让 VoxCPM 脱颖而出的架构决策,也值得理解它为何重要。离散 token TTS 系统会把语音压缩成固定的编码词表——这样做便于采用语言模型式预测,但从设计上就会造成损失,因为连续的声学细节会被取整为有限的一组离散符号。VoxCPM 则结合分层语言建模、有限标量量化(FSQ)与局部扩散 Transformer,直接生成连续语音表示,在绕过这一信息瓶颈的同时,仍将生成过程维持在足以可靠训练的稳定程度。
具体来说,FSQ 组件会生成项目所称的结构化半离散表示——它是一种折中方案,能够隐式分离高层语义内容与细粒度声学细节,同时不强迫任何一方进入完全离散的编码。正是这种隐式解耦带来了上下文感知生成能力:由于语义含义与声学质感没有纠缠在同一个表示中,模型可以根据文本的实际含义推断韵律和情绪基调,而不需要你把表达风格作为单独指令来指定。
基准测试结果
在 SEED-TTS-EVAL 基准上,VoxCPM-0.5B 报告的英语词错误率为 1.85%,中文字符错误率为 0.93%——两项结果都领先于包括 IndexTTS2 和 CosyVoice2 在内的强劲竞争对手——同时英语和中文的说话人相似度分数分别保持在 72.9% 和 77.2%。一个使用规模更小且完全公开的 Emilia 数据集训练的变体(VoxCPM-Emilia)仍取得了有竞争力的结果(英语 WER 为 2.34%,中文 CER 为 1.11%);项目据此认为,这证明了该架构的数据效率,而不是结果纯粹依赖训练集规模。在主观听感评测中,VoxCPM 在英语说话人相似度上领先,自然度得分也很高;中文方面,其自然度略逊于 IndexTTS2,但说话人相似度稍占优势——这表明 VoxCPM 的具体强项是克隆一致性,而 IndexTTS2 则在中文韵律自然度上更胜一筹。
VoxCPM 入门
- 先检查环境要求。 VoxCPM 需要 Python 3.10 或更高版本(但低于 3.13)、PyTorch 2.5.0 或更高版本,以及 CUDA 12.0 或更高版本——尝试安装前请先确认这些条件。
- 安装软件包并从 Hugging Face 拉取检查点。
openbmb/VoxCPM-0.5B是最初的双语版本;openbmb/VoxCPM1.5是 2025 年 12 月的更新版本,支持 SFT 与 LoRA 微调,并将音频输出从原版的 16kHz 提升至 44.1kHz。 - 通过
voxcpmPython 软件包加载模型。 先运行from voxcpm import VoxCPM,再调用VoxCPM.from_pretrained("openbmb/VoxCPM-0.5B"),只需几行代码即可获得可用的模型对象。 - 使用
model.generate()生成音频。 传入目标文本以及cfg_value(无分类器引导强度)、inference_timesteps等生成参数,然后使用soundfile之类的库写出返回的波形。 - 如果访问 Hugging Face 较慢,可使用 ModelScope 作为替代下载源。 项目文档将其列为拉取相同权重的直接替代方式。
- 在开展初步测试以外的工作前,请克隆 GitHub 仓库(
OpenBMB/VoxCPM),查看完整快速入门文档、演示脚本和许可详情。
获得更好结果的技巧
- 让上下文感知生成发挥作用,不要过度指定风格。 模型已经会根据文本含义推断韵律和情绪,因此,自然地写出具有描述性的输入文本,往往比通过模型原本不支持的变通办法强行指定表达方式效果更好。
- 新项目应使用 VoxCPM1.5,而不是最初的 0.5B 版本。 升级后的 44.1kHz 音频输出和新增微调支持,使其成为更实用的起点,除非你有使用早期版本的特定理由。
- 针对特定声音或领域使用 LoRA 微调,而不是完整重训。 鉴于已有文档说明 LoRA 支持,如果你需要让模型在零样本克隆之外适配特定声音或内容风格,这是一条资源效率更高的路径。
- 现阶段应把它视为研究级软件,而不是可直接投入生产的商业产品。 项目自己的模型卡明确说明,该模型为研究与开发用途发布;若没有先进行严格的独立测试与安全评估,不建议用于生产或商业场景。
- 要获得可靠结果,请坚持使用中文和英文。 其他语言的性能没有保证,可能产生不可预测或低质量的输出,因为模型的核心训练数据专门面向中英双语,而非广泛的多语言场景。
VoxCPM 与其他强劲中英双语克隆模型对比
| VoxCPM | IndexTTS2 | CosyVoice2 | |
|---|---|---|---|
| 核心表示 | 无分词器、连续表示 + FSQ 半离散表示 | 离散 token | 有监督语义 token |
| 英语 WER(SEED-TTS-EVAL) | 1.85% | 更高 | 更高 |
| 中文 CER(SEED-TTS-EVAL) | 0.93% | 更高 | 更高 |
| 中文自然度(主观) | 很强,略逊于 IndexTTS2 | 领先 | 很强 |
| 说话人相似度 | 英语和中文均领先 | 有竞争力 | 有竞争力 |
| 风格/情绪控制 | 自动推断,感知上下文 | 时长控制 + 情绪与音色解耦 | 基于指令 |
| 许可证 | Apache-2.0 | Bilibili 模型许可证(商业使用需授权) | 开放,提供托管 API |
VoxCPM 的独特优势在于一项真正不同的架构选择——采用连续表示而非离散分词——它直接转化为基准数字与低延迟流式生成方面的成果,使 VoxCPM 尤其适合中英双语工作;不过,与围绕显式指令式表达构建的模型相比,无法直接手动控制风格确实是它的一项取舍。
常见问题
对 VoxCPM 来说,“无分词器”是什么意思?
这意味着 VoxCPM 会直接生成连续语音表示,而不是像大多数同类 TTS 系统那样,先把语音压缩成离散 token 词表;这种方法旨在避免离散分词可能引入的信息损失。
我能直接控制 VoxCPM 的情绪或说话风格吗?
当前版本无法通过显式手动控件实现。模型会转而根据输入文本的含义自动推断合适的韵律与情绪;项目自己的文档指出,对于明确需要直接风格控制的人来说,这也是当前的一项限制。
VoxCPM 已经适合生产或商业使用了吗?
项目自己的模型卡将该版本明确描述为研究与开发用途,并建议在没有先进行严格的独立测试与安全评估时,不要这样使用。
VoxCPM 支持中文和英文以外的语言吗?
不能可靠支持。它是专门作为中英双语模型训练的,其他语言的性能没有保证。如果你需要更广泛的语言覆盖,另一个较新的独立版本 VoxCPM2 扩展到了 20 亿参数、30 种语言,并增加了声音设计能力。
VoxCPM 有多快?
它在消费级 RTX 4090 上可达到低至 0.17 的实时因子,这意味着生成速度约为最终音频自身播放速度的六倍。
在浏览器中把文字转换为语音
如果你希望完成相近的“文字 → 单人语音”流程,可以使用 Echora 的文字转语音。输入最多 5,000 个字符,选择内置音色或已保存的自定义音色,按需添加支持的表达标签并调整语音稳定度,然后试听结果并下载生成的 MP3。