Skip to main content

VoxCPM1.5

VoxCPM Speech Series

Integrate VoxCPM1.5 into existing Chinese and English speech projects, choosing Python integration, CLI batch processing or local offline operation as needed. When deploying, pin the model ID and check the output sample rate, concurrency management and version compatibility with existing ecosystem backends.

VoxCPM1.5 is suited to existing bilingual Chinese-English 1.x projects, 44.1kHz output and prompt-audio continuation-style voice cloning. Pin the model ID explicitly when deploying, so that the current voxcpm CLI does not load VoxCPM2 by default.

Deployment information​

ItemValue or notes
Modelopenbmb/VoxCPM1.5
LanguagesChinese, English
Output44.1kHz
Reference VRAMAbout 6 GB per the official series README; the actual value varies with the device, denoiser and requests.
RTX 4090 RTFAbout 0.15 per the official version history.
Cloning inputPrompt audio plus an accurate transcript; VoxCPM2's isolated reference channel is not supported.

In-app Python deployment​

Python
from voxcpm import VoxCPM
import soundfile as sf

model = VoxCPM.from_pretrained(
"openbmb/VoxCPM1.5",
load_denoiser=False,
)

def synthesize(text: str, output: str) -> str:
wav = model.generate(
text=text,
cfg_value=2.0,
inference_timesteps=10,
)
sf.write(output, wav, model.tts_model.sample_rate)
return output

Load the model once during process startup. The application layer is responsible for concurrency queues, request timeouts, text splitting, output file cleanup and retries on errors; do not re-download or reload the model inside each request.

CLI and batch processing​

Bash
# 单条文本
voxcpm design --hf-model-id openbmb/VoxCPM1.5 --text "这是 VoxCPM1.5 的部署验证。" --output out.wav

# 每行一条文本
voxcpm batch --hf-model-id openbmb/VoxCPM1.5 --input texts.txt --output-dir outputs

# 批量克隆
voxcpm batch --hf-model-id openbmb/VoxCPM1.5 --input texts.txt --output-dir clone_outputs --prompt-audio speaker.wav --prompt-text "提示音频中实际说出的完整文本。"

Local models and offline operation​

Python
from huggingface_hub import snapshot_download

snapshot_download(
"openbmb/VoxCPM1.5",
local_dir="./models/VoxCPM1.5",
)
Bash
voxcpm design --model-path ./models/VoxCPM1.5 --local-files-only --text "离线部署验证。" --output offline.wav

Include the model directory, the Python package lock file and the repository commit together in your release artifacts. Caching only the Hub weights without pinning the runtime code still does not guarantee reproducibility.

Web Demo​

Bash
git clone https://github.com/OpenBMB/VoxCPM.git
cd VoxCPM
pip install -e .
python app.py --device auto --port 8808

The Web Demo additionally uses SenseVoice-Small to transcribe prompt audio, and optionally uses ZipEnhancer for audio enhancement. It is suitable for listening tests and internal validation, but does not include the authentication, rate limiting and auditing that a production service needs.

Ecosystem backends​

The OpenBMB series README lists a reference RTF of about 0.08 for VoxCPM1.5 on an RTX 4090 with Nano-vLLM, but Nano-vLLM-VoxCPM is an independently maintained ecosystem project. Before using it, confirm in its repository whether the current version supports the 1.5 weights, the output sample rate and the interfaces you need. The official examples for vLLM-Omni and llama.cpp-omni currently focus on VoxCPM2, so do not assume by default that they can load 1.5 directly.

Production validation​

ItemWhat to check
Quality regressionChinese and English, numbers, long and short sentences, prompt-audio continuation and prompt-free generation.
PerformanceRTF, first-packet latency, total latency, concurrency, peak VRAM and failure rate.
AudioConfirm the output is 44.1kHz; when denoising is enabled, check separately whether it drops to 16kHz.
InputLimit text and audio length, validate file formats, and reject corrupted audio or audio with overlapping speakers.
SafetySpeaker authorization, access control, AI-generated content labeling and minimal logging of sensitive audio.

Developer Showcase

View all →