VoxCPM is an open-source text-to-speech system built by OpenBMB that generates speech through a diffusion autoregressive architecture instead of discrete audio tokens. VoxCPM2, the current major release, is a 2B parameter model trained on over 2 million hours of multilingual audio. It targets developers and researchers who need multilingual speech synthesis, custom voice creation from text descriptions, or voice cloning from a short audio sample, without relying on a hosted API.
VoxCPM fits projects that need self-hosted, multilingual TTS with control over voice characteristics: audiobook and podcast narration, voice assistants that need a specific persona, dubbing pipelines across multiple languages, and product demos where a designed voice (rather than a stock TTS voice) is required. It also fits teams building voice cloning features, such as personalized narration or character voices in games and media, where a short reference clip and optional transcript are available.
It's a good fit if you have GPU access (or are willing to use the CPU/Metal/CUDA paths in llama.cpp-omni) and need production-grade throughput via Nano-vLLM or vLLM-Omni. It is less suited for teams that need a fully managed, zero-setup TTS API, or for use cases requiring guaranteed real-time performance on low-end CPUs without the GGUF quantized path. Voice cloning also raises consent and misuse concerns, so it's not appropriate for cloning voices without the speaker's permission.
Install the Python package with pip. Requirements: Python 3.10 to <3.13, PyTorch >= 2.5.0, and CUDA >= 12.0 for GPU inference.
pip install voxcpm
Load the model and generate speech:
from voxcpm import VoxCPM
import soundfile as sf
model = VoxCPM.from_pretrained("openbmb/VoxCPM2", load_denoiser=False)
wav = model.generate(
text="VoxCPM2 is the current recommended release for realistic multilingual speech synthesis.",
cfg_value=2.0,
inference_timesteps=10,
seed=42,
)
sf.write("demo.wav", wav, model.tts_model.sample_rate)
Weights can also be pulled from ModelScope with pip install modelscope and snapshot_download. A CLI is included for design, cloning, and batch processing:
voxcpm design --text "VoxCPM2 brings studio-quality multilingual speech synthesis." --output out.wav
voxcpm clone --text "This is a voice cloning demo." --reference-audio path/to/voice.wav --output out.wav
A web demo is available via python app.py --port 8808, with a --device flag supporting auto, cpu, mps, cuda, and cuda:N. For production serving, install nano-vllm-voxcpm or set up vllm-omni for an OpenAI-compatible /v1/audio/speech endpoint. For on-device inference without Python, build llama.cpp-omni and download GGUF weights.