VoxCPM 部署与安装指南:多语言语音合成与克隆系统
VoxCPM 是一个无分词器的端到端语音合成系统,通过扩散自回归架构直接生成连续语音表示。其最新版本 VoxCPM2 是一个 2B 参数模型,在超过 200 万小时 的多语言语音数据上训练,支持 30 种语言、语音设计(Voice Design)、可控语音克隆,并输出 48kHz 录音室级音频。
1. 系统要求
1.1 硬件要求
- GPU:强烈推荐使用 NVIDIA GPU(至少 8GB 显存,推荐 24GB 用于高吞吐部署)。
- 内存:建议 16GB 以上。
- 存储:模型文件大小约 8-12 GB。
1.2 软件前提
- Python:版本 3.10 或 3.11(不支持 3.13)。
- PyTorch:版本 ≥ 2.5.0,需与 CUDA 版本匹配(CUDA ≥ 12.0)。
- CUDA:版本 ≥ 12.0(用于 GPU 加速)。
- FFmpeg:用于音频处理(可选,但推荐安装)。
2. 安装步骤
2.1 基础安装
使用 pip 直接安装 voxcpm 包:
1 | pip install voxcpm |
此命令会安装核心依赖。如果需要生成带有时间戳的音频(用于字幕对齐),可以安装可选依赖:
1 | pip install "voxcpm[timestamps]" |
2.2 从 ModelScope 下载模型(国内用户推荐)
由于 Hugging Face 在某些地区访问不稳定,您可以通过 ModelScope 下载模型权重:
1 | pip install modelscope |
3. 基本使用
3.1 Python API:文本到语音(TTS)
这是最基础的用法,将文本直接合成为语音。
1 | from voxcpm import VoxCPM |
3.2 语音设计(Voice Design)
无需参考音频,仅通过自然语言描述创建新声音。
1 | wav = model.generate( |
3.3 可控语音克隆(Controllable Voice Cloning)
提供参考音频克隆音色,并可额外添加风格控制指令。
1 | wav = model.generate( |
3.4 终极克隆(Ultimate Cloning)
同时提供参考音频和其精确的文字转录,实现最高保真度的克隆,再现每一个声音细节(音色、节奏、情感和风格)。
1 | wav = model.generate( |
3.5 流式生成(Streaming)
适用于需要实时响应的场景,如语音助手。
1 | import numpy as np |
4. 命令行工具(CLI)
VoxCPM 也提供了命令行接口,方便快速生成。
语音设计:
1
voxcpm design --text "VoxCPM2 brings studio-quality multilingual speech synthesis." --output out.wav
带风格控制的语音设计:
1
2
3voxcpm design --text "VoxCPM2 brings studio-quality multilingual speech synthesis." \
--control "Young female voice, warm and gentle, slightly smiling" \
--seed 42 --output out.wav语音克隆:
1
2
3voxcpm clone --text "This is a voice cloning demo." \
--reference-audio path/to/voice.wav \
--output out.wav终极克隆:
1
2
3
4voxcpm clone --text "This is a voice cloning demo." \
--prompt-audio path/to/voice.wav \
--prompt-text "reference transcript" \
--output out.wav批量处理:
1
voxcpm batch --input examples/input.txt --output-dir outs
5. 生产环境部署(高性能服务)
对于需要高并发、低延迟的生产场景,VoxCPM 提供了两种专门的推理引擎。
5.1 使用 Nano-vLLM-VoxCPM(高性能)
这是一个基于 Nano-vLLM 的专用推理引擎,支持并发请求和异步API。
1 | pip install nano-vllm-voxcpm |
Python 调用示例:
1 | from nanovllm_voxcpm import VoxCPM |
性能:在 NVIDIA RTX 4090 上,RTF(实时因子)可低至 ~0.13,即生成 1 秒音频仅需约 0.13 秒。
5.2 使用 vLLM-Omni(官方生产级服务)
基于 vLLM 项目的全模态扩展,提供 OpenAI 兼容的 API 端点。
1 | # 安装 vLLM 和 vLLM-Omni |
5.3 启动 Web 演示界面
1 | python app.py --port 8808 |
6. 微调(Fine-tuning)
VoxCPM 支持全量微调(SFT)和参数高效微调(LoRA)。仅需 5-10 分钟 的音频数据即可适配特定说话人、语言或领域。
LoRA 微调(推荐):
1 | python scripts/train_voxcpm_finetune.py \ |
启动微调 WebUI:
1 | python lora_ft_webui.py # 然后访问 http://localhost:7860 |
7. 常见问题排查
| 问题 | 可能原因 | 解决方案 |
|---|---|---|
torch 或 cuda 相关错误 |
PyTorch 版本不匹配或 CUDA 未正确安装 | 根据您的 CUDA 版本,从 PyTorch 官网 重新安装 PyTorch。确保 torch.cuda.is_available() 返回 True。 |
ModuleNotFoundError: No module named 'voxcpm' |
voxcpm 包未安装 |
执行 pip install voxcpm。 |
| 模型下载失败(网络问题) | 无法访问 Hugging Face | 1. 使用 ModelScope 下载(见上文 2.2 节)。 2. 设置代理环境变量 export HTTP_PROXY=...。 |
| 显存不足(CUDA Out of Memory) | GPU 显存小于 8GB | 1. 使用更小的模型(如 VoxCPM-0.5B)。 2. 在加载模型时设置 load_denoiser=False 以减少显存占用。 3. 考虑使用 CPU 推理(速度慢)。 |
| 生成的音频有杂音或质量低 | cfg_value 或 inference_timesteps 设置不当 |
尝试调整参数:增加 cfg_value(如 2.0-4.0)和 inference_timesteps(如 10-20)。 |
| 语音克隆相似度不高 | 参考音频质量差或语言不匹配 | 使用时长至少 3-5 秒、清晰、无背景噪音的参考音频。确保参考音频的语言与目标文本语言一致。 |
8. 总结
VoxCPM 是一个功能强大、性能优越的多语言语音合成与克隆系统。
核心使用路径:
- 环境准备:安装 Python 3.10/3.11、PyTorch 2.5+ 和 CUDA 12+。
- 安装包:
pip install voxcpm。 - 加载模型:通过
VoxCPM.from_pretrained("openbmb/VoxCPM2")下载并加载模型(首次需下载 ~8GB 权重)。 - 生成语音:使用 Python API 或 CLI 进行 TTS、语音设计或克隆。
- 生产部署:对于高并发场景,使用
Nano-vLLM或vLLM-Omni部署为服务。
建议:首次使用前,请检查 GPU 可用性。对于大多数个人用户,直接从 Python API 或 CLI 开始即可。如果需要集成到生产环境,推荐使用 vLLM-Omni 部署为 OpenAI 兼容的 API 服务。请务必遵守使用条款,不将语音克隆技术用于欺诈或误导性用途。







