VoxCPM2:OpenBMB 开源的无 Tokenizer 多语言语音合成与声音克隆模型
摘要
VoxCPM2 是 OpenBMB 推出的开源多语言语音合成模型,采用无离散语音 Token 的扩散自回归架构,支持 30 种语言、声音设计、可控克隆、48kHz 输出、流式推理以及多种生产部署方案。
本文目录
VoxCPM2:OpenBMB开源的无 Tokenizer多语言语音合成与声音克隆模型
VoxCPM2是 OpenBMB推出的开源文本转语音模型,也是 VoxCPM系列当前的主力版本。它没有沿用常见的离散语音 Token路线,而是直接在连续语音表征上进行生成,通过扩散自回归架构完成端到端语音合成。对开发者来说,它不只是一个“把文字念出来”的 TTS模型,还把多语言合成、声音设计、可控声音克隆、流式生成和部署能力放进了同一套体系里。
VoxCPM2采用约20亿参数规模,并在超过200万小时的多语言语音数据上训练,官方列出的支持范围达到30种语言,同时覆盖四川话、粤语、吴语、东北话、河南话、陕西话、山东话、天津话和闽南话等中文方言。模型可以根据输入文本直接判断语言,不要求用户额外传入语言标签,这让多语言内容生产和跨语言语音服务的调用流程更简单。
它和常见 TTS最大的不同
VoxCPM2的核心思路是绕过离散语音 Token化,直接生成连续语音潜变量。模型工作在 AudioVAE V2的潜空间中,整体流程由 LocEnc、文本语义语言模型 TSLM、残差声学语言模型 RALM和 LocDiT等模块组成。这样的设计目标,是尽量减少语音离散化带来的信息损失,同时保留更多音色、节奏、情绪和细节。

VoxCPM2 官方模型架构图,展示 TSLM、RALM、LocDiT 与 AudioVAE V2 的语音生成流程。
官方版本还把输出采样率提升到48kHz。参考音频可以是16kHz,AudioVAE V2通过非对称编码与解码设计直接生成48kHz音频,不需要再额外接一个外部升采样器。对于播客、视频旁白、角色语音、课程配音和语音产品原型,这一点比单纯追求模型参数规模更实际。
四种最值得关注的生成方式
VoxCPM2的基础能力是普通文本转语音,但真正拉开使用场景差异的是声音设计和声音克隆。Voice Design可以只根据自然语言描述创建一个新声音,例如指定年龄、性别、语气、情绪和语速,不需要提供参考音频;Controllable Voice Cloning则是在短参考音频上克隆音色,同时允许继续用文字指令控制情绪、节奏和表达方式。
如果需要尽可能保留原始说话人的细节,还可以使用 Ultimate Cloning。这个模式同时提供参考音频和对应文本,模型以音频续写的方式延续原始声音特征,重点保留音色、节奏、情绪和说话风格。除此之外,模型还支持根据文本上下文自动推断韵律与表达,不必为每一句话手工标注情绪参数。
多语言、流式推理与生产部署
VoxCPM2支持阿拉伯语、中文、英语、法语、德语、日语、韩语、西班牙语、俄语、葡萄牙语、泰语、越南语等30种语言。对于跨境内容、游戏角色、国际化客服、知识产品和短视频配音,这种单模型覆盖多语言的方式能减少维护多套 TTS系统的复杂度。
在实时性方面,官方给出的 RTX 4090数据中,标准 PyTorch实现的 RTF最低约为0.3;配合 Nano-vLLM或 vLLM-Omni,官方资料给出的最低 RTF可进一步到约0.13。项目也提供流式生成接口,适合语音助手、实时播报和边生成边播放的交互场景。对于生产服务,VoxCPM2已经提供 Nano-vLLM和 vLLM-Omni路线,其中 vLLM-Omni支持 OpenAI兼容的语音接口;边缘和本地部署则可以使用基于 llama.cpp的 llama.cpp-omni,并支持 CPU、Metal、CUDA和 Vulkan。
安装与最小调用示例
项目已经发布 Python包,基础环境要求是 Python 3.10至3.12、PyTorch 2.5.0及以上;CUDA场景下官方建议 CUDA 12.0及以上。
pip install voxcpm最简单的文本转语音调用可以直接加载 VoxCPM2:
from voxcpm import VoxCPM
import soundfile as sf
model = VoxCPM.from_pretrained(
"openbmb/VoxCPM2",
load_denoiser=False,
)wav = model.generate(
text="欢迎使用 VoxCPM2。",
cfg_value=2.0,
inference_timesteps=10,
seed=42,
)sf.write("demo.wav", wav, model.tts_model.sample_rate)如果希望直接根据描述创建新音色,可以把声音描述写在文本开头:
wav = model.generate(
text="(年轻女声,温柔、自然、略带微笑)欢迎来到今天的节目。",
cfg_value=2.0,
inference_timesteps=10,
seed=42,
)声音克隆则通过参考音频完成:
wav = model.generate(
text="这是一段使用参考音色生成的语音。",
reference_wav_path="path/to/voice.wav",
)开源许可和使用边界
VoxCPM2的模型权重和代码以 Apache-2.0许可证开源,官方将其定位为可用于商业开发的开放模型。不过,声音克隆本身涉及真实人物音色、授权、隐私和当地法律要求,实际产品仍然需要开发者自行确认参考音频来源和使用范围。模型能力强并不等于可以忽略声音权利问题,尤其是在广告、客服、数字人和公开传播场景中。
从当前项目形态看,VoxCPM2已经不只是一个研究演示模型:它同时提供 Python API、CLI、Web Demo、流式生成、LoRA/SFT微调以及多种生产部署路径。对于希望搭建本地 TTS、声音克隆、角色语音或多语言语音服务的开发者,这个项目值得直接放进候选列表里实际测试。