Skip to content

Releases: OpenBMB/VoxCPM

v2.0.3: fine-tuning validation, runtime stability, and streaming improvements

Choose a tag to compare

@a710128 a710128 released this 11 May 11:59

VoxCPM v2.0.3

This release focuses on fine-tuning usability, runtime stability, safer LoRA loading, and faster streaming inference.

Highlights

  • Added voxcpm validate for pre-flight JSONL training manifest validation.
  • Added optional ref_audio support in the fine-tuning data pipeline.
  • Improved runtime device handling with explicit --device support 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.jsonl to catch training data issues before fine-tuning.
    • Validates JSONL format, required text/audio fields, audio existence/readability, sample rate, duration stats, text length stats, and optional ref_audio.
  • Add optional ref_audio support 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.
  • Add --device CLI argument for model inference commands.
    • Supports auto, cpu, mps, cuda, and indexed CUDA devices such as cuda:0.

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 ValueError instead of AttributeError.
  • Fix file descriptor leaks when loading config.json in local model loaders.
  • Fix MPS audio quality issues by promoting low-precision dtypes to float32 on Apple Silicon by default.
  • Fix VOXCPM_MPS_DTYPE override validation to match supported dtype aliases.
  • Fix LoRA rank mismatch in lora_ft_webui.py by 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 / .pth loading now uses torch.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 --device defaults 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

Choose a tag to compare

@a710128 a710128 released this 08 Apr 10:19

Full Changelog: 2.0.1...2.0.2

v2.0.1: removed auto-trim feature for reference audio

Choose a tag to compare

@a710128 a710128 released this 08 Apr 06:06

Full Changelog: 2.0.0...2.0.1

VoxCPM 2 Released

Choose a tag to compare

@a710128 a710128 released this 06 Apr 14:51

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

Full Changelog: 1.5.0...2.0.0

VoxCPM 1.5 Released

Choose a tag to compare

@a710128 a710128 released this 05 Dec 14:48

Full Changelog: 1.0.5...1.5.0

What's New and What's Next? See our Release Note

v1.0.5

Choose a tag to compare

@a710128 a710128 released this 09 Oct 05:22
  • Supports MPS devices.

Full Changelog: 1.0.4...1.0.5

v1.0.4

Choose a tag to compare

@a710128 a710128 released this 23 Sep 06:12

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

Full Changelog: 1.0.3...1.0.4

v1.0.3

Choose a tag to compare

@a710128 a710128 released this 18 Sep 12:06

Full Changelog: 1.0.2...1.0.3

v1.0.2

Choose a tag to compare

@a710128 a710128 released this 17 Sep 13:18

Full Changelog: 1.0.1...1.0.2

v1.0.1

Choose a tag to compare

@a710128 a710128 released this 16 Sep 08:54
set default repo id