From: openbmb <huggingface.co/openbmb>Newsgroups: alt.freeweights.minicpmSubject:

VoxCPM2

Date: 2026-11-14Commit: 7936080Signed: 2DC28CC7B26A283B ✓

Text to speech model with 2.3B parameters. Safetensors weights, 4.96 GB in all. Published by openbmb under Apache-2.0.

2.3B params4.96GBVoxCPM2safetensorspermissive
FactsParams2.3BSize4.96 GBFormatssafetensorsTasktext to speechLicenseApache-2.0From sourcepermissive
$ fw get openbmb/VoxCPM2
# manifest sha256 44194103c6fd… · 4.96 GB · 9 files
$ fw verify ./VoxCPM2 openbmb/VoxCPM2
From sourceHosted (signed)openbmb/VoxCPM2Last check: 2026-11-14 21:25 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Works with

Overview

Size
4.96 GB
Weights
4.58 GB (safetensors)
Parameters
2.3B
Formats
safetensors
Task
text to speech
License
Apache-2.0 (permissive)
Files
9, each with a sha256
Publisher
openbmb
Added
2026-11-14
Section
alt.freeweights.minicpm
Lineage

Original release from the publisher.

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-14 21:25 UTCpassed

Model card

From the publisher at commit 7936080. Shown as plain text with links; images open at the publisher.

VoxCPM2#

VoxCPM2 is a tokenizer-free, diffusion autoregressive Text-to-Speech model β€” 2B parameters, 30 languages, 48kHz audio output, trained on over 2 million hours of multilingual speech data.

GitHub Docs Demo Audio Samples Discord Lark MiniCPM Wiki

Highlights#

  • 🌍 30-Language Multilingual β€” No language tag needed; input text in any supported language directly
  • 🎨 Voice Design β€” Generate a novel voice from a natural-language description alone (gender, age, tone, emotion, pace…); no reference audio required
  • πŸŽ›οΈ Controllable Cloning β€” Clone any voice from a short clip, with optional style guidance to steer emotion, pace, and expression while preserving timbre
  • πŸŽ™οΈ Ultimate Cloning β€” Provide reference audio + its transcript for audio-continuation cloning; every vocal nuance faithfully reproduced
  • πŸ”Š 48kHz Studio-Quality Output β€” Accepts 16kHz reference; outputs 48kHz via AudioVAE V2's built-in super-resolution, no external upsampler needed
  • 🧠 Context-Aware Synthesis β€” Automatically infers appropriate prosody and expressiveness from text content
  • ⚑ Real-Time Streaming β€” RTF as low as ~0.3 on NVIDIA RTX 4090, and ~0.13 accelerated by Nano-VLLM
  • πŸ“œ Fully Open-Source & Commercial-Ready β€” Apache-2.0 license, free for commercial use

Supported Languages (30)

Arabic, Burmese, Chinese, Danish, Dutch, English, Finnish, French, German, Greek, Hebrew, Hindi, Indonesian, Italian, Japanese, Khmer, Korean, Lao, Malay, Norwegian, Polish, Portuguese, Russian, Spanish, Swahili, Swedish, Tagalog, Thai, Turkish, Vietnamese

Chinese Dialects: 四川话, η²€θ―­, 吴语, δΈœεŒ—θ―, 河南话, ι™•θ₯Ώθ―, 山东话, 倩ζ΄₯话, 闽南话

Quick Start#

Installation#
pip install voxcpm

Requirements: Python β‰₯ 3.10, PyTorch β‰₯ 2.5.0, CUDA β‰₯ 12.0 Β· Full Quick Start β†’

Text-to-Speech#
from voxcpm import VoxCPM
import soundfile as sf

model = VoxCPM.from_pretrained("openbmb/VoxCPM2", load_denoiser=False)

wav = model.generate(
    text="VoxCPM2 brings multilingual support, creative voice design, and controllable voice cloning.",
    cfg_value=2.0,
    inference_timesteps=10,
)
sf.write("output.wav", wav, model.tts_model.sample_rate)
Voice Design#

