★ Reading this for free? Get 20 structured AI courses + per-chapter AI tutor — the first chapter of every course free, no card.Start free in 30 seconds
Audio

VoxCPM2 Is Apache-2.0: Voice Cloning You Can Sell

September 13, 2026
12 min read
LocalAimaster Research Team

Want to go deeper than this article?

Free account unlocks the first chapter of all 25 courses — RAG, agents, MCP, voice AI, MLOps, real GitHub repos.

📚AI Learning Path

Voice working locally? Build the whole pipeline. Whisper, TTS, and voice cloning wired into real projects — hands-on courses. First chapter free, no card.

Start free
Or own it for life — Lifetime $149, pay once

Short answer: VoxCPM2 is Apache-2.0 — commercial use, no attribution clause, no revenue ceiling — and it is the most capable voice-cloning model that can say that. 2B parameters, 30 languages plus 9 Chinese dialects, 48kHz output, ~8GB VRAM, and a real-time factor of ~0.30 on an RTX 4090 (~0.13 with NanoVLLM serving), all per OpenBMB's own documentation. Install is one line: pip install voxcpm.

If you have been circling this space looking for something you can put inside a paid product, the licence is the entire headline. Nearly every open model that clones voices well arrives wrapped in a research licence, a non-commercial clause, or a "contact us above $X revenue" gate. VoxCPM2 does not.

Two honest notes before the detail. First, this is not a this-week release — the Hugging Face repo was created on 3 April 2026 and commits were still landing the day we wrote this. It is a franchise under active development, and 453,089 downloads say the demand is sustained rather than a spike. Second, every performance number on this page is OpenBMB's, measured on their hardware. We have not yet run VoxCPM2 on our own 8GB card; where that matters, it is flagged.


The Licence, First

Apache-2.0. Free for commercial use. That is the rarest property in this entire category, and it is why this page exists.

The model card states it twice — once in the highlights ("Fully Open-Source & Commercial-Ready — Apache-2.0 license, free for commercial use") and once in the licence section. The Hugging Face repo metadata carries license: apache-2.0. There is no separate community licence file bolting on extra conditions, which is the trap you have to check for these days.

Here is how that compares against the models people actually weigh it against. These are the licence fields we read off each repo directly:

ModelLicence on the repoSell a product with it?
VoxCPM2 (openbmb)apache-2.0Yes, unconditionally
Chatterbox (ResembleAI)mitYes, unconditionally
Kokoro-82M (hexgrad)apache-2.0Yes — but no voice cloning
Fish S2 Pro (fishaudio)other — fish-audio-research-licenseNo, not without their terms
Supertonic-3 (Supertone)openrailConditionally — use restrictions attach

Two things that honesty requires us to say. VoxCPM2 is not the only permissive option — Chatterbox is MIT and also clones voices, and Kokoro is Apache-2.0 if you only need fixed voices. And for a couple of other models people ask about, including k2-fsa's OmniVoice and IndexTTS-2, we could not find a licence field on the repository at all, which is not the same as "restricted" and not the same as "safe". Do not deploy against a blank licence field; ask the maintainers.

Where VoxCPM2 wins is the combination: permissive licence and 30 languages and reference-audio cloning and 48kHz output and text-driven voice design. Nothing else on that table has all five.

One boundary worth stating plainly, because the licence does not cover it: Apache-2.0 gives you rights to the model, not to someone's voice. OpenBMB's own limitations section says use for impersonation, fraud or disinformation is "strictly forbidden" and that AI-generated content should be clearly labelled. Consent for the reference clip is your problem, and in several jurisdictions it is a legal one. If licence terms are why you are here, our breakdown of the XTTS/Coqui commercial licence mess is the cautionary version of this story.


Reading articles is good. Building is better.

Free account = the first chapter of all 25 courses, with a per-chapter AI tutor. No card.

Will It Fit? Per-VRAM Table

~8GB is the official figure for VoxCPM2, and it is a floor rather than a comfort zone. The VRAM column below comes from OpenBMB's own reference table in the VoxCPM documentation; the rest is our reading of what each tier means in practice.

