VoxCPM
一句话简介
OpenBMB 推出的开源 Python 项目,提供语音合成与处理相关能力,支持高效的文本到语音生成及音频建模任务。
标签
适用应用场景
- 文本转语音合成
- 语音克隆与定制
- 多语言语音生成
- 音频内容创作
README 中文摘要
项目概述
VoxCPM 是一个无分词器(tokenizer-free)的端到端语音合成系统。它通过扩散自回归架构直接生成连续的语音表征,绕开了离散分词,从而实现高自然度与高表现力的合成效果。
VoxCPM2 是当前最新主版本,基于 MiniCPM-4 主干网络,参数量为 2B,训练数据超过 200 万小时多语言语音,原生输出 48kHz 录音棚级音质,并支持 30 种语言。
核心特性
- 多语言合成: 支持 30 种语言直接合成,无需指定语言标签;同时覆盖四川话、粤语、吴语、东北话、河南话、陕西话、山东话、天津话、闽南话等中文方言。
- Voice Design 声音设计: 仅凭自然语言描述(性别、年龄、语气、情绪、语速等)即可创建全新声音,无需参考音频。
- 可控声音克隆: 上传一段短参考音频即可克隆音色,可选风格指令调整情绪、语速、表现力。
- 终极克隆: 同时提供参考音频及其文本转录,模型以音频续接方式还原音色、节奏、情绪、风格等所有细节。
- 48kHz 高品质音频: 接收 16kHz 参考音频,经 AudioVAE V2 非对称编解码设计直接输出 48kHz 音频,内置超分模块。
- 上下文感知合成: 根据文本内容自动推断韵律与表现力。
- 实时流式合成: 在 RTX 4090 上 RTF 低至 0.3;使用 Nano-vLLM 或 vLLM-Omni 加速后 RTF 可降至 0.13。
- 完全开源: 权重与代码遵循 Apache-2.0,可商用。
技术架构
VoxCPM2 在 AudioVAE V2 潜空间中运行,采用四阶段流水线: LocEnc → TSLM → RALM → LocDiT,实现丰富表现力与 48kHz 原生音频输出。
安装与 Python API
环境要求:Python ≥ 3.10(<3.13)、PyTorch ≥ 2.5.0、CUDA ≥ 12.0。
pip install voxcpm
基础文本合成:
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="(年轻女性,温柔甜美音色)你好,欢迎使用 VoxCPM2!",
cfg_value=2.0, inference_timesteps=10, seed=42,
)
可控克隆与终极克隆:通过 reference_wav_path 提供参考音频;终极克隆还需传入 prompt_wav_path 与 prompt_text。
流式 API:
chunks = [c for c in model.generate_streaming(text="流式合成示例。")]
sf.write("streaming.wav", np.concatenate(chunks), model.tts_model.sample_rate)
CLI 与 Web Demo
voxcpm design --text "示例文本" --output out.wav
voxcpm design --text "示例" --control "青年女声,温暖" --output out.wav
voxcpm clone --text "示例" --reference-audio voice.wav --output out.wav
voxcpm clone --text "示例" --prompt-audio voice.wav --prompt-text "转录" --output out.wav
voxcpm batch --input examples/input.txt --output-dir outs
Web 界面: python app.py --port 8808,通过 --device 选择 auto/cpu/mps/cuda/cuda:N。
生产部署
- Nano-vLLM: 专用推理引擎,RTF 约 0.13,支持批量并发与 FastAPI 服务。
- vLLM-Omni: vLLM 官方 omni 模态扩展,提供 OpenAI 兼容的
/v1/audio/speech接口、PagedAttention、连续批处理、多 GPU 部署。 - llama.cpp-omni: 端侧 C++ 推理,支持 CPU/Metal/CUDA/Vulkan,需下载 BaseLM 与 Acoustic 两份 GGUF 权重。Q8_0 量化下 M4 Pro/Metal 上 RTF 约 1.76。
模型版本对比
| 版本 | 参数量 | 采样率 | 语言数 | RTF(4090) | Nano-vLLM RTF |
|---|---|---|---|---|---|
| VoxCPM2 | 2B | 48kHz | 30 | 0.30 | 0.13 |
| VoxCPM1.5 | 0.6B | 44.1kHz | 2 | 0.15 | 0.08 |
| VoxCPM-0.5B | 0.5B | 16kHz | 2 | 0.17 | 0.10 |
性能表现
在 Seed-TTS-eval 基准上,VoxCPM2 以 2B 参数在 test-EN 取得 WER 1.84 / SIM 75.3,test-ZH 取得 CER 0.97 / SIM 79.5,与同级别开源模型相比具备竞争力。CV3-eval 多语言子集上,VoxCPM2 在 ja、ko、de、es、it、ru 等语言上相对 VoxCPM1.5 有显著改进。Minimax-MLS-test 的 SIM 指标上,VoxCPM2 在 16 种语言中取得最优成绩,显示出较强的跨语言音色还原能力。
摘要更新于 2026-09-15 00:31:48
· 原文 41917 字符
· md5 f4b5dcbb3702…