跳到正文
面壁 MiniCPM 模型发布·· 16 小时前精选AI 评分62

面壁开源 VoxCPM1.5 语音合成模型,采样率升至 44.1kHz

openbmb/VoxCPM1.5

AI 导读

面壁发布 VoxCPM1.5,一款基于 MiniCPM-4 的无 tokenizer 端到端 TTS 模型,音频 VAE 采样率从 16kHz 提升到 44.1kHz,LM token 率从 12.5Hz 降到 6.25Hz。

推荐理由

面壁开源 VoxCPM1.5,采样率从 16kHz 提升到 44.1kHz、token 率减半,并给出可复用的微调与流式合成入口。

正文 · AI 翻译

🎙️ VoxCPM:面向上下文感知语音生成与逼真声音克隆的无分词器 TTS

  • VoxCPM1.5

VoxCPM Logo

🎉 VoxCPM1.5 更新

发布日期:2025 年 12 月 5 日

VoxCPM1.5 在音频质量和效率方面带来改进:

特性 VoxCPM VoxCPM1.5
音频 VAE 采样率 16kHz 44.1kHz
LM Token 速率 12.5Hz 6.25Hz
Patch 大小 2 4
SFT 支持 ✅ ✅
LoRA 支持 ✅ ✅

关键改进:

  • 🔊 更高质量:44.1kHz 采样率保留更多高频细节,实现更好的声音克隆
  • ⚡ 更高效:降低的 token 速率(6.25Hz)在保持性能的同时降低计算成本
  • 🎓 微调支持:使用 SFT 或 LoRA 训练个性化语音模型

注意:输出质量取决于提示语音的质量。VoxCPM-0.5B 仍完全支持并保持向后兼容。

📚 模型概览

VoxCPM 是一种新颖的无分词器文本转语音(TTS)系统,重新定义了语音合成的真实感。通过在连续空间中建模语音,它克服了离散分词化的局限,并实现了两项旗舰能力:上下文感知语音生成和逼真的零样本声音克隆。

与将语音转换为离散 token 的主流方法不同,VoxCPM 采用端到端扩散自回归架构,直接从文本生成连续语音表示。基于 MiniCPM-4 主干,它通过分层语言建模和 FSQ 约束实现隐式语义-声学解耦,大幅提升表现力和生成稳定性。

VoxCPM Model Architecture

🚀 关键特性

  • 上下文感知、富有表现力的语音生成 - VoxCPM 理解文本以推断并生成合适的韵律,提供极具表现力和自然流畅的语音。它根据内容自发调整说话风格,在 180 万小时双语语料库上训练,产生高度契合的声音表达。
  • 逼真的声音克隆 - 仅需一段简短的参考音频片段,VoxCPM 即可执行准确的零样本声音克隆,不仅捕捉说话人的音色,还捕捉口音、情感语调、节奏和语速等细粒度特征,创建忠实而自然的复刻。
  • 高效合成 - VoxCPM 支持流式合成,在消费级 NVIDIA RTX 4090 GPU 上实时因子(RTF)低至 0.17,使实时应用成为可能。

快速开始

🔧 从 PyPI 安装

pip install voxcpm

1. 模型下载(可选)

默认情况下,首次运行脚本时会自动下载模型,但你也可以提前下载模型。

  • 下载 VoxCPM1.5

    from huggingface_hub import snapshot_download
    snapshot_download("openbmb/VoxCPM1.5")
    
  • 或下载 VoxCPM-0.5B

    from huggingface_hub import snapshot_download
    snapshot_download("openbmb/VoxCPM-0.5B")
    
  • 下载 ZipEnhancer 和 SenseVoice-Small。我们在 Web 演示中使用 ZipEnhancer 增强语音提示,使用 SenseVoice-Small 进行语音提示 ASR。

    from modelscope import snapshot_download
    snapshot_download('iic/speech_zipenhancer_ans_multiloss_16k_base')
    snapshot_download('iic/SenseVoiceSmall')
    

2. 基本用法

import soundfile as sf
import numpy as np
from voxcpm import VoxCPM

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

