Releases: OpenBMB/VoxCPM
Releases · OpenBMB/VoxCPM
Release list
v2.0.3: fine-tuning validation, runtime stability, and streaming improvements
VoxCPM v2.0.3
This release focuses on fine-tuning usability, runtime stability, safer LoRA loading, and faster streaming inference.
Highlights
- Added
voxcpm validatefor pre-flight JSONL training manifest validation. - Added optional
ref_audiosupport in the fine-tuning data pipeline. - Improved runtime device handling with explicit
--devicesupport and safer MPS dtype behavior. - Improved VoxCPM2 streaming VAE decoding by avoiding redundant overlap decoding.
- Hardened legacy LoRA checkpoint loading with
weights_only=True. - Fixed LoRA rank mismatch handling in
lora_ft_webui.py.
New Features
- Add
voxcpm validate --manifest train.jsonlto catch training data issues before fine-tuning.- Validates JSONL format, required
text/audiofields, audio existence/readability, sample rate, duration stats, text length stats, and optionalref_audio.
- Validates JSONL format, required
- Add optional
ref_audiosupport for fine-tuning manifests.- Training packing now supports
[103, ref_audio, 104, text, 101, target_audio, 102]. - Loss is applied only to the target audio segment.
- Training packing now supports
- Add
--deviceCLI argument for model inference commands.- Supports
auto,cpu,mps,cuda, and indexed CUDA devices such ascuda:0.
- Supports
Performance
- Improve VoxCPM2 streaming VAE decode with a stateful
StreamingVAEDecoder.- Streaming decode now processes only the newest latent patch and carries causal convolution state internally.
- This removes redundant overlap decoding and reduces streaming VAE decode overhead.
Fixes
- Fix CUDA Graph dynamic-shape accumulation by using the uncompiled feature encoder for prefill.
- Fix CPU SDPA attention mask broadcasting by using an explicit broadcastable mask shape.
- Fix non-string text validation order to raise the intended
ValueErrorinstead ofAttributeError. - Fix file descriptor leaks when loading
config.jsonin local model loaders. - Fix MPS audio quality issues by promoting low-precision dtypes to
float32on Apple Silicon by default. - Fix
VOXCPM_MPS_DTYPEoverride validation to match supported dtype aliases. - Fix LoRA rank mismatch in
lora_ft_webui.pyby reloading the model when checkpoint rank differs. - Fix Web Demo control text handling by stripping parentheses before constructing the model prompt.
Security
- Legacy LoRA
.ckpt/.pthloading now usestorch.load(..., weights_only=True). - This reduces the risk of arbitrary pickle payload execution while preserving tensor-only checkpoint compatibility.
Documentation
- Document vLLM-Omni as a production serving option for VoxCPM2.
- Update Web Demo usage to
python app.py --port 8808. - Update ModelScope local download example.
- Clarify Python requirement as
>=3.10,<3.13. - Add ComfyUI_RH_VoxCPM to the ecosystem list.
Tests
- Added coverage for training manifest validation, including sample-rate mismatch, missing audio, relative paths,
ref_audio, and CLI exit codes. - Added runtime device selection tests.
- Added LoRA checkpoint safety tests for tensor-only checkpoints and malicious pickle payloads.
- Added CLI tests for
--devicedefaults and argument forwarding.
Contributors
Thanks to the contributors included in this release:
Full Changelog: 2.0.2...2.0.3
v2.0.2: fixed some bugs
Full Changelog: 2.0.1...2.0.2
v2.0.1: removed auto-trim feature for reference audio
Full Changelog: 2.0.0...2.0.1
VoxCPM 2 Released
What's Changed
- 修复lora/ft测试代码处传参错误的内容 by @Ayin1412 in #98
- perf: optimize dataset length calculation via batch column access by @jayll1303 in #128
- Add torchcodec to dependencies by @lrjerryli in #139
- Print debug messages to stderr instead of stdout by @vytskalt in #141
- Fix README's feature checkboxes by @zanellig in #147
- Improve CLI argument validation and help text by @s3ldc in #161
- Update train_voxcpm_finetune.py by @symhsym in #186
- fix: use specific exceptions instead of bare except by @haosenwang1018 in #188
- Add VoxCPM 2.
New Contributors
- @Ayin1412 made their first contribution in #98
- @jayll1303 made their first contribution in #128
- @lrjerryli made their first contribution in #139
- @vytskalt made their first contribution in #141
- @zanellig made their first contribution in #147
- @s3ldc made their first contribution in #161
- @symhsym made their first contribution in #186
- @haosenwang1018 made their first contribution in #188
Full Changelog: 1.5.0...2.0.0
VoxCPM 1.5 Released
Full Changelog: 1.0.5...1.5.0
What's New and What's Next? See our Release Note
v1.0.5
- Supports MPS devices.
Full Changelog: 1.0.4...1.0.5
v1.0.4
What's Changed
- add prompt-file option to set prompt text by @MayDomine in #17
- Add a streaming API for VoxCPM by @AbrahamSanders in #26
- Update the minimum Python version to 3.10 to support Gradio 5.
New Contributors
- @MayDomine made their first contribution in #17
- @AbrahamSanders made their first contribution in #26
Full Changelog: 1.0.3...1.0.4