Skip to content
AI Tools·9 min read·

VoxCPM2: The Free, Open Source Text-to-Speech Engine With Voice Design and Voice Cloning From Text (2026 Setup Guide)

VoxCPM2 is a free, open source, tokenizer-free text-to-speech and voice cloning engine from OpenBMB that invents new voices from a text description, clones a voice from a few seconds of audio, and speaks 30 languages locally on your own GPU.

By Abdul Rauf Azhar

Most high-quality text-to-speech still means paying a cloud service like ElevenLabs a monthly subscription plus per-character fees, and handing your voice samples to a corporate server in the process. The open source alternatives usually sound robotic because they chop audio into discrete tokens, which introduces stuttering and pronunciation artifacts. If you want expressive, controllable AI narration without a bill or a privacy tradeoff, that gap has been hard to close.

VoxCPM2 is a free, open source text-to-speech and voice cloning engine from OpenBMB and ModelBest that runs entirely on your own hardware. It is tokenizer-free, so it models audio in a continuous space instead of chopping it into tokens, which removes the robotic stutter. Its headline feature is Voice Design: you can conjure a brand-new human voice just by describing it in plain English, no reference audio required.

In this guide, you'll learn what VoxCPM2 is, who it's for, and how to install it and generate speech locally on an NVIDIA GPU.

What is VoxCPM2?

VoxCPM2 is the latest major release of VoxCPM, an open source text-to-speech engine developed by OpenBMB and ModelBest. Unlike almost every other major TTS model, VoxCPM is completely tokenizer-free. It uses an end-to-end diffusion-autoregressive architecture built on the MiniCPM-4 language model backbone, and by modeling audio in a continuous space it avoids the stuttering and pronunciation artifacts that plague token-based systems.

The newest 2-billion parameter version is trained on over 2 million hours of speech data and natively supports 30 global languages, including 9 Chinese regional dialects, without requiring any manual language tags. You can feed it a paragraph that mixes English, Japanese, French, and a regional dialect, and it will transition between them smoothly in the same breath.

Its real superpower is control. Voice Design lets you invent an entirely new voice by describing it in natural language, for example "a young female surfer speaking with a laid-back, chill, nasal drawl." On top of that, Controllable Voice Cloning lets you clone a real person's voice from a short clip and then completely alter their emotion, speed, and delivery through text instructions, so the same cloned voice can whisper, shout, or switch languages on command.

Who is it for?

  • Game developers and animators: Teams who need hundreds of unique NPC voices without hiring voice actors. You describe each character in text and generate a consistent vocal identity for it.
  • Content creators and audiobook producers: Creators who want highly expressive, emotional AI narration that can switch languages seamlessly inside a single sentence.
  • AI application builders: Developers building virtual streamers or voice assistants who want a local, low-latency inference engine with no cloud API fees.
  • Researchers and hobbyists: People exploring the cutting edge of diffusion-based zero-shot voice cloning and continuous-space audio generation.

What makes VoxCPM2 different from cloud TTS services?

  • Voice Design with no audio required: You do not need a reference clip to make a custom voice. Wrap a description in parentheses at the start of your prompt, such as (A wise old man speaking very slowly and dramatically) Welcome, traveler., and the model invents the voice instantly.
  • Controllable voice cloning: Even when cloning a 3-second clip of your own voice, you keep full control. You can instruct the model to make the cloned voice angry, whisper, or speak a different language fluently.
  • Ultimate cloning mode: For a faithful 1:1 replica with every breath and nuance matched, you provide the reference audio alongside its exact text transcript. The model uses audio continuation for maximum fidelity.
  • 30-language multilingualism: It handles 30 languages and 9 Chinese dialects with no language tags, and transitions between them mid-sentence.
  • Tokenizer-free, continuous audio: The diffusion-autoregressive architecture models audio continuously rather than as discrete tokens, which removes the robotic stutter common to token-based TTS.
  • Free and open source: VoxCPM2 model weights and code are released under the Apache-2.0 license, so you can run, modify, and self-host it with no subscription.

What you need before you start

VoxCPM2 is a heavy 2-billion parameter neural network. To run it locally with good performance, make sure you have:

  • An NVIDIA GPU: An RTX 3090, 4090, or a datacenter-class GPU is strongly recommended for a low real-time factor. Aim for at least 16GB of VRAM.
  • Python 3.10 to 3.12: Python 3.13 is not yet supported.
  • PyTorch 2.5.0 or newer with CUDA 12.0+: Required to run the optimized attention backends.
  • Git and the Hugging Face CLI: Needed to clone the repo and download the model weights.
  • Disk space for the weights: The 2B parameter weights are large, so keep several gigabytes free in your target directory.

Step-by-step installation

Step 1: Clone the repository and install dependencies

Open your terminal, create a fresh Python environment, and clone the official OpenBMB repository:

git clone https://github.com/OpenBMB/VoxCPM.git
cd VoxCPM
pip install -r requirements.txt
pip install soundfile

Step 2: Download the model weights