Put the voice description in parentheses at the start of text, followed by the content to synthesize:

wav = model.generate(
    text="(A young woman, gentle and sweet voice)Hello, welcome to VoxCPM2!",
    cfg_value=2.0,
    inference_timesteps=10,
)
sf.write("voice_design.wav", wav, model.tts_model.sample_rate)
Controllable Voice Cloning#
# Basic cloning
wav = model.generate(
    text="This is a cloned voice generated by VoxCPM2.",
    reference_wav_path="speaker.wav",
)
sf.write("clone.wav", wav, model.tts_model.sample_rate)

# Cloning with style control
wav = model.generate(
    text="(slightly faster, cheerful tone)This is a cloned voice with style control.",
    reference_wav_path="speaker.wav",
    cfg_value=2.0,
    inference_timesteps=10,
)
sf.write("controllable_clone.wav", wav, model.tts_model.sample_rate)
Ultimate Cloning#

Provide both the reference audio and its exact transcript for maximum fidelity. Pass the same clip to both reference_wav_path and prompt_wav_path for highest similarity:

wav = model.generate(
    text="This is an ultimate cloning demonstration using VoxCPM2.",
    prompt_wav_path="speaker_reference.wav",
    prompt_text="The transcript of the reference audio.",
    reference_wav_path="speaker_reference.wav",
)
sf.write("hifi_clone.wav", wav, model.tts_model.sample_rate)
Streaming#
import numpy as np

chunks = []
for chunk in model.generate_streaming(text="Streaming is easy with VoxCPM!"):
    chunks.append(chunk)
wav = np.concatenate(chunks)
sf.write("streaming.wav", wav, model.tts_model.sample_rate)

Model Details#

PropertyValue
ArchitectureTokenizer-free Diffusion Autoregressive (LocEnc β†’ TSLM β†’ RALM β†’ LocDiT)
BackboneBased on MiniCPM-4, totally 2B parameters
Audio VAEAudioVAE V2 (asymmetric encode/decode, 16kHz in β†’ 48kHz out)
Training Data2M+ hours multilingual speech
LM Token Rate6.25 Hz
Max Sequence Length8192 tokens
dtypebfloat16
VRAM~8 GB
RTF (RTX 4090)~0.30 (standard) / ~0.13 (Nano-vLLM)

Performance#

VoxCPM2 achieves state-of-the-art or competitive results on major zero-shot and controllable TTS benchmarks.

See the GitHub repo for full benchmark tables (Seed-TTS-eval, CV3-eval, InstructTTSEval, MiniMax Multilingual Test).

Fine-tuning#

VoxCPM2 supports both full SFT and LoRA fine-tuning with as little as 5–10 minutes of audio:

# LoRA fine-tuning (recommended)
python scripts/train_voxcpm_finetune.py \
    --config_path conf/voxcpm_v2/voxcpm_finetune_lora.yaml

# Full fine-tuning
python scripts/train_voxcpm_finetune.py \
    --config_path conf/voxcpm_v2/voxcpm_finetune_all.yaml

See the Fine-tuning Guide for full instructions.

Limitations#

  • Voice Design and Style Control results may vary between runs; generating 1–3 times is recommended to obtain the desired output.
  • Performance varies across languages depending on training data availability.
  • Occasional instability may occur with very long or highly expressive inputs.
  • Strictly forbidden to use for impersonation, fraud, or disinformation. AI-generated content should be clearly labeled.

Citation#

@article{voxcpm2_2026,
  title   = {VoxCPM2: Tokenizer-Free TTS for Multilingual Speech Generation, Creative Voice Design, and True-to-Life Cloning},
  author  = {VoxCPM Team},
  journal = {GitHub},
  year    = {2026},
}