Your hardwareWhat to runVRAM (per OpenBMB)What to expect
8GB (3060 Ti, 4060, 3070)VoxCPM2 bf16, load_denoiser=False~8GBThe stated floor. Nothing else on the card. If it OOMs, drop to VoxCPM 1.5.
8GB, but tightVoxCPM 1.5 (0.8B)~6GBDocs list RTF ~0.15 — actually faster than VoxCPM2. Fewer languages.
8GB, tighter stillVoxCPM 1.0 (0.5B)~5GBThe original. RTF ~0.17.
12GB (3060 12GB, 4070, 5070)VoxCPM2 bf16 + denoiser~8GB + headroomThe sensible tier. Room for the ZipEnhancer denoiser and a browser.
16GB (4060 Ti 16GB, 4080)VoxCPM2 + torch.compile~8GB + compile buffersComfortable. optimize=True pays off here.
24GB (3090, 4090)VoxCPM2 + NanoVLLM-VoxCPM~8GB + serving overheadThe card OpenBMB benchmark on. RTF 0.30 / 0.13.
32GB+ (5090, RTX Pro)Concurrent servingBatching is the only reason to go here; a single stream does not need it.
Apple Silicondevice="mps", or MLX 4-bit (2.30GB)Unified memorySupported. Denoiser stays on CPU. See the Apple section below.
CPU onlydevice="cpu", optimize=FalseSystem RAMWorks out of the box; the docs describe it plainly as slow.

Download size is small by 2026 standards. The official repo is two files that matter: model.safetensors at 4.58GB (bf16, 2,290,004,544 parameters per the repo metadata) and audiovae.pth at 0.377GB — under 5GB total. Compare that to the tens of gigabytes a modern image or music model wants, and TTS starts to look like the cheapest capable thing you can host. Our MiniMax Music 3 guide is the other end of that scale: a 57GB download for the same "make audio locally" job.

If you are choosing a card around this workload rather than fitting it to what you own, the hardware hub has the wider picture — but honestly, TTS is the one modern workload where a 12GB card is genuinely enough.


Setup in Three Commands

pip install voxcpm is the whole install. The first from_pretrained call downloads the weights.

Requirements, from the official installation page: Python 3.10–3.12 (3.10–3.11 most tested), PyTorch 2.5.0 or higher, and CUDA 12.0+ optional — the docs are explicit that "CUDA is not required for CPU inference or Apple Silicon MPS usage".

pip install voxcpm

Then the minimal generate, straight from the model card:

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)

There is also a CLI, which defaults to openbmb/VoxCPM2:

voxcpm design --text "Hello from VoxCPM!" --output out.wav

voxcpm clone --text "This is a cloned voice sample." \
  --reference-audio path/to/voice.wav --output out.wav --denoise

And streaming, if you are wiring this into an assistant rather than batch-rendering files:

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

Three setup landmines the docs call out, so you do not lose an evening:

  • Windows + Triton. Python int too large to convert to C long on load is a Triton-on-Windows problem. Either install triton-windows, match your Triton version to your PyTorch version, or just pass optimize=False to skip torch.compile entirely — slower, functionally correct.
  • Could not load libtorchcodec when you use reference audio. torchaudio ≥ 2.9 defaults to torchcodec, which wants FFmpeg. Install FFmpeg system-wide (brew install ffmpeg / apt install ffmpeg), or force the soundfile backend.
  • CUDA Graphs and threads do not mix. With torch.compile on (the default), running inference from a background thread throws AssertionError in cudagraph_trees. Use optimize=False for multi-threaded code, or NanoVLLM-VoxCPM for real concurrent serving. For Gradio apps the docs suggest default_concurrency_limit=1.

Also worth knowing: VoxCPM2 is not compatible with vLLM or lmdeploy. The docs explain why — it is a diffusion architecture producing continuous audio latents, not discrete tokens. NanoVLLM-VoxCPM is the supported high-throughput path.


The Three Cloning Modes (Plus Voice Design)

Four ways to get a voice out of it, in increasing order of how much you have to give it.

1. Voice Design — no reference audio at all. Put a description in parentheses at the start of the text:

wav = model.generate(
    text="(A young woman, gentle and sweet voice)Hello, welcome to VoxCPM2!",
    cfg_value=2.0, inference_timesteps=10,
)

This is the mode that matters commercially. A designed voice has no real person behind it — no consent question, no likeness rights, nothing to renegotiate when your narrator raises their rate.

2. Basic cloning — one reference clip.

wav = model.generate(text="This is a cloned voice.", reference_wav_path="speaker.wav")

3. Controllable cloning — clip plus a style instruction. Same parenthetical trick, applied on top of a cloned timbre:

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,
)

4. Ultimate cloning — clip plus its exact transcript. This reframes the job as audio continuation, which is why it is the highest-fidelity path:

wav = model.generate(
    text="This is an ultimate cloning demonstration.",
    prompt_wav_path="speaker_reference.wav",
    prompt_text="The transcript of the reference audio.",
    reference_wav_path="speaker_reference.wav",
)

