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
27
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
(47)
this model
Quantizations
1 model