跳到主要内容

VoxCPM-0.5B

VoxCPM 语音系列

沿用初代模型的训练配置,准备逐字转写的语音数据,开展 LoRA 或全参数微调。通过训练外文本比较音色、可懂度与稳定性,保留基座模型的中英语音生成能力。

VoxCPM-0.5B 支持 LoRA 与全参数微调,仓库对应配置目录为 conf/voxcpm_v1/。请直接使用仓库提供的版本目录,不要根据公开模型名自行推导配置路径。

准备环境​

Bash
git clone https://github.com/OpenBMB/VoxCPM.git
cd VoxCPM
pip install -e .

python -c "from huggingface_hub import snapshot_download; snapshot_download('openbmb/VoxCPM-0.5B', local_dir='./pretrained_models/VoxCPM-0.5B')"

训练数据​

JSON
{"audio":"data/audio_001.wav","text":"第一条音频的逐字转写。","duration":4.0}
{"audio":"data/audio_002.wav","text":"第二条音频的逐字转写。","duration":6.5}
检查项要求
格式JSONL,每行包含 audio 和 text。
片段官方通用文档建议 3–30 秒;剔除小于 1 秒和异常长片段。
质量单人、低噪声、低混响、音量一致;文本逐字匹配。
采样率VoxCPM-0.5B 配置使用 sample_rate: 16000。
验证集保留未参与训练的文本与音频,避免只看训练集试听。
Bash
voxcpm validate --manifest train.jsonl --sample-rate 16000

LoRA 微调​

Bash
cp conf/voxcpm_v1/voxcpm_finetune_lora.yaml conf/my_voxcpm05_lora.yaml
YAML
pretrained_path: ./pretrained_models/VoxCPM-0.5B
train_manifest: ./train.jsonl
val_manifest: ./val.jsonl
sample_rate: 16000
batch_size: 16
grad_accum_steps: 1
learning_rate: 0.0001
max_steps: 2000
save_interval: 1000
save_path: ./checkpoints/voxcpm05_lora
tensorboard: ./logs/voxcpm05_lora
lora:
enable_lm: true
enable_dit: true
enable_proj: false
r: 8
alpha: 16
dropout: 0.0
Bash
python scripts/train_voxcpm_finetune.py --config_path conf/my_voxcpm05_lora.yaml

仓库示例参数是可运行基线。官方微调页没有为 VoxCPM-0.5B 单独给出训练显存表,因此应在目标硬件上从小 batch 实测,不从 VoxCPM1.5 或 VoxCPM2 的数字类推。

全参数微调​

Bash
cp conf/voxcpm_v1/voxcpm_finetune_all.yaml conf/my_voxcpm05_full.yaml
python scripts/train_voxcpm_finetune.py --config_path conf/my_voxcpm05_full.yaml

全参数示例学习率为 1e-5,且没有 lora 节点。小数据上全参数训练更易破坏基础文本转语音能力,应保存更密集的 checkpoint 并使用验证集早停。

验证 checkpoint​

Bash
# LoRA
python scripts/test_voxcpm_lora_infer.py --lora_ckpt checkpoints/voxcpm05_lora/step_0001000 --text "这是一条未参与训练的验证文本。" --output voxcpm05_lora.wav

# 全参数
python scripts/test_voxcpm_ft_infer.py --ckpt_dir checkpoints/voxcpm05_full/step_0001000 --text "这是一条未参与训练的验证文本。" --output voxcpm05_full.wav

验收标准​

维度检查
音色与目标说话人样本做盲听或固定顺序对比。
可懂度用训练外中英文本检查漏字、吞字、错误发音和停不下来。
泛化覆盖短句、长句、数字、英文缩写和未见内容。
回归与基座模型对比,确认个性化没有破坏基本中英 TTS。
复现保存数据清单哈希、模型 revision、代码 commit、YAML 和随机种子。

LoRA WebUI 可用 python lora_ft_webui.py 启动。完整训练行为和常见问题以 官方微调文档为准。

开发者精选

查看全部 →