← 返回日报
🌐 机器翻译 · DeepSeek · GitHub

OpenBMB VoxCPM


OpenBMB VoxCPM

VoxCPM2: 无分词器 TTS,用于多语言语音生成、创意声音设计与逼真克隆 English | 中文 👋 加入我们的社区进行讨论和获取支持!飞书 | Discord

VoxCPM 是一个无分词器(Tokenizer-Free)的文本转语音系统,通过端到端的扩散自回归架构直接生成连续语音表示,绕过了离散分词过程,从而实现高度自然且富有表现力的合成。VoxCPM2 是最新的主要版本——一个拥有 20 亿参数的模型,在超过 200 万小时的多语言语音数据上训练而成,现在支持 30 种语言、声音设计、可控声音克隆以及 48kHz 录音室级音频输出。基于 MiniCPM-4 骨干网络构建。

✨ 亮点

🌍 30 种语言多语言支持 — 直接输入任意 30 种支持语言的文本进行合成,无需语言标签 🎨 声音设计 — 仅凭自然语言描述(性别、年龄、语气、情感、语速……)即可创建全新声音,无需参考音频 🎛️ 可控克隆 — 从短参考片段克隆任意声音,并可选择风格引导来控制情感、语速和表现力,同时保留原始音色 🎙️ 终极克隆 — 再现每一个声音细节:提供参考音频及其转录文本,模型从参考处无缝继续,忠实保留每一个声音细节——音色、节奏、情感和风格(与 VoxCPM1.5 相同) 🔊 48kHz 高质量音频 — 接受 16kHz 参考音频,通过 AudioVAE V2 的非对称编解码设计直接输出 48kHz 录音室级音频,内置超分辨率功能——无需外部上采样器 🧠 上下文感知合成 — 根据文本内容自动推断合适的韵律和表现力 ⚡ 实时流式处理 — 在 NVIDIA RTX 4090 上 RTF 低至约 0.3,通过 Nano-vLLM 或 vLLM-Omni 加速后约 0.13——官方 vLLM 全模态服务支持 VoxCPM2,配备 PagedAttention 和兼容 OpenAI 的 API 📜 完全开源且可商用 — 权重和代码以 Apache-2.0 许可证发布,可免费用于商业用途

🌍 支持的语言(30 种) 阿拉伯语、缅甸语、中文、丹麦语、荷兰语、英语、芬兰语、法语、德语、希腊语、希伯来语、印地语、印度尼西亚语、意大利语、日语、高棉语、韩语、老挝语、马来语、挪威语、波兰语、葡萄牙语、俄语、西班牙语、斯瓦希里语、瑞典语、他加禄语、泰语、土耳其语、越南语 中文方言:四川话、粤语、吴语、东北话、河南话、陕西话、山东话、天津话、闽南话

新闻

[2026.04] 🔥 我们发布了 VoxCPM2——20 亿参数、30 种语言、声音设计与可控声音克隆、48kHz 音频输出!权重 | 文档 | 演示平台 | 技术报告 [2025.12] 🎉 开源 VoxCPM1.5 权重,支持 SFT 和 LoRA 微调。(🏆 #1 GitHub 趋势) [2025.09] 🔥 发布 VoxCPM 技术报告。 [2025.09] 🎉 开源 VoxCPM-0.5B 权重(🏆 #1 HuggingFace 趋势)

目录

快速开始 安装 Python API CLI 使用 Web 演示 生产部署 模型与版本 性能 微调 文档 生态系统与社区 风险与限制 引用

🚀 快速开始

安装

pip install voxcpm

要求:Python ≥ 3.10(<3.13)、PyTorch ≥ 2.5.0、CUDA ≥ 12.0。详情请参阅快速开始文档。

Python API

🗣️ 文本转语音

from voxcpm import VoxCPM
import soundfile as sf

model = VoxCPM.from_pretrained(
    "openbmb/VoxCPM2",
    load_denoiser=False,
)

wav = model.generate(
    text="VoxCPM2 is the current recommended release for realistic multilingual speech synthesis.",
    cfg_value=2.0,
    inference_timesteps=10,
)

sf.write("demo.wav", wav, model.tts_model.sample_rate)
print("saved: demo.wav")

如果你更倾向于先从 ModelScope 下载,可以使用:

pip install modelscope
from modelscope import snapshot_download
snapshot_download("OpenBMB/VoxCPM2", local_dir='./pretrained_models/VoxCPM2')

# 指定保存模型的本地目录
from voxcpm import VoxCPM
import soundfile as sf

model = VoxCPM.from_pretrained(
    "./pretrained_models/VoxCPM2",
    load_denoiser=False,
)

wav = model.generate(
    text="VoxCPM2 is the current recommended release for realistic multilingual speech synthesis.",
    cfg_value=2.0,
    inference_timesteps=10,
)

sf.write("demo.wav", wav, model.tts_model.sample_rate)

🎨 声音设计

根据自然语言描述创建声音——无需参考音频。格式:将描述放在文本开头的括号内(例如 "(your voice description)The text to synthesize."):

wav = model.generate(
    text="(A young woman, gentle and sweet voice)Hello, welcome to VoxCPM2!",
    cfg_value=2.0,
    inference_timesteps=10,
)

sf.write("voice_design.wav", wav, model.tts_model.sample_rate)

🎛️ 可控声音克隆

上传参考音频。模型会克隆音色,你仍然可以使用控制指令来调整速度、情感或风格。

wav = model.generate(
    text="This is a cloned voice generated by VoxCPM2.",
    reference_wav_path="path/to/voice.wav",
)

sf.write("clone.wav", wav, model.tts_model.sample_rate)

wav = model.generate(
    text="(slightly faster, cheerful tone)This is a cloned voice with style control.",
    reference_wav_path="path/to/voice.wav",
    cfg_value=2.0,
    inference_timesteps=10,
)

sf.write("controllable_clone.wav", wav, model.tts_model.sample_rate)

🎙️ 终极克隆

提供参考音频及其精确转录文本,用于基于音频延续的克隆,再现每一个声音细节。为获得最大克隆相似度,将同一参考片段同时传递给 reference_wav_pathprompt_wav_path,如下所示:

wav = model.generate(
    text="This is an ultimate cloning demonstration using VoxCPM2.",
    prompt_wav_path="path/to/voice.wav",
    prompt_text="The transcript of the reference audio.",
    reference_wav_path="path/to/voice.wav",  # 可选,用于更好的相似度
)

sf.write("hifi_clone.wav", wav, model.tts_model.sample_rate)

🔄 流式 API

📖 阅读原文 →