@article{voxcpm2025,
  title   = {VoxCPM: Tokenizer-Free TTS for Context-Aware Speech Generation and True-to-Life Voice Cloning},
  author  = {Zhou, Yixuan and Zeng, Guoyang and Liu, Xin and Li, Xiang and
             Yu, Renjie and Wang, Ziyang and Ye, Runchuan and Sun, Weiyue and
             Gui, Jiancheng and Li, Kehan and Wu, Zhiyong and Liu, Zhiyuan},
  journal = {arXiv preprint arXiv:2509.24650},
  year    = {2025},
}

License#

Released under the Apache-2.0 license, free for commercial use. For production deployments, we recommend thorough testing and safety evaluation tailored to your use case.

Files

9 files Β· 4.96 GBWeights 4.58 GB (safetensors). Sizes and sha256 from the signed manifest.
Hide all 9 files with their sha256
FileSizesha256
.gitattributes1.52 KB11ad7efa24975ee4b0c3c3a38ed18737f0658a5f75a0a96787b576a78a023361
README.md7.90 KBfeb850b390aa5051b81cbdc73b048361273552f003dd386b4da9c39ec9b6f055
audiovae.pth377 MB94b5d51e107e0507d4acc976cfdadb64edd6fd06d1f751dadbf2fd1594274bf1
config.json4.34 KB405f0dcd92f7feba6011ed4eac5c8d4f74cba9712f07fd5cfa3063bbdd95402c
model.safetensors4.58 GBf7f964cfa9da23653baec6e6f7750719977ad944ed9f95fe52fe3a620506891d
special_tokens_map.json1.63 KB068594063e37662c02b21acf42ebb334ef6a74fb810e68a2368f88f08351de76
tokenization_voxcpm2.py2.90 KB84489ea32b6ee0cae22ed5480cacb6df85c46624c3119be9a2021c3649a12729
tokenizer.json3.68 MBf8984687e4a92a3503d521396d454b7d68e9fdaab2a0288eb3536c7c1aa4bc20
tokenizer_config.json5.06 KBe78a3ebb48a0b9437efd1823b6b726c823da89e49dd8bcc90c02419d9baa772b
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
7936080b41 pinned now manifest updated, same commit2026-11-14 21:25 UTC9 files Β· 4.96 GB
7936080b412026-11-14 21:25 UTC9 files Β· 4.96 GB

Use it

$ fw get openbmb/VoxCPM2
# manifest sha256 44194103c6fd… · 4.96 GB · 9 files
$ fw verify ./VoxCPM2 openbmb/VoxCPM2
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/openbmb/VoxCPM2.json --dir ./VoxCPM2 $ python3 fw.py verify ./VoxCPM2 ./openbmb__VoxCPM2.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/VoxCPM2 --revision 7936080b41163874f38610f46f438e2c0757f9fd --local-dir ./VoxCPM2

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-14
Text in
README.md
Text sha256
feb850b390aa5051b81cbdc73b048361273552f003dd386b4da9c39ec9b6f055
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: openbmb <huggingface.co/openbmb>Newsgroups: alt.freeweights.minicpmSubject: VoxCPM2Date: 2026-11-14Commit: 7936080Signed: 2DC28CC7B26A283B ✓
Upstream
openbmb/VoxCPM2
Pinned commit
7936080b41163874f38610f46f438e2c0757f9fd
Manifest
VoxCPM2.json Β· .minisig
Manifest sha256
44194103c6fd932743ca438e1e60e3124823e200891a9873162aa575c9268d7a
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-14 21:25 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/openbmb/VoxCPM2.json $ curl -O https://freeweights.allternit.com/manifests/openbmb/VoxCPM2.json.minisig $ minisign -Vm VoxCPM2.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

3 models in the catalog name this one as their parent.

Fine-tunes
3
Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download openbmb/VoxCPM2
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. VoxCPM2.json. Provenance. Takedown history: none.
From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Explore-GGUF
From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Report
From: openbmb <huggingface.co/openbmb>Subject: AgentCPM-Report-GGUF
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-0.5B-gguf
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-1B-gguf
From: openbmb <huggingface.co/openbmb>Subject: BitCPM-CANN-3B-gguf