# Non-streaming
wav = model.generate(
    text="VoxCPM is an innovative end-to-end TTS model from ModelBest, designed to generate highly expressive speech.",
    prompt_wav_path=None,      # optional: path to a prompt speech for voice cloning
    prompt_text=None,          # optional: reference text
    cfg_value=2.0,             # LM guidance on LocDiT, higher for better adherence to the prompt, but maybe worse
    inference_timesteps=10,   # LocDiT inference timesteps, higher for better result, lower for fast speed
    normalize=False,           # enable external TN tool, but will disable native raw text support
    denoise=False,             # enable external Denoise tool, but it may cause some distortion and restrict the sampling rate to 16kHz
    retry_badcase=True,        # enable retrying mode for some bad cases (unstoppable)
    retry_badcase_max_times=3,  # maximum retrying times
    retry_badcase_ratio_threshold=6.0, # maximum length restriction for bad case detection (simple but effective), it could be adjusted for slow pace speech
)

sf.write("output.wav", wav, model.tts_model.sample_rate)
print("saved: output.wav")

# Streaming
chunks = []
for chunk in model.generate_streaming(
    text = "Streaming text to speech is easy with VoxCPM!",
    # supports same args as above
):
    chunks.append(chunk)
wav = np.concatenate(chunks)

sf.write("output_streaming.wav", wav, model.tts_model.sample_rate)
print("saved: output_streaming.wav")

3. CLI 用法

安装后,入口点为 voxcpm(或使用 python -m voxcpm.cli)。

# 1) Direct synthesis (single text)
voxcpm --text "VoxCPM is an innovative end-to-end TTS model from ModelBest, designed to generate highly expressive speech." --output out.wav

# 2) Voice cloning (reference audio + transcript)
voxcpm --text "VoxCPM is an innovative end-to-end TTS model from ModelBest, designed to generate highly expressive speech." \
  --prompt-audio path/to/voice.wav \
  --prompt-text "reference transcript" \
  --output out.wav \
  # --denoise

# (Optinal) Voice cloning (reference audio + transcript file)
voxcpm --text "VoxCPM is an innovative end-to-end TTS model from ModelBest, designed to generate highly expressive speech." \
  --prompt-audio path/to/voice.wav \
  --prompt-file "/path/to/text-file" \
  --output out.wav \
  # --denoise

# 3) Batch processing (one text per line)
voxcpm --input examples/input.txt --output-dir outs
# (optional) Batch + cloning
voxcpm --input examples/input.txt --output-dir outs \
  --prompt-audio path/to/voice.wav \
  --prompt-text "reference transcript" \
  # --denoise

# 4) Inference parameters (quality/speed)
voxcpm --text "..." --output out.wav \
  --cfg-value 2.0 --inference-timesteps 10 --normalize

# 5) Model loading
# Prefer local path
voxcpm --text "..." --output out.wav --model-path /path/to/VoxCPM_model_dir
# Or from HF Mirror (auto download/cache)
voxcpm --text "..." --output out.wav \
  --hf-model-id openbmb/VoxCPM1.5 --cache-dir ~/.cache/huggingface --local-files-only

# 6) Denoiser control
voxcpm --text "..." --output out.wav \
  --no-denoiser --zipenhancer-path iic/speech_zipenhancer_ans_multiloss_16k_base

# 7) Help
voxcpm --help
python -m voxcpm.cli --help

4. 启动 Web 演示

你可以通过运行 python app.py 启动 UI 界面,从而执行声音克隆和语音创建。

5. 微调

VoxCPM1.5 同时支持全量微调(SFT)和 LoRA 微调,让你可以在自己的数据上训练个性化语音模型。详细说明请参阅微调指南。

快速开始:

# Full fine-tuning
python scripts/train_voxcpm_finetune.py \
    --config_path conf/voxcpm_v1.5/voxcpm_finetune_all.yaml

# LoRA fine-tuning
python scripts/train_voxcpm_finetune.py \
    --config_path conf/voxcpm_v1.5/voxcpm_finetune_lora.yaml

👩‍🍳 语音大厨指南

欢迎来到 VoxCPM 厨房!按照这份食谱,烹饪出完美的生成语音。我们开始吧。


🥚 第 1 步:准备基础食材(内容)

