
VoxCPM2完整指南30种语言多语言TTS与零样本声音克隆10分钟上手【免费下载链接】VoxCPMVoxCPM2: Tokenizer-Free TTS for Multilingual Speech Generation, Creative Voice Design, and True-to-Life Cloning项目地址: https://gitcode.com/GitHub_Trending/vo/VoxCPM给有声书配音时你只有一段三秒的人声样本想要一个听起来像同一个人的旁白但还要能控制语速和情绪。VoxCPM2 就是干这个的它是 OpenBMB 开源的免费多语言语音合成工具支持 30 种语言和 9 种中文方言用几秒参考音频就能克隆声音输出 48kHz 的录音棚级音质。安装VoxCPM2并合成第一条语音环境要求 Python 3.10–3.12、PyTorch 2.5有 N 卡的话装上 CUDA 12没有也能在 CPU 上跑只是慢。一条命令装好依赖模型会在首次加载时自动下载pip install voxcpmfrom voxcpm import VoxCPM import soundfile as sf model VoxCPM.from_pretrained( openbmb/VoxCPM2, # 官方模型仓库ID load_denoiserFalse, # 不加载参考音频降噪器省内存 optimizeFalse, # 关闭torch.compile首次加载更快 ) wav model.generate( text欢迎使用VoxCPM2这是一个多语言语音合成工具。, cfg_value2.0, # 文本忠实度推荐1.0~3.0 inference_timesteps10, # 扩散采样步数越大越精致越慢 seed42, # 固定随机种子结果可复现 ) sf.write(demo.wav, wav, model.tts_model.sample_rate) # 保存为48kHz音频 print(saved: demo.wav)跑完打开demo.wav你的第一段语音就出来了。下面所有功能都基于这个model对象不必重复加载。为什么值得选VoxCPM2和无令牌化TTS的差异先解释两个词。无令牌化tokenizer-free传统 TTS 先把语音切成离散音素/token 再还原VoxCPM2 直接在连续语音表征空间生成省掉量化这一步的信息损失。RTFReal-Time Factor生成 1 秒音频所需的秒数小于 1 就比实时快。对比项VoxCPM2常见离散token类TTS生成架构扩散自回归连续表征离散 token 声码器输出采样率48kHz 原生输出多为 16~24kHz语言覆盖30 种 9 种中文方言通常 2~5 种声音克隆秒级参考音频无需训练常需数分钟以上音频音色设计纯文字描述生成新音色普遍不支持显存占用约 8GB视模型而定核心差异就三点语言覆盖面宽、克隆门槛低、不用额外超分就有高码率输出。代价是 2B 参数需要约 8GB 显存比 0.5B 级别的小模型要求高。逐点上手VoxCPM2四大核心功能如何第一次完成声音克隆克隆不需要训练传一段参考音频的本地路径即可。仓库自带示例音频可直接运行wav model.generate( text这是通过参考音频克隆出来的声音。, reference_wav_pathexamples/reference_speaker.wav, # 参考音频建议3~10秒 ) sf.write(clone.wav, wav, model.tts_model.sample_rate)想要极致克隆把参考音频同时作为prompt_wav_path并附上它的转写文本prompt_text模型会从参考音频无缝续写语气、节奏保留得最完整。不传参考音频用文字设计一个音色想换个声音但没有样本音色描述用括号写在文本开头即可。这是 VoxCPM2 相对大多数 TTS 的独占能力wav model.generate( text(年轻女性温柔甜美的声音)您好我是AI语音助手。, cfg_value2.0, # 保持2.0附近风格更稳定 seed7, # 不满意就换种子重跑 ) sf.write(design.wav, wav, model.tts_model.sample_rate)描述里可以写性别、年龄、音调、情绪、语速模型据此生成一个全新的声音。注意设计类结果每次运行会有波动官方建议多生成 1~3 次再挑。用CLI做批量文本转语音脚本或批量场景直接用命令行不用写 Python。voxcpm design管合成和音色设计voxcpm clone管克隆batch按行批量处理# 带风格控制的合成--control 会自动包成(描述)前缀 voxcpm design \ --text 欢迎使用VoxCPM2批量合成。 \ --control 年轻女声温暖亲切语速稍慢 \ --seed 42 \ --output out.wav # 文本批量转语音每行一条文本输出到目录 voxcpm batch --input examples/input.txt --output-dir outs不想敲命令也可以起 Web 界面浏览器里操作python app.py --port 8808Apple 芯片 Mac 上可加--device auto走 MPS 加速。用generate_streaming输出流式语音做实时对话或长音频场景边生成边播比等完整文件更合适。generate_streaming返回生成器每次吐出一小段波形import numpy as np chunks [] for chunk in model.generate_streaming( text流式语音合成边生成边播放。, # 逐块yield不等全文 ): chunks.append(chunk) sf.write(streaming.wav, np.concatenate(chunks), model.tts_model.sample_rate)在 RTX 4090 上标准 PyTorch 实现的 RTF 约 0.3配合 Nano-vLLM 可压到 0.13 左右实时性足够交互场景。它是怎么工作的从文字到48kHz音频的数据流整条链路在 AudioVAE V2 的潜空间里完成文字进来音频出来中间经过四个模块。LocEnc局部编码器把参考音频编码成连续潜变量克隆时它就是声纹来源。TSLM文本-语义语言模型MiniCPM-4 背骨读文本、推断语气决定该用什么情绪和节奏说话。RALM残差声学语言模型在语义之上逐帧补全声学细节让声音有起伏而不单调。LocDiT局部扩散变换器用扩散过程把潜变量还原成波形最后由 AudioVAE 解码出 48kHz 音频输入 16kHz 的参考音频也能直接输出高码率不用外挂超分。因为全程没有离散 token 化这一步音色和韵律里的细微信息不会在编码阶段被丢掉——这是克隆相似度高的根本原因。进阶调优参数、数据与部署技巧1调好三个生成参数。原理很简单cfg_value管听话程度inference_timesteps管音质上限seed管可复现。wav model.generate( text这是一段追求高保真的合成。, cfg_value3.0, # 提到3.0可增强文本贴合度超4容易失真 inference_timesteps20, # 官方推荐区间4~3020是质量甜点 seed123, denoiseTrue, # 对带噪的参考音频先降噪需加载denoiser )技巧25~10分钟数据就能LoRA微调。原理LoRA 只训练少量低秩适配层把通用模型掰成特定说话人或领域5~10 分钟音频够用。数据是 jsonl 格式每行一个音频加文本对参照 examples/train_data_example.jsonl。改好 conf/voxcpm_v2/voxcpm_finetune_lora.yaml 里的pretrained_path和train_manifest后启动训练# LoRA微调参数高效官方推荐 python scripts/train_voxcpm_finetune.py \ --config_path conf/voxcpm_v2/voxcpm_finetune_lora.yaml # 训练完起一个WebUI边训练边试听 python lora_ft_webui.py # 打开 http://localhost:7860配置文件里默认batch_size: 2、grad_accum_steps: 8等效 batch 16LoRA 秩r: 32显存紧张时先降batch_size和max_batch_tokens。技巧3生产环境换推理引擎。原理标准实现是 PyTorch 逐请求生成高并发下吞吐上不去Nano-vLLM 和 vLLM-Omni 这类引擎提供批量并发与 OpenAI 兼容接口。# Nano-vLLM高吞吐4090上RTF约0.13 pip install nano-vllm-voxcpmfrom nanovllm_voxcpm import VoxCPM server VoxCPM.from_pretrained(model./pretrained_models/VoxCPM2, devices[0]) chunks list(server.generate(target_textHello from VoxCPM!))如果团队已有 vLLM 生态也可以直接上 vLLM-Omni它提供/v1/audio/speech端点现有 OpenAI 客户端改个 URL 就能调。排坑手册VoxCPM2常见问题速查问题现象一句话解法显存不足CUDA out of memory2B 模型约需 8GB 显存设devicecpu慢速跑通或换小数据微调音色描述不生效声音没变化描述必须写在text开头的括号里或 CLI 用--control不能单独传参传了 reference_wav_path 报错only supported with VoxCPM2该参数仅 VoxCPM2 支持确认加载的是openbmb/VoxCPM2而非旧版极致克隆报参数错误prompt 参数校验失败prompt_wav_path和prompt_text必须成对出现缺一不可设计/克隆结果不稳定同样的词每次声音不同官方已知问题多跑 1~3 次挑一个或固定seed锁定结果仓库地图代码都放在哪VoxCPM/ ├── src/voxcpm/ │ ├── core.py # 统一入口VoxCPM类、from_pretrained、generate │ ├── cli.py # 命令行design / clone / batch 三个子命令 │ ├── model/ # 模型定义voxcpm.py(基础) 与 voxcpm2.py(V2) │ ├── modules/ │ │ ├── audiovae/ # AudioVAE V2音频与潜空间互转 │ │ ├── locdit/ # LocDiT扩散变换器 │ │ └── minicpm4/ # TSLM语言模型背骨 │ └── training/ # 微调数据加载、配置、加速 ├── scripts/ │ └── train_voxcpm_finetune.py # 微调入口脚本 ├── conf/voxcpm_v2/ # V2训练配置全量SFT与LoRA两套yaml ├── examples/ # 示例音频与训练数据样例 └── app.py # Gradio Web演示界面看代码从 src/voxcpm/core.py 入手最直接_generate方法里能清楚看到降噪、构建参考音频缓存、扩散采样三段流程想改训练行为则看 conf/voxcpm_v2/voxcpm_finetune_lora.yaml。一句话总结VoxCPM2 是目前少见的免费商用 30 语言 秒级克隆三合一的多语言 TTS 方案pip install voxcpm到出第一句语音只要几分钟。最后提醒一句边界它的克隆能力足以以假乱真请只用于自己或有授权的声音别拿去做冒充、诈骗类的事发布 AI 生成的语音时最好主动标注。【免费下载链接】VoxCPMVoxCPM2: Tokenizer-Free TTS for Multilingual Speech Generation, Creative Voice Design, and True-to-Life Cloning项目地址: https://gitcode.com/GitHub_Trending/vo/VoxCPM创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考