voxcpm_rs¶
voxcpm_rs is a Rust reimplementation of VoxCPM-0.5B using the burn deep learning framework.
Repo: madushan1000/voxcpm_rs
Upstream: OpenBMB/VoxCPM
Note
This is an experimental project targeting VoxCPM-0.5B. Voice cloning with reference audio is supported (see usage below).
VoxCPM 1.0 (0.5B) |
✅ Supported (hardcoded 16 kHz in source) |
VoxCPM 1.5 |
❌ Not tested |
VoxCPM 2 |
❌ Not supported |
Features¶
Pure Rust implementation — no Python runtime dependency
Weight conversion from Hugging Face format to burn format
CLI for text-to-speech synthesis and voice cloning
Prerequisites¶
Rust toolchain (stable)
A specific commit of the
burnframework (see below)openbmb/VoxCPM-0.5Bweights
Installation¶
This project depends on a pinned commit of burn:
# Clone and checkout the required burn version
git clone https://github.com/tracel-ai/burn.git
cd burn
git checkout e0847cbf618395775bf534cbece9f0c7f0d897be
cd ..
# Download VoxCPM-0.5B weights
git clone https://huggingface.co/openbmb/VoxCPM-0.5B
# Clone and build voxcpm_rs
git clone https://github.com/madushan1000/voxcpm_rs.git
cd voxcpm_rs
cargo build --release
Basic usage¶
Convert weights¶
cargo run --release --bin voxcpm convert \
--input-path ../VoxCPM-0.5B/ \
--output-path burn-models/
Generate speech (zero-shot)¶
cargo run --release --bin voxcpm run \
--model-path burn-models/ \
--target-text "Hello, this is VoxCPM running in Rust."
# Play the output
mpv output.wav
Voice cloning¶
cargo run --release --bin voxcpm run \
--model-path burn-models/ \
--target-text "Cloned voice output." \
--prompt-text "Reference transcript" \
--prompt-wav-path ref_voice.wav \
--max-len 2048
Output is saved to output.wav in the current directory.
Limitations¶
VoxCPM-0.5B only — VoxCPM 1.5 not yet tested
Requires a specific pinned version of the
burnframeworkLimited documentation — refer to source code for advanced usage