让你的 PC 开口说 30 种语言——手把手用 OpenVINO™ 把 VoxCPM2 部署到本地 CPU/GPU

openlab_96bf3613 更新于 5小时前

影棚级 48 kHz 的中文 TTS,一直是闭源厂商的禁脔。直到 OpenBMB 丢出一个 Apache-2.0、2B 参数、支持 30 种语言和 9 种中文方言的 VoxCPM2,再加上 OpenVINO™ 的加持——这事终于能在自己的 Intel 机器上跑起来了。

一、引子:开源 TTS 终于能打了

过去几年里,想在本地跑一套「像人」的中文语音合成,选择非常尴尬:商业 API 贵、速率受限;开源方案要么音质塑料、要么只会说普通话。2026 年初 OpenBMB 发布的 VoxCPM2,用一套 20 亿参数的扩散-自回归混合架构,把这件事直接翻篇。

本文基于 OpenVINO™ Notebooks 官方示例,带你从 0 到 1 把 VoxCPM2 部署到 Intel CPU/iGPU/独显上,并覆盖 5 种实用玩法:基础 TTS、语音设计、声音克隆、可控克隆与流式合成。全篇约 2000 字,跟着走一遍你就能上手。

二、VoxCPM2 是何方神圣?

VoxCPM2 是 OpenBMB社区 × 清华大学人机语音交互实验室 × ModelBest 联合推出的新一代 TTS 模型,核心卖点是 Tokenizer-free(连续音频表示,不做离散量化)+ Diffusion-Autoregressive 混合。这意味着它既有 LM 的语义理解能力,又有扩散模型的生成质量,同时绕开了传统声学 token 带来的信息损失。

▎ 关键参数一览

参数规模:2B(基于 MiniCPM-4 主干),bfloat16 精度显存约 8 GB

训练数据:200 万小时以上多语言语音,最大序列 8192 token,LM token 速率 6.25 Hz

语言覆盖:30 种主流语言 + 9 种中文方言(粤语、四川话、闽南话、吴语、东北话…)

原生采样率:48 kHz,AudioVAE V2 自带 16 kHz→48 kHz 超分

开源协议:Apache-2.0,商用无门槛

▎ 四大核心能力

多语言 TTS:上下文感知的韵律推理,无需显式语言标签

语音设计(Voice Design):用一句自然语言描述就能造出全新音***r/>
可控克隆:短参考音频 + 风格指令,对情感/节奏做细粒度控制

终极克隆(Ultimate Cloning):参考音频 + 对应转录文本,追求最高保真

▎ 内部架构

推理管线:LocEnc(局部编码器)→ TSLM(时空语言模型)→ RALM(关系感知 LM)→ LocDiT(局部 Diffusion Transformer),最后由 AudioVAE V2 解码到 48 kHz 波形。在 Seed-TTS-eval 上英文 WER 1.84%、中文 CER 0.97%,InstructTTSEval 中文 85.2%,均达到或逼近 SOTA。


三、为什么非要 OpenVINO™?

直接用 PyTorch 跑一个 2B 扩散模型,普通玩家第一反应就是「这我显卡带得动吗」。OpenVINO™ 在这里解决三件事:

硬件包容性:同一套 IR 模型,CPU / iGPU / Arc 独显随意切换,不需要 CUDA

Stateful KV-Cache:LM 模块转为有状态图,框架自动管理 KV 增量,不用手写缓存

冷启动与内存:IR 文件加载秒级完成,fp16/int8 进一步压缩显存占用

四、实战部署五步走

Step 1 · 环境准备

建议 Python 3.10+、OpenVINO ≥ 2026.0、PyTorch ≥ 2.4。一行装齐核心依赖:

pip install "openvino>=2026.0" nncf torch transformers \
            librosa soundfile scipy einops pydantic tqdm \
            "gradio>=4.19" safetensors tokenizer***r/>git clone https://github.com/OpenBMB/VoxCPM.git

