好的,这是您要求的英文文章的中文翻译,已按照指定的格式和要求进行处理。
OpenBMB VoxCPM
VoxCPM2: 无需分词器的多语言语音生成、创意声音设计与逼真克隆系统 English | 中文
👋 加入我们的社区进行讨论和获取支持!飞书 | Discord
VoxCPM 是一个无需分词器(Tokenizer-Free)的文本转语音(Text-to-Speech)系统,它通过端到端的扩散自回归架构直接生成连续的语音表征,绕过了离散分词过程,从而实现高度自然且富有表现力的语音合成。
VoxCPM2 是最新的主要版本——一个拥有 2B 参数、在超过 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——官方为 VoxCPM2 提供支持 PagedAttention 和 OpenAI 兼容 API 的 vLLM 全模态服务
- 📜 完全开源 & 可商用 — 模型权重和代码基于 Apache-2.0 许可证发布,可免费用于商业用途
🌍 支持的语言 (30 种) 阿拉伯语、缅甸语、中文、丹麦语、荷兰语、英语、芬兰语、法语、德语、希腊语、希伯来语、印地语、印尼语、意大利语、日语、高棉语、韩语、老挝语、马来语、挪威语、波兰语、葡萄牙语、俄语、西班牙语、斯瓦希里语、瑞典语、他加禄语、泰语、土耳其语、越南语 中文方言:四川话、粤语、吴语、东北话、河南话、陕西话、山东话、天津话、闽南话
新闻
- [2026.04] 🔥 我们发布了 VoxCPM2 — 2B 参数,30 种语言,支持声音设计和可控语音克隆,48kHz 音频输出!权重 | 文档 | 在线演示
- [2025.12] 🎉 开源 VoxCPM1.5 权重,支持 SFT 和 LoRA 微调。(🏆 GitHub 趋势榜 #1)
- [2025.09] 🔥 发布 VoxCPM 技术报告。
- [2025.09] 🎉 开源 VoxCPM-0.5B 权重(🏆 HuggingFace 趋势榜 #1)
目录
- 快速开始
- 安装
- 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)
🎨 声音设计
根据自然语言描述创建声音——无需参考音频。 格式: 将描述放在文本开头的括号内(例如 "(你的声音描述)要合成的文本."):
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_path 和 prompt_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
import numpy as np
chunks = []
for chunk in model.generate_streaming(
text="Streaming text to speech