GitHub 开源项目解析:OpenBMB/VoxCPM —— Tokenizer-Free 多语言语音合成与声音克隆模型

GitHub 开源项目解析:OpenBMB/VoxCPM —— Tokenizer-Free 多语言语音合成与声音克隆模型 前言项目简介近年来大语言模型与多模态模型快速发展语音生成也从传统的拼接式、声学模型式 TTS逐渐走向大模型驱动的高表现力语音合成。相比普通文本转语音系统现代 TTS 不仅要求“能读出来”还要求具备自然韵律、情绪表达、多语言支持、声音克隆、风格控制和实时流式输出能力。OpenBMB 开源的VoxCPM正是面向这一方向的语音生成项目。VoxCPM是一个 tokenizer-free 的文本转语音系统。所谓 tokenizer-free是指它不依赖传统的离散音频 token 作为中间表示而是通过端到端的扩散自回归架构直接生成连续语音表征从而绕过离散音频编码带来的信息损失问题。当前推荐版本是VoxCPM2。它基于 MiniCPM-4 构建拥有 20 亿参数在超过 200 万小时的多语种语音数据上训练支持 30 种语言和 9 种中文方言并提供音色设计、可控声音克隆、极致克隆、48kHz 高质量音频输出等能力。发布时间(VoxCPM2)2026-04一、项目背景为什么 VoxCPM 值得关注传统 TTS 系统一般包含多个阶段文本分析 → 音素/韵律预测 → 声学特征生成 → 声码器还原波形近年来很多大模型式语音生成系统会先把音频转成离散 token再像语言模型一样生成语音 token。这种方式稳定性较好但也容易出现一个问题离散 token 会损失部分连续声学细节尤其是音色、情绪、语气、呼吸感、节奏变化等细粒度信息。VoxCPM 试图解决的核心矛盾是离散 token稳定但表达力容易受限 连续表征保真但训练和生成更困难VoxCPM 的技术路线是直接建模连续语音表征并结合扩散模型增强声学细节生成能力。它的目标不是简单地“把文字读出来”而是生成更自然、更有情绪、更接近真实人声的语音。二、项目框架设计从仓库组织和安装配置来看VoxCPM 是一个标准 Python 项目主要包含模型推理、命令行工具、Web Demo、文档、示例和部署支持。一个简化后的项目结构可以理解为VoxCPM/ ├── src/ │ └── voxcpm/ │ ├── cli.py # 命令行入口 │ ├── inference/ # 推理相关逻辑 │ ├── models/ # 模型结构与加载逻辑 │ ├── utils/ # 音频处理、工具函数 │ └── ... ├── examples/ # 示例输入与测试样例 ├── assets/ # 项目图片、Logo、演示资源 ├── docs/ # 文档 ├── app.py # Web Demo 启动入口 ├── pyproject.toml # Python 包配置 ├── README.md # 英文说明 ├── README_zh.md # 中文说明 └── LICENSE # Apache-2.0 协议项目的 Python 包名为voxcpm安装方式非常直接pip install voxcpm同时项目提供命令行入口voxcpm这意味着用户既可以在 Python 代码中调用 VoxCPM也可以通过 CLI 快速完成音色设计、声音克隆和批量合成任务。三、核心模型设计Tokenizer-Free Diffusion AutoregressiveVoxCPM 的核心可以概括为Tokenizer-Free TTS Diffusion Autoregressive Architecture AudioVAE V2 MiniCPM-4 BackboneVoxCPM2 的官方架构描述中提到它运行在 AudioVAE V2 的 latent space 中并采用如下四阶段流程LocEnc → TSLM → RALM → LocDiT可以按如下方式理解1. LocEnc局部语音编码LocEnc 负责把输入的语音或局部上下文编码到模型可处理的连续表征空间中。它更关注局部声学结构例如音色、发音细节、局部韵律等。在声音克隆场景中参考音频的音色和风格信息会通过类似编码模块进入模型使模型能够捕捉说话人的声音特征。2. TSLM文本-语义语言模型TSLM 可以理解为 Text-Semantic Language Model负责根据输入文本推断语义、韵律和表达方式。传统 TTS 很多时候只是“逐字朗读”而 VoxCPM 希望根据文本内容自动判断语气。例如疑问句、感叹句、叙述句、情绪化表达应该对应不同的语音节奏和重音。因此TSLM 更偏向于生成“该怎么说”的语义-韵律计划。3. RALM残差声学模型RALM 可以理解为 Residual Acoustic Language Model。它主要负责补充更细粒度的声学信息。如果 TSLM 解决的是“语义和表达骨架”那么 RALM 更关注“真实声音细节”例如音色颗粒感 语速变化 情绪波动 停顿 轻重音 细微声学纹理这也是 VoxCPM 能够进行高保真声音克隆的重要基础。4. LocDiT局部扩散解码LocDiT 是基于 diffusion 的局部解码模块负责把 latent 表征进一步还原成高质量语音。扩散模型在图像、音频等连续信号生成任务中有很强的细节建模能力。VoxCPM 将其用于语音 latent 的生成有助于提升音频自然度和细节保真度。四、关键功能解析与技术破局1. 多语言语音合成VoxCPM2 支持 30 种语言包括中文、英语、日语、韩语、法语、德语、西班牙语、俄语、 阿拉伯语、印地语、意大利语、葡萄牙语、泰语、越南语等并且支持 9 种中文方言四川话、粤语、吴语、东北话、河南话、陕西话、山东话、天津话、闽南话用户无需额外提供语言标签直接输入对应语言文本即可合成语音。这对多语言内容生产、跨境产品、本地化配音和语音助手非常有价值。2. 音色设计不用参考音频也能创建声音VoxCPM2 的一个亮点是 Voice Design也就是“音色设计”。用户可以用自然语言描述一个声音例如年轻女性声音温柔甜美语速稍慢带微笑感然后模型会根据描述生成对应风格的语音。这与传统声音克隆不同。传统克隆必须提供参考音频而音色设计可以不依赖参考音频直接通过文本描述创造新声音。这类能力非常适合虚拟主播 有声书 游戏 NPC 教育课件 短视频配音 品牌客服声音设计3. 可控声音克隆克隆音色同时控制风格普通声音克隆通常只能复刻参考音频的音色但难以进一步控制情绪、语速和表达方式。VoxCPM2 支持可控声音克隆。用户提供一段参考音频后模型可以保持原始音色同时通过控制指令调整风格例如稍快一点 更开心 更正式 更有磁性 更像播音腔 更温柔这对于实际应用非常重要因为配音不只是“像某个人”还要能根据场景表达不同情绪。4. 极致克隆参考音频 转录文本VoxCPM2 还支持 Ultimate Cloning也就是极致克隆。这种方式不仅提供参考音频还提供参考音频对应的精确文本。模型可以基于参考音频进行类似“语音续写”的生成从而更好地保留音色 节奏 情绪 停顿 语气 说话习惯相比只给一段参考音频加入转录文本可以让模型更准确地对齐语音内容和声学特征因此更适合追求高相似度的克隆场景。5. 48kHz 高质量音频输出很多开源 TTS 系统输出采样率常见为 16kHz、22.05kHz 或 24kHz。VoxCPM2 原生支持 48kHz 高质量音频输出。官方说明中提到VoxCPM2 可以接受 16kHz 参考音频并通过 AudioVAE V2 的非对称编解码设计直接输出 48kHz 音频同时具备内置超分能力。这意味着它更适合高质量内容生产例如播客 视频配音 广告配音 有声书 虚拟人语音 数字人直播6. 实时流式合成VoxCPM2 支持 streaming API可以边生成边输出音频片段。这对交互式场景非常关键例如语音助手 实时客服 AI 口语陪练 数字人对话 游戏 NPC 实时对话官方说明中提到标准 PyTorch 实现在 RTX 4090 上 RTF 可低至约 0.3通过 Nano-vLLM 或 vLLM-Omni 加速后可进一步降低到约 0.13。RTF 是 Real-Time Factor数值越低表示生成越快。RTF 小于 1 通常意味着可以达到实时或准实时体验。7. 商用友好的开源协议VoxCPM 的代码和权重采用 Apache-2.0 协议发布官方说明中明确提到 commercial-ready。这对企业和开发者很重要因为很多优秀语音模型虽然效果好但许可限制较多不适合商用落地。VoxCPM 在开源协议上的友好性降低了应用开发和产品集成门槛。五、使用教程1. 环境要求官方推荐环境如下Python 3.10且 3.13 PyTorch 2.5.0 CUDA 12.0建议使用 Conda 创建独立环境conda create -n voxcpm python3.10 -y conda activate voxcpm安装 PyTorch 时应根据自己的 CUDA 版本选择对应命令。2. 安装 VoxCPM最简单的方式是直接通过 pip 安装pip install voxcpm如果你希望从源码运行git clone https://github.com/OpenBMB/VoxCPM.git cd VoxCPM pip install -e .3. Python API基础文本转语音下面是最基础的文本转语音示例from voxcpm import VoxCPM import soundfile as sf model VoxCPM.from_pretrained( openbmb/VoxCPM2, load_denoiserFalse, ) wav model.generate( textVoxCPM2 是目前推荐使用的多语言语音合成版本。, cfg_value2.0, inference_timesteps10, ) sf.write(demo.wav, wav, model.tts_model.sample_rate) print(已保存: demo.wav)执行后会在当前目录生成demo.wav4. 国内网络环境使用 ModelScope 下载模型如果访问 Hugging Face 较慢可以使用 ModelScope 下载模型pip install modelscope然后执行from modelscope import snapshot_download snapshot_download( OpenBMB/VoxCPM2, local_dir./pretrained_models/VoxCPM2 )加载本地模型from voxcpm import VoxCPM import soundfile as sf model VoxCPM.from_pretrained( ./pretrained_models/VoxCPM2, load_denoiserFalse ) wav model.generate( text这是从本地模型加载生成的语音。, cfg_value2.0, inference_timesteps10, ) sf.write(local_demo.wav, wav, model.tts_model.sample_rate)5. 音色设计示例音色设计无需参考音频只需要在文本开头用括号描述声音wav model.generate( text(年轻女性声音温柔甜美语速稍慢)你好欢迎使用 VoxCPM2, cfg_value2.0, inference_timesteps10, ) sf.write(voice_design.wav, wav, model.tts_model.sample_rate)这里的括号内容就是控制提示词例如可以写中年男性声音低沉有磁性语气沉稳 年轻女性活泼开朗语速稍快 老年男性温和亲切慢速讲述 播音腔正式清晰有节奏感6. 声音克隆示例如果你有一段参考音频可以进行声音克隆wav model.generate( text这是 VoxCPM2 生成的克隆语音。, reference_wav_pathpath/to/voice.wav, ) sf.write(clone.wav, wav, model.tts_model.sample_rate)需要注意参考音频应尽量清晰 背景噪声越少越好 说话人最好单一 音频中不要混入音乐或多人对话7. 可控声音克隆示例在声音克隆基础上还可以加入风格控制wav model.generate( text(稍快一点欢快的语气)这是带风格控制的克隆语音。, reference_wav_pathpath/to/voice.wav, cfg_value2.0, inference_timesteps10, ) sf.write(controllable_clone.wav, wav, model.tts_model.sample_rate)这种方式适合生成同一角色在不同场景下的语音例如开心版 严肃版 温柔版 播报版 紧张版 安慰版8. 极致克隆示例如果你有参考音频及其准确文本可以使用极致克隆wav model.generate( text这是使用 VoxCPM2 的极致克隆演示。, prompt_wav_pathpath/to/voice.wav, prompt_text参考音频的文本转录。, reference_wav_pathpath/to/voice.wav, ) sf.write(hifi_clone.wav, wav, model.tts_model.sample_rate)这种方式对参考音频的文本转录要求更高文本越准确克隆效果越稳定。9. 流式语音合成VoxCPM 支持流式输出import numpy as np import soundfile as sf chunks [] for chunk in model.generate_streaming( text使用 VoxCPM 进行流式语音合成非常简单。 ): chunks.append(chunk) wav np.concatenate(chunks) sf.write(streaming.wav, wav, model.tts_model.sample_rate)流式合成适合实时交互场景例如语音助手或数字人对话。10. 命令行使用VoxCPM 提供 CLI 工具。音色设计voxcpm design \ --text VoxCPM2 带来全新的语音合成体验。 \ --output out.wav带控制提示的音色设计voxcpm design \ --text VoxCPM2 带来全新的语音合成体验。 \ --control 年轻女声温暖温柔略带微笑 \ --output out.wav声音克隆voxcpm clone \ --text 这是一个声音克隆的演示。 \ --reference-audio path/to/voice.wav \ --output out.wav极致克隆voxcpm clone \ --text 这是一个声音克隆的演示。 \ --prompt-audio path/to/voice.wav \ --prompt-text 参考音频转录文本 \ --reference-audio path/to/voice.wav \ --output out.wav批量处理voxcpm batch --input examples/input.txt --output-dir outs查看帮助voxcpm --help11. 启动 Web Demo如果希望通过网页体验可以运行python app.py --port 8808然后在浏览器中打开http://localhost:8808指定设备python app.py --device auto支持设备包括auto cpu mps cuda cuda:N在 Apple Silicon Mac 上如果 MPS 可用auto会自动选择 MPS。12. 生产部署Nano-vLLM 与 vLLM-Omni对于生产环境高并发和低延迟非常重要。VoxCPM2 支持通过 Nano-vLLM 或 vLLM-Omni 进行加速部署。Nano-vLLM 示例pip install nano-vllm-voxcpmPython 调用示例from nanovllm_voxcpm import VoxCPM import numpy as np import soundfile as sf server VoxCPM.from_pretrained( model/path/to/VoxCPM, devices[0] ) chunks list(server.generate(target_textHello from VoxCPM!)) sf.write(out.wav, np.concatenate(chunks), 48000) server.stop()vLLM-Omni 则提供更偏生产服务的部署方式支持 OpenAI 兼容接口例如/v1/audio/speech适合多租户、服务化和 API 化部署。六、适合哪些应用场景VoxCPM 适合以下场景1. AI 配音用于短视频、课程、有声书、播客等内容生产。2. 虚拟人和数字人可为数字人生成固定角色声音并根据内容调整语气。3. 多语言语音助手支持多语言输入适合国际化语音产品。4. 游戏和互动娱乐可用于 NPC 语音、剧情对白和角色音色设计。5. 企业客服通过音色设计定制品牌客服声音提高语音交互体验。6. 教育与口语训练可生成多语言、多风格语音用于听力训练和语言学习。7. 本地化内容生产支持 30 种语言和多种中文方言适合跨语言内容转换和本地化配音。七、项目优势与不足优势第一模型能力完整。VoxCPM2 不只是普通 TTS还包含文本转语音、音色设计、声音克隆、可控克隆、极致克隆和流式合成。第二语言覆盖广。支持 30 种全球语言和 9 种中文方言对中文用户和国际化业务都比较友好。第三音频质量高。原生 48kHz 输出更适合内容生产场景。第四技术路线先进。Tokenizer-free diffusion autoregressive 架构避开了传统离散音频 token 的部分表达限制。第五部署生态较完整。支持 Python API、CLI、Web Demo、Nano-vLLM、vLLM-Omni 等多种使用方式。第六协议友好。Apache-2.0 协议降低了商用集成门槛。不足第一硬件要求较高。VoxCPM2 是 20 亿参数模型虽然相比超大模型不算巨大但对于普通 CPU 或低显存设备仍有压力。第二声音克隆存在合规风险。声音克隆技术可能被滥用因此在实际使用中必须获得说话人授权并避免伪造、诈骗、冒充等不当用途。第三多语言效果可能不完全一致。虽然支持 30 种语言但不同语言、口音和文本类型上的表现可能存在差异。第四真实生产部署仍需工程优化。如果要支持高并发、低延迟、多用户请求需要结合 vLLM-Omni、Nano-vLLM、队列系统、缓存策略和服务监控。八、风险与合规建议语音克隆是高敏感技术使用 VoxCPM 时建议遵守以下原则仅克隆本人或已获得明确授权的声音 不要用于冒充他人 不要生成诈骗、误导、政治操纵或恶意内容 对 AI 生成语音进行明确标识 在产品中加入水印、权限校验和审计日志对于企业应用建议建立完整的合规流程授权采集 使用范围确认 音频样本管理 生成内容审核 调用日志留存 异常使用拦截九、总结OpenBMB/VoxCPM是当前开源 TTS 方向非常值得关注的项目之一。它的意义不仅在于提供一个可用的文本转语音模型更在于展示了一条新的语音生成路线从离散音频 token 走向连续语音表征 从普通文本朗读 走向上下文感知表达 从单一 TTS 走向音色设计、声音克隆、可控生成和实时流式合成VoxCPM2 进一步把能力扩展到 20 亿参数、30 种语言、9 种中文方言、48kHz 高质量输出和生产级部署支持。对于关注 AI 语音、数字人、智能客服、多语言内容生产、虚拟角色配音的开发者来说VoxCPM 是一个非常值得尝试和研究的开源项目。互动话题你认为未来 TTS 模型最关键的能力是什么更自然的语音表现力更高相似度的声音克隆更强的多语言与方言支持更低延迟的实时流式合成更安全可控的声音授权与防滥用机制。欢迎在评论区分享你的看法。