OpenBMB's tip: pass the same clip to both prompt_wav_path and reference_wav_path for highest similarity. Getting the transcript exactly right is the whole trick — a sloppy transcript is worse than no transcript, because the model is trying to continue audio it has been told the wrong words for.

A quality note from the docs' own limitations, and it is the honest one: Voice Design and style control results vary between runs, and OpenBMB recommend generating 1–3 times to get what you want. Budget for re-rolls. If you want the general technique rather than this specific model, our local voice cloning guide covers reference-clip preparation, which is where most bad clones actually come from.


Own it instead of renting it

Run this on your own machine and stop paying every month

Pay once and keep it. No renewal, no per-token bill, and nothing you feed it ever leaves your hardware.

Speed: What RTF 0.30 Actually Means

Faster than realtime by roughly 3x on a 4090, and about 7x with the serving stack. OpenBMB's reference table, reproduced as published:

ModelVRAMRTF (standard)RTF (NanoVLLM-VoxCPM)
VoxCPM 1.0 (0.5B)~5GB~0.17~0.10
VoxCPM 1.5 (0.8B)~6GB~0.15~0.08
VoxCPM 2 (2B)~8GB~0.30~0.13

Read the conditions attached, because they matter: all values measured with inference_timesteps=10, torch.compile enabled, on a single RTX 4090, at concurrency 1.

RTF 0.30 means one minute of speech takes about eighteen seconds to synthesise. For an audiobook that is roughly a 3x-realtime render — a ten-hour book in something over three hours of compute, single-stream. See our local audiobook generator walkthrough for the pipeline around that.

Note the counter-intuitive line in that table: the smaller models are faster, and VoxCPM2 is the slowest of the three. You pay RTF 0.30 versus 0.15 for the 30 languages, the 48kHz output and the better cloning. If your product is English-only and latency-critical, VoxCPM 1.5 may genuinely be the better engine.

What we could not verify: RTF on an 8GB card, real peak VRAM under load as opposed to the docs' round figure, and whether the MLX quants hold quality. All of those need our own hardware and a stopwatch, and this page gets updated when we have them.


Apple Silicon, CPU and Quants

Apple Silicon is supported — properly, in the official docs, not as a community hack. device="auto" falls back cuda → mps → cpu, and you can force any of them.

model = VoxCPM.from_pretrained("openbmb/VoxCPM2", device="mps")
# if MPS throws at runtime:
model = VoxCPM.from_pretrained("openbmb/VoxCPM2", device="cpu", optimize=False)

Two caveats direct from the docs. The ZipEnhancer denoiser runs on CPU even when MPS is active — set load_denoiser=False if you are not enhancing reference audio, which saves memory. And torch.backends.mps.is_available() being true does not guarantee every inference path works on MPS; OpenBMB tell you to fall back to CPU explicitly if you hit an error. optimize=True (torch.compile) is described as primarily useful on CUDA — use --no-optimize on Mac. Which Mac to buy for this kind of work is covered in our Apple Silicon buying guide.

There is a real ecosystem of conversions, which is itself a signal of how much this model gets deployed. Sizes read from the repo listings:

ConversionFilesSize
mlx-community/VoxCPM2-4bitmodel.safetensors2.30GB
mlx-community/VoxCPM2-8bitmodel.safetensors3.22GB
mlx-community/VoxCPM2-bf162 shards4.95GB
DennisHuang648/VoxCPM2-GGUFBaseLM Q8_0 / F16 + Acoustic F161.73 / 3.25 + 1.83GB

All four are community uploads, not OpenBMB releases, and all carry apache-2.0 in their metadata — consistent with the base model. The docs' own ecosystem page also lists VoxCPM.cpp, VoxCPM-ONNX, an Apple Neural Engine port, an RKNN2 build for Rockchip boards, a Rust binding, and three separate ComfyUI nodes. We have not tested any of them, and quantised TTS degrades in ways that are easy to miss on one sample — listen to sibilants and long vowels before you commit.