Use the Hugging Face command-line tool to pull the 2B parameter weights into a new pretrained_models directory:

huggingface-cli download openbmb/VoxCPM2 --local-dir ./pretrained_models/VoxCPM2

Step 3: Generate speech with Voice Design

Create a Python file such as generate.py and paste the following to test Voice Design. The instructions inside the parentheses dictate the voice style, and the model invents a completely new voice from text alone:

import soundfile as sf
from voxcpm import VoxCPM

# Initialize the model
model = VoxCPM.from_pretrained("./pretrained_models/VoxCPM2", load_denoiser=False)

# The instructions in parentheses dictate the voice style and emotion
target_text = "(A young woman with a sweet, gentle voice, speaking softly) Hello! Welcome to the new era of generative audio."

wav = model.generate(
    text=target_text,
    cfg_value=2.0,            # Higher values adhere closer to the instruction
    inference_timesteps=10    # Lower is faster, higher gives better audio quality
)

# Save the output to a WAV file
sf.write("voice_design_output.wav", wav, model.tts_model.sample_rate)
print("Saved successfully!")

Note: cfg_value controls how strictly the model follows your parenthetical instruction, and inference_timesteps trades speed for quality. Start with the defaults above and tune from there.

Step 4: Controllable voice cloning

To clone an existing voice but change its emotion, add a path to a short reference clip of roughly 5 seconds in your generate() call:

wav = model.generate(
    text="(Slightly faster, very angry tone) I told you never to touch that button!",
    reference_wav_path="./path_to_your_voice.wav",
    cfg_value=2.0,
    inference_timesteps=10
)

The model clones the vocal identity from the reference clip while applying the emotion and pacing from your text instruction.

Common errors and how to fix them

Error What it means How to fix it
CUDA out of memory (OOM) during generation The 2B parameter model needs significant VRAM, especially on long text blocks or high inference timesteps. Split your text into shorter individual sentences before passing them to the generator. If your GPU has less than 16GB of VRAM, try a community 4-bit quantized version of the model.
Cloned voice has heavy background noise or hiss The model is so accurate it cloned the background room noise from your reference clip. Set load_denoiser=True when initializing the model to apply the built-in ZipEnhancer, which cleans the reference audio before cloning.
Voice Design ignores the text instructions The model is struggling to align the natural language prompt with the acoustic output. Raise cfg_value toward 3.0 or 4.0 to force stricter adherence, and make sure the instruction sits at the very start of the string inside the parentheses.
Python 3.13 install errors VoxCPM2 does not yet support Python 3.13, so dependencies fail to build. Create a fresh environment on Python 3.10, 3.11, or 3.12 and reinstall the requirements there.

VoxCPM2 vs cloud TTS platforms

Feature VoxCPM2 (local open source) ElevenLabs / Hume AI (cloud SaaS)
Usage cost $0, run endlessly on your own hardware Monthly subscription plus per-character usage fees
Voice Design from text Yes, built in via prompt instructions Yes, via a dedicated Voice Design UI
Voice cloning control Clone a clip and redirect emotion, speed, and language via text Available, but tied to the platform's controls and quotas
Data privacy Fully local, samples never leave your machine Voice samples uploaded to corporate servers
Languages 30 languages and 9 Chinese dialects, no tags needed Broad language support, varies by plan
Deployment difficulty Requires Python and a strong GPU Turn-key REST APIs and web apps
Best for Builders who want free, private, directable voices at scale Users who want zero setup and are fine paying per character

Bottom line: VoxCPM2 is a major milestone for open source audio generation. Directing a synthetic voice's emotion and tone with nothing but text tags in parentheses brings real directorial control to local TTS, and cloning a voice while rewriting its delivery is genuinely new. A cloud platform like ElevenLabs charges a monthly subscription plus per-character fees and uploads your voice samples to its servers. VoxCPM2 costs nothing beyond the electricity to run your GPU, keeps every sample on your machine, and never caps how much audio you generate. If you have the VRAM to run it, this is the best free, open source way to get expressive, controllable AI speech.

3 alternatives worth checking out

  • Supertonic (github.com/supertone-inc/supertonic): The best pick when your hardware cannot handle a 2B parameter PyTorch model. It runs on ONNX as a tiny model that generates fast on standard CPUs. It lacks VoxCPM's zero-shot Voice Design from text, but it is very efficient for embedding into edge devices and web browsers.
  • Kokoro TTS (huggingface.co/hexgrad/Kokoro-82M): A featherweight favorite of the open source TTS world, known for staggeringly human-like English inflection despite its tiny parameter count. It needs almost no setup and is popular with homelabbers, though it does not yet cover the 30 languages VoxCPM supports.
  • XTTSv2 by Coqui (github.com/coqui-ai/TTS): The veteran of local voice cloning and the longtime standard for 3-second zero-shot cloning. It is stable and integrated into hundreds of open source projects, but VoxCPM's diffusion-autoregressive approach is proving to have more natural emotional control.

Found this guide useful? Check out more AI tools and open source projects on Sudo Scout.

Share:

Related posts