VoxCPM1.5
VoxCPM 语音系列
VoxCPM1.5 面向中文与英文语音生成,提供 44.1kHz 音频输出、提示音频续写式声音克隆与流式生成。作为 1.x 系列的升级版本,它保留原有使用路径,并支持 LoRA 与全参数微调,适合延续已有中英语音项目、定制说话人音色或评估更高采样率的输出。
获取 VoxCPM1.5 的模型权重与运行代码。请使用本版本的权重和配置,下载前查看模型页中的许可与使用说明。
VoxCPM1.5 是 1.x 系列最后一次升级,面向中文、英文文本转语音和提示音频续写式零样本声音克隆。它保持 1.x 的使用路径,同时将输出采样率提升至 44.1kHz,并将 LM token 速率从 12.5Hz 降至 6.25Hz。
模型下载
| 模型 | Hugging Face | ModelScope | 许可证 |
|---|---|---|---|
| VoxCPM1.5 | openbmb/VoxCPM1.5 | OpenBMB/VoxCPM1.5 | Apache-2.0 |
版本信息
| 项目 | 官方说明 |
|---|---|
| 参数量 | 800M |
| 支持语 言 | 中文、英文 |
| 输出采样率 | 44.1kHz |
| LM token 速率 | 6.25Hz |
| 最大序列长度 | 4096 tokens |
| 克隆方式 | 提示音频续写:需要提示音频及其准确文本转写。 |
| 微调 | 支持 SFT 与 LoRA。 |
| RTX 4090 RTF | 官方版本历史参考值约 0.15;实际值取决于文本、参数与运行环境。 |
何时使用
| 需求 | 建议 |
|---|---|
| 已有 VoxCPM 1.x 推理或训练资产 | 优先使用 VoxCPM1.5 保持架构与接口路径连续。 |
| 中英双语且希望使用 44.1kHz 输出 | VoxCPM1.5 是 1.x 中更合适的版本。 |
| 多语言、音色设计、隔离参考克隆或 Style Control | 直接选择 VoxCPM2;这些不是 VoxCPM1.5 的功能。 |
使用边界
VoxCPM1.5 没有 VoxCPM2 的 reference_wav_path 隔离参考通道,也不支持 Voice Design 或 Style Control。克隆时应使用 prompt_wav_path 和 prompt_text 成对输入;参考文本与音频不一致会直接影响续写克隆效果。
快速上手
安装依赖并显式加载 VoxCPM1.5,先生成一段中英语音,再体验提示音频续写式克隆和流式输出。示例覆盖 Python 与命令行,并说明如何校验音频采样率与参考文本。
安装
pip install voxcpm soundfile
当前 voxcpm 包默认模型是 VoxCPM2。使用 VoxCPM1.5 时,无论 Python 还是 CLI 都应显式指定 openbmb/VoxCPM1.5。
基础文本转语音
from voxcpm import VoxCPM
import soundfile as sf
model = VoxCPM.from_pretrained(
"openbmb/VoxCPM1.5",
load_denoiser=False,
)
wav = model.generate(
text="VoxCPM1.5 支持中文和英文语音合成。",
cfg_value=2.0,
inference_timesteps=10,
seed=42,
)
sf.write("voxcpm15.wav", wav, model.tts_model.sample_rate)
VoxCPM1.5 输出采样率为 44.1kHz。使用模型对象中的 sample_rate 写文件,避免手工写错采样率。
声音克隆
VoxCPM1.5 通过提示音频续写实现克隆。prompt_wav_path 与 prompt_text 必须成对提供,且转写应与音频逐字一致。
wav = model.generate(
text="这是使用 VoxCPM1.5 生成的克隆语音。",
prompt_wav_path="speaker.wav",
prompt_text="提示音频中实际说出的完整文本。",
cfg_value=2.0,
inference_timesteps=10,
seed=42,
)
sf.write("voxcpm15_clone.wav", wav, model.tts_model.sample_rate)
流式输出
import numpy as np
chunks = []
for chunk in model.generate_streaming(
text="这是 VoxCPM1.5 的流式输出。",
):
chunks.append(chunk)
wav = np.concatenate(chunks)
sf.write("voxcpm15_stream.wav", wav, model.tts_model.sample_rate)
命令行
# 基础合成
voxcpm design --hf-model-id openbmb/VoxCPM1.5 --text "VoxCPM1.5 supports Chinese and English." --output voxcpm15.wav
# 提示音频续写式克隆
voxcpm clone --hf-model-id openbmb/VoxCPM1.5 --text "这是克隆后的目标文本。" --prompt-audio speaker.wav --prompt-text "提示音频中实际说出的完整文本。" --output voxcpm15_clone.wav
CLI 子命令名 design 在此只作为基础合成入口,不表示 VoxCPM1.5 具备 VoxCPM2 的音色设计能力。不要给 VoxCPM1.5 使用 --reference-audio;当前 CLI 会拒绝该组合。
参数调节
| 参数 | 作用 | 排查方向 |
|---|---|---|
cfg_value | 控制文本与扩散生成之间的引导强度 | 声音紧张或失真时降低;短句不清晰时可小幅提高。 |
inference_timesteps | 控制扩散求解步数 | 增加会提高计算量;先用默认 10 做基线。 |
normalize | 启用外部文本规范化 | 数字、缩写处理异常时对比开关结果。 |
denoise | 参考音频增强 | 模型卡提示可能产生失真并将采样率限制到 16kHz;高保真克隆应对比关闭结果。 |
常见问题
| 问题 | 处理 |
|---|---|
误用了 reference_wav_path | 改用 prompt_wav_path 与 prompt_text。 |
| 克隆相似度低 | 保证单人、低噪声、提示文本逐字一致;分别对比是否启用降噪。 |
| 输出不是 44.1kHz | 确认加载的是 VoxCPM1.5,并使用 model.tts_model.sample_rate 保存。 |
| 其他语言效果不稳定 | VoxCPM1.5 仅官方支持中文和英文;其他语言不在保证范围内。 |