VoxCPM2-Flash

VoxCPM2 fine-tuned (LoRA, merged) on a Jarvis-style Khmer / English assistant voice, plus a distilled VoxCPM2-Flash diffusion head: guidance-free, 4-step DiT by default (also distilled for 1/2/4) instead of the original 10-step CFG decoder.

base openbmb/VoxCPM2
LoRA r=32, alpha=32, step_0000300, merged into model.safetensors
flash DiT 12 layers, distill step 1500
eval MSE vs teacher 1step 0.377, 2step 0.285, 4step 0.285

Usage

pip install voxcpm soundfile
from huggingface_hub import snapshot_download
import sys, soundfile as sf

path = snapshot_download("nphearum/VoxCPM2-Flash")
sys.path.insert(0, path)
from voxcpm2_flash import load_flash_model

model = load_flash_model(path)                  # 4 steps; num_steps=1/2/4 to override
wav = model.generate(target_text="Good evening, sir. ការប្រជុំថ្ងៃស្អែកត្រូវបានលុបចោលហើយ។")
sf.write("out.wav", wav.squeeze().float().numpy(), model.sample_rate)

cfg_value / inference_timesteps are ignored by the flash decoder (guidance is distilled in). model.safetensors alone is a normal VoxCPM2 checkpoint, so VoxCPM.from_pretrained("nphearum/VoxCPM2-Flash") also works with the original 10-step decoder.

Training data

~45 synthetic clips (Khmer, English and code-switched assistant lines) generated by voice-cloning one reference recording with VoxCPM2. Small dataset: expect the voice to generalise imperfectly.

Downloads last month
26
Safetensors
Model size
2B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for nphearum/VoxCPM2-Flash

Base model

openbmb/VoxCPM2
Finetuned
(46)
this model
Quantizations
1 model