首先,选择你希望输入文本的方式:。

  1. 常规文本(经典模式)
  • ✅ 保持“文本归一化”开启。自然地输入(例如“Hello, world! 123”)。系统会使用 WeTextProcessing 库自动处理数字、缩写和标点。
  1. 音素输入(原生模式)
  • ❌ 关闭“文本归一化”。输入音素文本,如 {HH AH0 L OW1}(英文)或 {ni3}{hao3}(中文),以精确控制发音。在此模式下,VoxCPM 还支持原生理解其他复杂的非归一化文本——不妨试试!
  • 音素转换:中文音素使用拼音转换。英文音素使用 CMUDict 转换。更多细节请参阅相关文档。

🍳 第 2 步:选择你的风味特征(语音风格)

这是让你的音频拥有独特声音的秘密酱料。

1. 用提示语音烹饪(照着名厨食谱做)

  • 提示语音为 VoxCPM 提供所需的声学特征。说话人的音色、说话风格,甚至背景声音和氛围都会被复刻。
  • For a Clean, Denoising Voice:
    • ✅ 启用“提示语音增强”。它就像一个噪声滤波器,去除背景嘶声和低频轰鸣,为你带来纯净、干净的语音克隆。但这会将音频采样率限制在 16kHz,从而限制克隆质量的上限。
  • For High-Quality Audio Cloning (Up to 44.1kHz):
    • ❌ 禁用“提示语音增强”以保留所有原始音频信息,包括背景氛围,并支持最高 44.1kHz 采样率的音频克隆。

2. 原味烹饪(让模型即兴发挥)

  • 如果没有提供参考,VoxCPM 就会变成一位创意大厨!得益于其基础模型 MiniCPM-4 的文本智能,它会根据文本本身推断出合适的说话风格。
  • 专业提示:用任何文本挑战 VoxCPM——诗歌、歌词、戏剧独白——它可能会带来一些有趣的结果!

🧂 第 3 步:最后的调味(微调你的结果)

可以上菜了!但对于想要调整风味的大厨,这里有两种关键香料。

CFG 值(遵循食谱的紧密程度)

  • 默认值:一个很好的起点。
  • 声音听起来紧绷或奇怪? 降低该值。它告诉模型更放松、更即兴,非常适合富有表现力的提示。
  • 需要最大清晰度和对文本的遵循? 略微提高该值,让模型更严格地遵循文本。
  • 短句? 考虑提高 CFG 值以获得更好的清晰度和遵循度。
  • 长文本? 考虑降低 CFG 值,以提升长段落中的稳定性和自然度。

推理时间步(炖煮时间:质量与速度)

  • 需要快速小吃? 使用较小的数值。非常适合快速草稿和实验。
  • 想烹饪一顿美食?请使用更高的数值。这能让模型“慢炖”更久,从而精炼音频,获得更出色的细节与自然度。

创作愉快!🎉 从默认设置开始,再根据你的项目需求逐步调整。厨房交给你了!


⚠️ 风险与局限

  • 通用模型行为:尽管 VoxCPM 已在大规模数据集上训练,它仍可能产生意外、带有偏见或包含伪影的输出。
  • 声音克隆被滥用的可能性:VoxCPM 强大的零样本声音克隆能力可以生成高度逼真的合成语音。该技术可能被滥用于制作以假乱真的深度伪造内容,用于冒充他人、欺诈或传播虚假信息。本模型用户不得使用它创建侵犯个人权利的内容。严禁将 VoxCPM 用于任何非法或不道德的目的。我们强烈建议,使用本模型生成的任何公开分享内容都应明确标注为 AI 生成。
  • 当前技术局限:尽管总体稳定,模型偶尔可能出现不稳定,尤其是在输入非常长或富有表现力时。此外,当前版本对情感或说话风格等特定语音属性的直接控制能力有限。
  • 双语模型:VoxCPM 主要基于中文和英文数据训练。其他语言的表现无法保证,可能产生不可预测或低质量的音频。
  • 本模型仅出于研究与开发目的发布。我们不建议在未经严格测试与安全评估的情况下将其用于生产或商业应用。请负责任地使用 VoxCPM。

📄 许可证

VoxCPM 的模型权重与代码以 Apache-2.0 许可证开源。

来源:面壁 MiniCPM 模型发布 · hf-mirror.com