⚠ 小坑:若你使用自编译的 OpenVINO™ wheel,务必在 optimum-intel 之后安装,否则会被覆盖掉自定义 op。

Step 2 · 下载 VoxCPM2 权重

直接从 Hugging Face Hub 拉取,约 4.2 GB:

from huggingface_hub import snapshot_download
snapshot_download(
    repo_id="openbmb/VoxCPM2",
    local_dir="./VoxCPM2",
    allow_patterns=["*.json", "*.safetensors", "tokenizer*"],
)

Step 3 · 模型转换:5 → 8 个 IR 组件

from voxcpm2_tts_helper import convert_voxcpm2_model
from pathlib import Path

model_path = Path("VoxCPM2")
ov_model_dir = Path("voxcpm2-ov"

convert_voxcpm2_model(
    model_path=str(model_path),
    output_dir=str(ov_model_dir),
    quantization_config=None,  # Set to {"mode": CompressWeightsMode.INT8_SYM} for INT8 weight compression on LM model***r/>)

这是整个流程最关键的一步。VoxCPM2 原生包含 5 个 PyTorch 子模块,转换脚本会拆解并导出 8 个 OpenVINO™ IR 文件,以便分别在不同设备上调度。结构如下:


LM 系列模块转成 Stateful 图后,OpenVINO™ 内部会自动维护 KV Cache,你在 Python 层只管喂新 token,不必手写缓存拼接,代码能少一大半。

Step 4 · 选择设备并构建 Pipeline

from voxcpm2_tts_helper import OVVoxCPM2Model
import openvino as ov 

core = ov.Core()


device = "GPU" if "GPU" in core.available_devices else "CPU"
# NPU 暂不支持

pipe = OVVoxCPM2Pipeline(
    model_dir="./VoxCPM2_ov",
    device=device,
)

Step 5 · 跑第一段中文 TTS

audio = pipe.generate(
    text="今天天气真不错,我们去西湖边走走吧。",
    cfg_value=2.0,          # CFG 引导强度
    inference_timesteps=10, # 扩散步数,越大越稳
)
import soundfile as sf
sf.write("demo.wav", audio, 48000)

第一次冷启动大约 8–15 秒(IR 加载 + 图编译),之后每次合成都能命中缓存。这就是完整的最小闭环了。

五、5 种玩法速览


想做实时 Web 交互?把 generate() 换成 generate_streaming() 即可:

for chunk in pipe.generate_streaming(text="欢迎来到 OpenVINO 世界"):
    # 每块 ~80 ms @ 48 kHz,可直接 push 到前端音频队列
    yield chunk

六、常见坑与调优建议

• inference_timesteps 从 10 降到 6 速度约提升 40%,但高频辅音细节会损失,建议对长句保持 10 以上

• cfg_value 默认 2.0;越低越「贴原文」但平淡,越高越「有感情」但可能过激

• 克隆参考音频建议 5–15 秒,干净无背景乐,采样率任意(内部会自动重采样到 16 kHz)

七、写在最后

从「跑通」到「跑快」,VoxCPM2 + OpenVINO 给开源 TTS 拉起了一条新基线:2B 参数、30 语言、48 kHz、Apache-2.0,而部署门槛被压到了普通 PC 的水平。无论你是在做有声内容、虚拟人交互、无障碍工具,还是个人整活,现在都值得花半小时试一下。

技术细节可继续深挖论文 arXiv:2509.24650,或直接在 HuggingFace Space 上听 demo——然后回到本地,让你的机器也开口说话。

▎ 参考资料

OpenVINO Notebook:github.com/openvinotoolkit/openvino_notebooks/tree/latest/notebooks/voxcpm2-tt***r/>
VoxCPM GitHub:github.com/OpenBMB/VoxCPM(含 README_zh)

HuggingFace 模型卡:huggingface.co/openbmb/VoxCPM2

在线 Demo:huggingface.co/spaces/OpenBMB/VoxCPM-Demo

—— 如果本文帮到你,欢迎转发给同样想「让 PC 开口」的朋友

0个评论