VoxCPM2 上手指南:3 步生成第一句语音,还能克隆任意声音
2026/9/1 8:56:48 网站建设 项目流程

VoxCPM2 上手指南:3 步生成第一句语音,还能克隆任意声音

【免费下载链接】VoxCPMVoxCPM2: Tokenizer-Free TTS for Multilingual Speech Generation, Creative Voice Design, and True-to-Life Cloning项目地址: https://gitcode.com/GitHub_Trending/vo/VoxCPM

想不想在本地跑一个 VoxCPM TTS 引擎,把一句中文直接变成 48kHz 的多语言自然语音?装好之后,你还能只靠几秒钟的录音克隆一个人的音色,或者用一句自然语言描述"年轻女声,温柔甜美"来凭空设计一个全新声音。整个流程不需要任何 API Key,模型权重基于 Apache-2.0 协议,可以免费商用。

动手前的环境自检

先花 10 秒确认下面的前置条件。GPU 推荐而非必须——没有显卡也能在 CPU 上跑,只是会慢一些;Apple 芯片 Mac 会自动走 MPS。

项目要求
操作系统Linux / macOS / Windows
Python≥ 3.10,且 < 3.13
PyTorch≥ 2.5.0(随 pip 依赖自动安装)
CUDA≥ 12.0(NVIDIA GPU 才需要)
显存VoxCPM2 约 8 GB(旧版 0.5B 约 5 GB)
网络首次运行需联网下载模型权重,约几个 GB

最快路径:一条 pip 命令装完 VoxCPM

推荐直接走 PyPI,这是最短的一条路:

pip install voxcpm

验证安装是否成功:

python -c "import voxcpm; print('ok')" voxcpm --help

看到ok和命令帮助信息就可以继续了。如果你需要跟踪最新开发版,也可以从源码安装:git clone https://gitcode.com/GitHub_Trending/vo/VoxCPM后进入目录执行pip install .

第一次产出:6 行代码生成第一个 WAV

下面的片段是最小可运行示例:加载最新的 VoxCPM2 模型,合成一句话,保存成文件。首次运行会自动下载权重,耐心等进度条走完。

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)

运行完去听demo.wav——恭喜,你已经拥有第一个 VoxCPM 语音文件了。几个注意点:

  • 文本直接输入原始内容即可,不需要语言标签,中英日韩等 30 种语言都支持,还覆盖粤语、四川话、东北话等 9 种中文方言;
  • 如果from_pretrained拉取权重失败,多半是网络问题。可以在命令行先跑pip install modelscope,然后用snapshot_download把权重预下载到本地目录,再把本地路径传给from_pretrained(写法见 README_zh.md)。

用过之后再看原理:VoxCPM 为什么听起来不机械

先说结论:它没有把音频切成一个个离散"音素块"再拼回去。

传统 TTS 常见做法是先用分词器(tokenizer)把音频编码成离散 token,让语言模型像写文章一样"写"出一串 token,再解码回波形。量化这一步会不可避免地丢细节——这也是机械感的来源之一。VoxCPM 的路线叫Tokenizer-Free:全程在连续隐空间里建模,从文本一路走到连续语音表征,中间不做离散化。

从这张架构图可以读出它的分工,像一条接力生产线:

  1. Text-Semantic LM(文本语义语言模型):负责"理解",根据文本内容和上下文决定该怎么读、什么节奏、什么情绪,并通过 FSQ 约束隐式解耦语义信息;
  2. Residual Acoustic LM(残差声学语言模型):负责"发声",在语义规划之上补齐音色、气息、强弱这些声学细节;
  3. LocDiT 模块:用流匹配从噪声中还原出自然波形,由 AudioVAE 解码输出,VoxCPM2 原生输出 48kHz 音频。

VoxCPM2 基于 MiniCPM-4 骨干,约 2B 参数,在 200 万小时多语种音频上训练。RTX 4090 上实时率(RTF)约 0.3,即 1 秒音频约 0.3 秒就能生成完;配合推理引擎加速还能压到 0.13 左右。

调参实战:按症状对症下药

VoxCPM 合成时最常用的两个参数是cfg_value(默认 2.0)和inference_timesteps(默认 10)。不用死记含义,直接对照你的"症状"调:

你遇到的问题怎么调
声音发紧、发僵,听着不放松cfg_value从 2.0 降到 1.0–1.5
漏读、节奏不对、不听"提示"cfg_value提到 3.0 左右,让模型更严格遵循输入
想快速出稿试效果inference_timesteps降到 4–6,换种子多试几次
交付级音质inference_timesteps提到 15–20
需要可复现的结果(对比实验、回归测试)固定seed,例如seed=42

两个经验值:官方推荐区间是cfg_value0.1–10.0(1.0–3.0 最常见)、inference_timesteps1–100(4–30 常用,命令行参数校验里就写明了)。另外,音色设计和可控克隆这类任务对随机性比较敏感,同一段描述生成 1–3 次、挑最好的一条,是官方自己也在用的做法。

进阶玩法:命令行、Web 界面与声音克隆

命令行。安装后自带voxcpm子命令,适合写脚本和批处理:

# 音色设计:括号里用自然语言描述音色 voxcpm design --text "VoxCPM2带来全新语音合成体验。" \ --control "年轻女声,温暖温柔,略带微笑" \ --output out.wav # 声音克隆:上传参考音频 voxcpm clone --text "这是一个声音克隆的演示。" \ --reference-audio path/to/voice.wav --output clone.wav # 批处理:逐行读取文本文件 voxcpm batch --input examples/input.txt --output-dir outs

需要词级/字级时间戳(做字幕、发音标注)时,装pip install "voxcpm[timestamps]"后在命令上加--timestamps即可。

Web 界面。不写代码就是一条命令的事:

python app.py --port 8808

浏览器打开http://localhost:8808,在界面上粘贴文本、上传参考音频即可试听。没有显卡或想在 Mac 上用 MPS,加--device auto会自动选择设备。

LoRA 微调。如果你有 5–10 分钟某位说话人的录音,可以训一个 LoRA 适配器让模型更贴合该说话人的音色,配置见 conf/voxcpm_v2/,训练脚本入口在 scripts/train_voxcpm_finetune.py,还有配套的网页版训练界面 lora_ft_webui.py。

延伸阅读

  • README_zh.md:完整功能、性能评测与部署方案
  • src/voxcpm/:核心推理代码,core.pyVoxCPM类入口
  • src/voxcpm/cli.py:命令行参数定义
  • examples/train_data_example.jsonl:微调数据格式示例
  • examples/reference_speaker.wav:官方示例参考音频,可直接用于克隆测试

下一步:给自己做个小挑战

录一段 10 秒左右的自己的语音(安静环境、正常语速),用上面的voxcpm clone或 Python API 克隆它,换 3 个不同的seed各生成一次,盲听挑出最像的一条。如果能稳定挑出"像自己"的结果,就可以继续用 lora_ft_webui.py 拿 5–10 分钟录音训一个专属 LoRA——那时候,克隆的相似度会再上一个台阶。

【免费下载链接】VoxCPMVoxCPM2: Tokenizer-Free TTS for Multilingual Speech Generation, Creative Voice Design, and True-to-Life Cloning项目地址: https://gitcode.com/GitHub_Trending/vo/VoxCPM

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询