VoxCPM2:国产开源 2B 参数 TTS 模型,支持 30 种语言与语音克隆
OpenBMB 团队发布了 VoxCPM2 文本转语音(TTS)模型。该模型拥有 2B 参数,支持语音克隆、语音设计和高质量语音合成,涵盖英文、中文、日语、韩语、德语、法语等 30 种主流语言,完全开源且允许商业使用。
对于需要语音合成能力的开发者来说,VoxCPM2 可以作为 ElevenLabs 等商业 TTS 服务的开源替代品,本地部署即可大幅降低语音合成成本。
核心特性
- 30 种语言:无需语言标签,直接输入任意支持语言的文本即可合成
- 语音设计(Voice Design):输入自然语言描述(如"年轻女性,温暖柔和的声音"),无需参考音频即可生成新语音
- 语音克隆(Voice Cloning):提供参考音频即可克隆声音,支持风格引导控制情感、语速和表现力
- 48kHz 高质量音频:输出录音室级别的高保真语音
- 开源商用:完全开源,允许商业使用
模型架构
VoxCPM2 采用无分词器(tokenizer-free)的扩散自回归架构,在连续潜在空间中对语音进行建模,而非使用离散的语音单元。这种设计使得语音生成更加自然流畅。

架构核心流程:
- 文本编码:BPE 分词器将文本转换为离散令牌
- 语义建模:Text-Semantic Language Model 建立文本与语音语义的关联
- 量化处理:FSQ(有限标量量化)模块进行特征量化
- 声学细化:Residual Acoustic Language Model 细化声学特征
- 语音生成:LocDiT(局部扩散 Transformer)生成最终连续语音信号
macOS 本地部署指南
以下介绍在 macOS 下使用 mlx-audio 本地部署 VoxCPM2 的完整流程。
步骤 1:配置环境
uv venv .venv
source .venv/bin/activate
uv pip install "git+https://github.com/Blaizzy/mlx-audio" --prerelease=allow
uv pip install soundfile
步骤 2:下载模型
根据电脑配置选择量化版本:
# 4bit 量化(适合内存有限的设备)
hf download mlx-community/VoxCPM2-4bit --local-dir ./models/VoxCPM2-4bit
# 8bit 量化(推荐)
hf download mlx-community/VoxCPM2-8bit --local-dir ./models/VoxCPM2-8bit
# bf16 全精度(最高质量)
hf download mlx-community/VoxCPM2-bf16 --local-dir ./models/VoxCPM2-bf16

步骤 3:零样本语音生成(Zero-shot)
无需参考音频,直接合成:
import numpy as np
from mlx_audio.tts.utils import load
from mlx_audio.audio_io import write as audio_write
MODEL_DIR = "models/VoxCPM2-8bit"
OUTPUT_PATH = "zero_shot.wav"
model = load(MODEL_DIR)
result = next(model.generate("Hello, this is VoxCPM2 on Apple Silicon."))
audio_mx = result.audio
audio_write(
str(OUTPUT_PATH),
np.array(audio_mx),
model.sample_rate,
format="wav",
)
注意:如果待合成文本中包含括号,需要进行转义处理,否则无法正常合成语音。
步骤 4:语音设计(Voice Design)
通过自然语言描述生成特定风格的语音:
result = next(model.generate(
text="Hello, welcome to VoxCPM2.",
instruct="A young woman, warm and gentle voice",
))
步骤 5:语音克隆(Voice Cloning)
提供参考音频克隆声音:
result = next(model.generate(
text="Hello, this is VoxCPM2 on Apple Silicon.",
ref_audio="lisa.wav",
))
步骤 6:终极克隆(Ultimate Cloning)
针对有声读物等长篇内容,同时提供参考音频和对应转录文本,保证声音一致性:
result = next(model.generate(
text="2B-parameter multilingual tokenizer-free TTS model...",
prompt_text="VoxCPM2 is a tokenizer-free, diffusion autoregressive TTS model",
prompt_audio="lisa.wav",
))
替代方案
如果 VoxCPM2 不满足需求,还可以考虑 Qwen3-TTS(通义千问团队出品):
- 提供 0.6B 和 1.7B 两种尺寸
- 支持 10 种主流语言
- 同样支持语音合成、语音设计和语音克隆
- 不同功能需切换不同模型
总结
VoxCPM2 是目前开源 TTS 领域功能最全面的模型之一。30 种语言支持、语音克隆、语音设计、48kHz 高保真输出,加上完全开源商用许可,使其成为 ElevenLabs 等商业服务的有力替代。
声明:本站原创文章文字版权归本站所有,转载务必注明作者和出处;本站转载文章仅仅代表原作者观点,不代表本站立场,图文版权归原作者所有。如有侵权,请联系我们删除。