VoxCPM: The TTS Model That Skips Audio Tokens Entirely

OpenBMB’s tokenizer-free speech system turns text, voice descriptions, and short reference clips into continuous, high-fidelity speech.

9 min read • View on GitHub • More from OpenBMB

A broken conveyor of tiny audio tokens feeds a fragmented machine on the left, while a smooth speech waveform emerges from a clean engine on the right. A narrow gate in the middle suggests a controlled bridge between language and sound, which explains VoxCPM’s continuous approach to text-to-speech.
VoxCPM’s thesis is simple: remove the token middleman, keep the control.
Key Takeaways

Most TTS systems still walk speech through a discrete token bottleneck. VoxCPM takes a different route. It tries to generate speech as a continuous signal, which is why the repo feels less like “another voice model” and more like a reset button for how voice systems can be built.

Why VoxCPM Feels Like a Reset Button for TTS

VoxCPM is a tokenizer-free Text-to-Speech system that directly generates continuous speech representations via an end-to-end diffusion autoregressive architecture, bypassing discrete tokenization to achieve highly natural and expressive synthesis.

OpenBMB, Project Maintainer · OpenBMB/VoxCPM: VoxCPM2

That one sentence explains the project’s whole argument. If you quantize speech into discrete units first, you inherit a ceiling on detail. Tiny timing cues, breath, micro-prosody, and tonal texture all get squeezed through a smaller channel.

VoxCPM’s pitch is that the model should control voice more directly. Instead of asking it to rebuild sound from a stack of audio tokens, it learns a continuous path from text and conditions to waveform-level speech. That changes the product story too. It is not just cloning. It is closer to voice design.

The Pipeline: Text, Voice, and a Continuous Latent Bridge

The model is easiest to understand as a chain of representations: language in, compressed latent in the middle, speech out.

The repo’s structure mirrors that story. MiniCPM handles semantics. A residual acoustic stage adds the parts language alone cannot carry. Then a local DiT decoder, paired with conditional flow matching, turns the latent state into speech features.

That is the important shift. VoxCPM does not just replace one black box with another. It replaces a brittle audio-token bridge with a more direct chain of representations, which is why the architecture reads as an attempt to make speech generation more controllable.

The Clever Part Is the Bridge, Not Just the Decoder

A close-up shows a text prompt card on one side and a strip of waveform on the other, connected by a narrow gate that snaps a flowing signal into a compact latent form. A small forward current pushes the latent toward a speech engine, which illustrates how VoxCPM compresses and translates between semantics and audio.
The scalar quantization layer is the hinge. It keeps the model from wandering between text semantics and acoustic continuity.

The scalar quantization layer matters because it is not just a compression trick. It is the translation surface between a language model’s symbolic world and the audio model’s continuous world. That makes it a bottleneck, but a useful one.

A good bottleneck is what gives a system shape. In VoxCPM, the bridge keeps the model from becoming a mushy end-to-end blob. It also makes the control story believable. Text, voice description, and reference audio all have somewhere to land.

VoxCPM2 is the latest major release — a 2B parameter model trained on over 2 million hours of multilingual speech data, now supporting 30 languages, Voice Design, Controllable Voice Cloning, and 48kHz studio-quality audio output. Built on a MiniCPM-4 backbone.

OpenBMB, Project Maintainer · OpenBMB/VoxCPM: VoxCPM2

Why the Audio VAE Is Asymmetric

Design choiceWhat it doesWhy it matters
16kHz reference inAccepts common clip quality for prompts and cloningMakes the input side practical
48kHz outputGenerates higher-fidelity speech directlyRaises the ceiling without a separate upsampler
Asymmetric audio VAEUses different input and output roles for compression and decodingTurns super-resolution into part of the synthesis stack
Snake1d and causal convolutionsCapture high-frequency structure without breaking temporal flowHelps the model preserve detail in speech

This asymmetry is more than a spec-sheet flourish. It folds super-resolution into the product itself, so the model is not merely cloning voices at the quality of the input. It is trying to lift the output class above the input class.

That is commercially useful. Real reference clips are often imperfect. If the model can accept 16kHz input and still produce 48kHz output, the system becomes easier to deploy in messy, real-world settings.

Flow Matching Gives It Speed Without the Usual Diffusion Tax

VoxCPM uses conditional flow matching instead of a slower, more familiar diffusion setup. The practical idea is simple: learn the direction from noise to speech as a velocity field, then follow that path with fewer steps.

The repo also leans on local attention to keep long audio sequences tractable. That matters because speech is unforgiving. You do not just need the right phonemes. You need the model to keep rhythm, pacing, and consistency over time without paying an enormous compute bill.

ApproachSampling postureTrade-off
Standard diffusionMany refinement stepsOften slower
Conditional flow matchingFollows a learned velocity pathCan be faster at inference
Local attentionFocuses on nearby contextHelps scale long audio without global attention cost

Voice Design Changes the Product Category

This is where VoxCPM stops looking like a cloning demo and starts looking like a creative system. The repo supports voice design from natural-language descriptions. That means the user can ask for a voice profile, not just provide a voice sample.

That shift is subtle but important. Cloning says, “make this voice again.” Voice design says, “make a voice that fits this brief.” Those are different workflows, different user expectations, and eventually different business models.

VoxCPM 🔊 a tokenizer-free, diffusion-based TTS released by OpenBMB openbmb/VoxCPM-0.5B✨ 0.5B - Apache2.0✨ Zero-Shot Voice Cloning✨ Built on miniCPM4✨ Context-Aware Speech: trained on 1.8M hrs bilingual data

AdinaY, Notable Developer/Hugging Face User · @AdinaY on Hugging Face

The open-source angle also matters here. The project is Apache-2.0 licensed, which makes self-hosting and commercial use much easier to imagine than with a typical research release. That alone widens the audience from hobbyists to product teams.

Where VoxCPM Wins, and Where It Still Has to Prove Itself

AxisVoxCPMToken-based TTS
RepresentationContinuous latent speechDiscrete audio tokens
Control surfaceText, voice description, reference clipUsually reference clip first
Output postureNative 48kHz generationOften lower sample rate or extra vocoder path
Core promiseVoice design and cloning in one stackReliable cloning through token pipelines
RiskArchitecture is ambitious and still needs field proofMore established and easier to reason about

The trade-off is obvious. VoxCPM is more ambitious, but ambition comes with complexity. A token-based system can be easier to debug and easier to compare. A continuous system can be more expressive, but it has more of the model’s fate tied up in representation quality.

That is why the repo is interesting even if you never deploy it. It is making a clean bet that speech generation should feel more like continuous control than discrete reconstruction. If that bet holds, a lot of today’s TTS assumptions age quickly.