← 返回信息流
GitHub 热榜GitHub Trending · 日·5 天前

OpenBMB发布VoxCPM

原标题:OpenBMB/VoxCPM
Python22,595 stars+1,815 今日

速览

VoxCPM2 是一款先进的免分词文本转语音(TTS)模型,支持多语言语音生成、创意声音设计及高保真声音克隆。它通过消除传统分词器的限制,显著提升了跨语言语音合成的自然度与准确性,适用于需要高质量语音交互及个性化声音定制的场景。

AI 深度解读

这是什么

VoxCPM 是由 OpenBMB(智谱 AI 旗下开源社区)推出的端到端文本转语音(TTS)系统。其最新版本 VoxCPM2 是一个基于 MiniCPM-4 骨干网络的 20 亿参数(2B)模型,采用无分词器(Tokenizer-Free)架构,直接通过扩散自回归(Diffusion Autoregressive)架构生成连续的语音表示。

该项目在 GitHub 上热度极高(Stars 22,595+),支持 30 种语言及多种中文方言,能够输出 48kHz 的录音室级音质。与传统的基于离散 token 的 TTS 模型不同,VoxCPM 跳过了中间的语言或声学离散化步骤,从而实现了更自然、更具表现力的语音合成。项目代码与权重均基于 Apache-2.0 许可证开源,允许免费商业使用。

解决的问题

传统 TTS 系统通常面临以下痛点,VoxCPM2 针对性地进行了优化:

  1. 离散化带来的信息损失:传统模型(如 VITS 或基于 FastSpeech 的架构)通常先将语音转换为离散 token(如 VQ-VAE 编码),再解码。这一过程会丢失细微的声学细节,导致音质不够自然或出现“机器人感”。VoxCPM2 通过直接生成连续语音表示,保留了完整的声学信息。
  2. 多语言支持的复杂性:许多模型需要为不同语言训练独立模块或依赖复杂的语言标签(Language Tag)。VoxCPM2 原生支持 30 种语言,输入文本时无需额外指定语言标签,模型能自动识别并合成。
  3. 语音克隆的保真度与可控性矛盾:现有的语音克隆往往难以在保持音色(Timbre)的同时,精确控制情感、语速或风格。VoxCPM2 提供了从“零参考语音设计”到“终极克隆”的多级控制方案,解决了克隆语音僵硬或风格单一的问题。
  4. 部署效率与音质难以兼得:高音质 TTS 通常推理速度慢。VoxCPM2 结合 Nano-vLLM 或 vLLM-Omni 加速后,在 NVIDIA RTX 4090 上可实现低至 0.13 的实时率(RTF),满足了实时流式交互的需求。

核心功能

  • 30 语言多语言合成:支持阿拉伯语、中文、英语、日语、韩语等 30 种语言,以及四川话、粤语、吴语等 9 种中文方言。无需语言标签,直接输入文本即可合成。
  • Voice Design(语音设计):仅通过自然语言描述(如“年轻女性、温柔甜美、略带微笑”)即可从零创建全新音色,无需任何参考音频。
  • 可控语音克隆(Controllable Cloning):提供短参考音频即可克隆音色,并允许通过文本指令调整情感、语速和风格,同时保留原始音色特征。
  • 终极克隆(Ultimate Cloning):结合参考音频及其精确转录文本,模型可从参考音频无缝续写,忠实还原每一处发声细节(音色、节奏、情感、风格),实现最高保真度的克隆。
  • 48kHz 录音室级音质:内置 AudioVAE V2 的非对称编解码设计与超分辨率技术,接受 16kHz 参考音频,直接输出 48kHz 高保真音频,无需外部上采样器。
  • 上下文感知合成:模型能自动根据文本内容推断合适的韵律和表现力,无需手动标注情感标签。
  • 实时流式输出:支持流式生成,适合低延迟对话场景。

亮点 / 与同类相比

  • 架构创新:无分词器连续生成 与大多数依赖离散声学 token 的 SOTA 模型(如 VALL-E 系列或某些基于 VQ-VAE 的模型)不同,VoxCPM2 采用端到端扩散自回归架构。这种设计避免了离散化过程中的信息瓶颈,在主观听感和客观指标上均表现出更高的自然度和细节丰富度。

  • 极致的克隆灵活性 同类竞品通常只支持一种克隆模式(要么仅靠参考音频,要么需要大量微调数据)。VoxCPM2 提供了三级克隆策略:

    1. Voice Design:零样本,纯文本描述生成新音色。
    2. Controllable Cloning:少量参考音频 + 风格控制。
    3. Ultimate Cloning:参考音频 + 转录文本 + 参考音频续写,达到近乎完美的音色复刻。
  • 高性能推理与生态集成

    • 速度:标准 PyTorch 实现 RTF 约 0.3;使用 Nano-vLLM 加速后,RTF 降至 ~0.13。
    • 生产级部署:官方支持 vLLM-Omni,提供 PagedAttention 和连续批处理(Continuous Batching),并兼容 OpenAI 的 /v1/audio/speech API 接口,极大降低了企业级集成的门槛。
  • 完全开源与商用友好 相比许多仅开源权重但限制商业使用的模型,VoxCPM2 采用 Apache-2.0 许可证,代码、权重、文档全面开源,且明确允许商业用途。

适合谁用 / 上手

目标用户:

  • AI 应用开发者:需要集成高质量、多语言 TTS 到聊天机器人、游戏 NPC 或虚拟助手中的工程师。
  • 内容创作者:需要快速生成多语言旁白、有声书或视频配音,且希望拥有独特音色的创作者。
  • 语音技术研究者:研究端到端语音生成、扩散模型在语音领域应用的研究人员。
  • 企业级服务集成商:需要高并发、低延迟、标准化 API(OpenAI 兼容)的语音服务供应商。

上手指南:

  1. 环境准备

    • Python ≥ 3.10 (<3.13)
    • PyTorch ≥ 2.5.0
    • CUDA ≥ 12.0
  2. 快速安装

    pip install voxcpm
    
  3. 代码示例(基础合成)

    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,
    )
    
    # 保存音频
    sf.write("demo.wav", wav, model.tts_model.sample_rate)
    
  4. 语音设计示例(无参考音频)

    wav = model.generate(
        text="(A young woman, gentle and sweet voice)Hello, welcome to VoxCPM2!",
        cfg_value=2.0,
        inference_timesteps=10,
    )
    sf.write("voice_design.wav", wav, model.tts_model.sample_rate)
    
  5. 高级部署

    • 对于本地快速测试,可使用 python app.py 启动 Web UI。
    • 对于高吞吐生产环境,建议安装 nano-vllm-voxcpm 或使用 vLLM-Omni 进行服务化部署,以获得最佳性能和 API 兼容性。
查看原文 →github.com