VoxCPM
VoxCPM is a tokenizer-free text-to-speech system for multilingual speech generation, creative voice design, controllable cloning, and 48kHz studio-quality audio.
Visit OpenBMB/VoxCPMOverview
VoxCPM is a tokenizer-free text-to-speech system that generates continuous speech representations through a diffusion autoregressive architecture. VoxCPM2, the latest major release, is a 2B-parameter model trained on over 2 million hours of multilingual speech data. It supports 30 languages, voice design, controllable voice cloning, and 48kHz studio-quality audio output, and is built on a MiniCPM-4 backbone.
Key Features
- 30-language multilingual synthesis that accepts text directly without a language tag
- Voice Design that creates a new voice from a natural-language description without reference audio
- Controllable voice cloning from a short reference clip, with optional style guidance for emotion, pace, and expression
- Ultimate cloning using reference audio and its transcript to preserve timbre, rhythm, emotion, and style
- 48kHz high-quality audio output via AudioVAE V2 with built-in super-resolution
- Context-aware synthesis and real-time streaming, with RTF as low as about 0.3 on an NVIDIA RTX 4090
Use Cases
- Expressive audiobooks with natural rhythm and intonation
- Game NPCs and character voices with rich emotional layers
- Multilingual speech with stable timbre and seamless switching
- Custom voice creation from text-based descriptions of style, age, tone, emotion, and pace
Getting Started
- Install the package with pip install voxcpm.
- Use the Python API by loading openbmb/VoxCPM2 with VoxCPM.from_pretrained and calling model.generate with the target text.
- Launch the web demo with python app.py --port 8808, optionally selecting a device such as auto, cpu, mps, or cuda.
- Use the CLI for voice design, voice cloning, ultimate cloning, batch processing, and optional timestamp generation.
Deployment & Requirements
- Python ≥ 3.10 (<3.13), PyTorch ≥ 2.5.0, and CUDA ≥ 12.0 are required.
- VoxCPM2 uses about 8 GB of VRAM and has an RTF of about 0.30 on an NVIDIA RTX 4090.
- High-throughput serving can use Nano-vLLM-VoxCPM, with RTF as low as about 0.13 on an NVIDIA RTX 4090.
- Production multi-tenant serving can use vLLM-Omni with an OpenAI-compatible /v1/audio/speech endpoint.
- On-device or edge inference can use llama.cpp-omni with GGUF weights on CPU, Metal, CUDA, or Vulkan.
Before You Adopt
- License: Apache-2.0. Review its terms before using, modifying, or distributing the project.
- The standard Python package has explicit Python, PyTorch, and CUDA version requirements.
- vLLM-Omni is described as rapidly evolving.
- The on-device inference path is positioned as deployment without Python.