AMD users: there is a community-reported WSL2 + ROCm path in the FAQ, but the docs are clear it is not a primary tested environment and needed two workarounds (patching torchaudio's codec loader, and optimize=False).


Honest Limitations

From OpenBMB's own limitations list plus what falls out of the docs:

  • Voice Design and style control are non-deterministic. Generate 1–3 times to get the take you want. This is stated, not inferred.
  • Language quality is uneven. 30 languages are supported; performance "varies across languages depending on training data availability". Assume English and Chinese are the strong end.
  • Long or highly expressive inputs can destabilise it. Chunk your text.
  • Max sequence length is 8,192 tokens, LM token rate 6.25 Hz — the architecture table on the card.
  • No vLLM/lmdeploy. Diffusion architecture; use NanoVLLM-VoxCPM or nothing.
  • torch.compile is fragile off the happy path — Windows Triton, background threads, MPS, ROCm all want optimize=False.
  • The licence does not grant you consent. Cloning a real voice is governed by law and ethics, not by Apache-2.0.

vs Chatterbox, Kokoro and XTTS

Better than Kokoro at anything involving a specific voice. Better licensed than Fish S2 or the research-licensed pack. Genuinely contested against Chatterbox.

vs Kokoro-82M — not really a competition, they solve different problems. Kokoro is 82M parameters, Apache-2.0, runs on a potato and sounds great on its fixed voice set. It does not clone. If you need one narrator forever and want it fast and cheap, Kokoro is still the right answer. If you need this voice, or 30 languages, VoxCPM2.

vs Chatterbox (MIT) — the closest fight, and the one where we will not pretend certainty without a listening test. Chatterbox is MIT, which is if anything marginally more permissive than Apache-2.0, and it is the most-downloaded open cloning model by a distance. VoxCPM2's arguments are 48kHz output via AudioVAE V2's built-in super-resolution (accepting 16kHz reference audio), 30 languages, text-driven voice design, and a documented fine-tuning path with 5–10 minutes of audio. Our Chatterbox setup guide and the three-way comparison are the starting points if you want to A/B them yourself — which you should, on your own reference clips.

vs XTTS-v2 — this is the one VoxCPM2 straightforwardly replaces. XTTS was the default open cloning model for years and its licence made it commercially unusable for most people, which we covered in detail here. VoxCPM2 is newer, higher sample rate, better licensed, and actively maintained. If you are still on XTTS for commercial work, this is your exit.

vs Fish S2 Pro and Supertonic-3 — the licence decides it. Fish's repo carries a fish-audio-research-license; Supertonic-3 is OpenRAIL, which attaches use restrictions. Both may sound excellent. Neither is a thing you casually build a paid product on. For the whole field ranked, see best local TTS models.


Verdict

  1. The licence is the product. Apache-2.0 with real cloning, 30 languages and 48kHz output is a combination nothing else on the shortlist offers. If licensing was blocking you, it is unblocked.
  2. ~8GB VRAM, ~5GB of weights, one pip command. This is the cheapest capable model in modern local AI. A 12GB card runs it comfortably.
  3. RTF ~0.30 on a 4090, ~0.13 with NanoVLLM — OpenBMB's numbers, at concurrency 1, torch.compile on. Faster than realtime with room to spare; unmeasured by us on smaller cards.
  4. Use Voice Design for commercial work wherever you can. A designed voice has no consent problem attached. Save cloning for voices you have the rights to.
  5. It is not the only permissive option. Chatterbox is MIT and clones; Kokoro is Apache-2.0 and does not. Test all three on your own clips before you standardise.

The interesting thing about VoxCPM2 is not that it is the best-sounding TTS in the world — that is arguable and will change next month. It is that a model this capable shipped under a licence with no strings, from a lab that keeps committing to it four months later. That is the part that makes it safe to build on.


FAQ

🎯
AI Learning Path

Voice working locally? Build the whole pipeline.

Whisper, TTS, and voice cloning wired into real projects — hands-on courses. First chapter free, no card.

Or own it for life — Lifetime $149 $599, pay once
Once your hardware is sorted

Replace the speech-AI subscription

Local Speech Studio covers TTS, voice cloning and transcription end to end — including which licences actually let you sell what you make.

$149 once unlocks everything, forever — about $0.27/chapter for life. Prefer to spread it out? Pro is $79/year (saves 27%) or $8.99/month.
Secure checkout by Lemon Squeezy — your card never touches this siteInstant access the moment you payFirst chapter of every course is free — try before you buy

Liked this? 25 full AI courses are waiting.

From fundamentals to RAG, agents, MCP servers, voice AI, and production deployment with real GitHub repos. First chapter free, every course.

Reading now
Join the discussion

LocalAimaster Research Team

Creator of Local AI Master. I've built datasets with over 77,000 examples and trained AI models from scratch. Now I help people achieve AI independence through local AI mastery.

Build Real AI on Your Machine

RAG, agents, NLP, vision, and MLOps - chapters across 25 courses that take you from reading about AI to building AI.

Want structured AI education?

25 courses, 519+ chapters, from $9. Understand AI, don't just use it.

AI Learning Path
More on Local Voice & Speech
See the full Coqui TTS & Local Voice AI guide.

Comments (0)

No comments yet. Be the first to share your thoughts!

Can I use VoxCPM2 commercially without paying or attributing?

Yes. The model card and the Hugging Face licence metadata both state Apache-2.0, and OpenBMB spell it out: "Fully Open-Source & Commercial-Ready — Apache-2.0 license, free for commercial use." Apache-2.0 has no revenue ceiling, no non-commercial clause, and no requirement to display the model name in your UI — you keep the standard obligations of retaining the licence text and the NOTICE file if one is distributed. That combination is rare among capable cloning models. Note that the licence governs the weights, not the voices: cloning a real person without consent is a separate legal and ethical problem, and OpenBMB explicitly forbid impersonation and fraud in their limitations section.

How much VRAM does VoxCPM2 need?

Roughly 8GB, per OpenBMB's own reference table in the VoxCPM docs — the same figure appears on the model card. That table also lists the smaller siblings: VoxCPM 1.5 (0.8B) at ~6GB and VoxCPM 1.0 (0.5B) at ~5GB. So an 8GB card is the intended floor for VoxCPM2 rather than a comfortable home; load with load_denoiser=False, which the docs recommend when you do not need prompt-audio enhancement, and expect little headroom for anything else on the card.

Is VoxCPM2 actually faster than realtime?

On a 4090, yes, by a wide margin. OpenBMB report a real-time factor of ~0.30 for the standard pipeline and ~0.13 with NanoVLLM-VoxCPM serving — measured at inference_timesteps=10 with torch.compile enabled on a single RTX 4090, at concurrency 1. RTF 0.30 means ten seconds of speech takes about three seconds to generate. These are vendor-measured numbers on the fastest consumer card; an 8GB GPU will be meaningfully slower and we have not benchmarked one ourselves.

What is the difference between the three cloning modes?

Basic cloning takes a reference clip and nothing else — pass reference_wav_path and go. Controllable cloning adds a style instruction in parentheses at the start of your text, like "(slightly faster, cheerful tone)", which steers emotion and pace while preserving the timbre. Ultimate cloning adds prompt_wav_path plus prompt_text — the exact transcript of the reference — which turns the job into audio continuation and, per OpenBMB, reproduces "every vocal nuance". The docs suggest passing the same clip to both prompt_wav_path and reference_wav_path for highest similarity. There is also a fourth, non-cloning mode: Voice Design generates a novel voice from a text description with no reference audio at all.

Does it run on a Mac?

Yes, and this is where it beats most of the current wave. The VoxCPM docs confirm CPU and MPS support on Apple Silicon; device="auto" falls back cuda to mps to cpu. Two caveats straight from the docs: the ZipEnhancer denoiser runs on CPU even when MPS is active (set load_denoiser=False to save memory), and MPS being available does not guarantee every inference path succeeds — if you hit a runtime error, force device="cpu" with optimize=False. There are also community MLX conversions at 4-bit (2.30GB), 8-bit (3.22GB) and bf16 (4.95GB).

How new is VoxCPM2 really?

The Hugging Face repo was created on 3 April 2026 and was still receiving commits on the day we wrote this, so it is not a brand-new drop — it is a franchise under continuous development. The traction reflects that: 453,089 downloads and 1,537 likes on the main repo, with the older VoxCPM-0.5B still holding 813 likes. We would rather tell you that plainly than dress a four-month-old model up as a this-week release.

Ready to Go Beyond Tutorials?

20 structured courses with hands-on chapters - build RAG chatbots, AI agents, and ML pipelines on your own hardware.

Was this helpful?

📅 Published: September 13, 2026🔄 Last Updated: September 13, 2026✓ Manually Reviewed
LM

Written by the Local AI Master Team

The team behind Local AI Master

We build Local AI Master around practical, testable local AI workflows: model selection, hardware planning, RAG systems, agents, and MLOps. The goal is to turn scattered tutorials into a structured learning path you can follow on your own hardware.

✓ Local AI Curriculum✓ Hands-On Projects✓ Open Source Contributor
📚
Free · no account required

Grab the AI Starter Kit — career roadmap, cheat sheet, setup guide

No spam. Unsubscribe with one click.

🎯
AI Learning Path

Voice working locally? Build the whole pipeline.

Whisper, TTS, and voice cloning wired into real projects — hands-on courses. First chapter free, no card.

Or own it for life — Lifetime $149 $599, pay once
Free Tools & Calculators