VoxCPM

OpenBMB/VoxCPM 访问 GitHub ↗
🔤 Python ★ 40262 ⑂ 0 daily #7 (+150) 抓取 2026-10-24

一句话简介

OpenBMB 推出的开源 Python 项目,提供语音合成与处理相关能力,支持高效的文本到语音生成及音频建模任务。

标签

  • 语音合成
  • 音频处理
  • Python
  • 开源模型
  • TTS

适用应用场景

  • 文本转语音合成
  • 语音克隆与定制
  • 多语言语音生成
  • 音频内容创作

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…