当前位置: 首页 > news >正文

VoxCPM:新一代高拟真语音生成模型

一、概述

仅需0.5B参数,VoxCPM就能用你的声音说任何话:这款开源语音模型在音色克隆和情感表达上突破极限,实时生成媲美真人的播报、演讲甚至方言,错误率低至行业新标杆。

在语音合成技术快速发展的背景下,面壁智能与清华大学深圳国际研究生院人机语音交互实验室(THUHCSI)近日联合发布了一款新型语音生成模型 ——VoxCPM。这款模型以0.5B 的参数尺寸,致力于为用户提供高质量、自然的语音合成体验。

VoxCPM 的推出标志着高拟真语音生成领域的又一里程碑。该模型在自然度、音色相似度及韵律表现力等关键指标上,均达到了行业领先水平。通过零样本声音克隆技术,VoxCPM 能够以极少的数据,生成用户独特的声音,从而实现个性化的语音合成。这一技术进步为语音生成的应用场景带来了更多可能性,尤其是在个性化语音助手、游戏角色配音等领域。

380

据悉,VoxCPM 已在 GitHub、Hugging Face 等平台开源,并为开发者提供了线上体验平台,便于用户探索和使用其强大功能。模型在权威语音合成评测榜单 Seed-TTS-EVAL 中表现出色,尤其是在词错误率和音色相似度方面取得了极低的错误率,展示了其卓越的推理效率。在一张 NVIDIA RTX4090显卡上,VoxCPM 的实时因子(RTF)达到约0.17,满足了高质量实时交互的需求。

VoxCPM 不仅在技术性能上有所突破,其在音质和情感表达方面也表现出色。模型能够根据文本内容智能选择合适的声音、腔调和韵律,模拟出与真人无异的听感。无论是气象播报、英雄演讲,还是方言主播,VoxCPM 都能精准再现,提供沉浸式的听觉体验。

此外,VoxCPM 的技术架构基于最新的扩散自回归语音生成模型,融合了层次化语言建模和局部扩散生成的连续表征,显著提升了生成语音的表现力与自然度。该模型的核心架构包括多个模块,协同工作,实现了高效的 “语义 - 声学” 生成过程。

🔗 Github:

https://github.com/OpenBMB/VoxCPM/

🔗 Hugging Face:

https://huggingface.co/openbmb/VoxCPM-0.5B

🔗 ModelScope:

https://modelscope.cn/models/OpenBMB/VoxCPM-0.5B

🔗 PlayGround体验:

https://huggingface.co/spaces/OpenBMB/VoxCPM-Demo

🔗 音频样例页面地址:

https://openbmb.github.io/VoxCPM-demopage

二、音频样例

打开音频样例页面地址:

https://openbmb.github.io/VoxCPM-demopage

这里列举几个

宝儿姐

叫啥子叫,之前不是说了吗,有姐罩着你呢。那个啥子,小师叔,打狗还要看主人呢,你要是再继续的话,我就是你的对手

 方言

风车车,你不要跑,我来抓你来咯!你莫怪老子心狠手辣哈,哪个叫你娃儿不听话?抓住你,我就要把你做成耗儿肉!

 粤语

九流十家無一能,八仙過海七星聚,六親不認五更雞,四海為家三餐飽,兩手空空一場夢。

 数学符号标识

沸羊羊,如果 △ABC∽△DEF,且AB:DE=1:2,那我问你,△ABC的面积与△DEF的面积之比是多少?

 

这里比较亮眼的是,VoxCPM居然支持方言因为一般的语言生成模型,比如Index-TTS2,只支持普通话即使原始的音频是方言,输出的也依然是普通话。

还有一点,VoxCPM也支持比较复杂的数学符号

三、实战音频输出

代码生成

访问github地址:https://github.com/OpenBMB/VoxCPM/

下载代码到本地,安装模块

pip install voxcpm

下载模型VoxCPM-0.5B

pip install modelscopemodelscope download --model OpenBMB/VoxCPM-0.5B

下载ZipEnhancer和SenseVoice Small。在网络演示中,我们使用ZipEnhancer增强语音提示,使用SenseVoice Small增强语音提示ASR。

modelscope download --model iic/speech_zipenhancer_ans_multiloss_16k_basemodelscope download --model iic/SenseVoiceSmall

基本用法

import soundfile as sf
import numpy as np
from voxcpm import VoxCPMmodel = VoxCPM.from_pretrained("openbmb/VoxCPM-0.5B")# 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 cloningprompt_text=None,          # optional: reference textcfg_value=2.0,             # LM guidance on LocDiT, higher for better adherence to the prompt, but maybe worseinference_timesteps=10,   # LocDiT inference timesteps, higher for better result, lower for fast speednormalize=True,           # enable external TN tooldenoise=True,             # enable external Denoise toolretry_badcase=True,        # enable retrying mode for some bad cases (unstoppable)retry_badcase_max_times=3,  # maximum retrying timesretry_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, 16000)
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, 16000)
print("saved: output_streaming.wav")

 

例如,要生成宝儿姐的语音

先下载音频文件,地址:https://openbmb.github.io/VoxCPM-demopage/audio/dialect_zeroshot/prompt_wav/baoerjie.wav

 

修改代码

import soundfile as sf
import numpy as np
from voxcpm import VoxCPMmodel = VoxCPM.from_pretrained("openbmb/VoxCPM-0.5B")# Non-streaming
wav = model.generate(text="叫啥子叫,之前不是说了吗,有姐罩着你呢。那个啥子,小师叔,打狗还要看主人呢,你要是再继续的话,我就是你的对手",# optional: path to a prompt speech for voice cloningprompt_wav_path="baoerjie.wav",prompt_text="他们总说我瓜,其实我一点儿都不瓜,大多时候我都机智的一笔。",          # optional: reference text# LM guidance on LocDiT, higher for better adherence to the prompt, but maybe worsecfg_value=2.0,# LocDiT inference timesteps, higher for better result, lower for fast speedinference_timesteps=10,normalize=True,           # enable external TN tooldenoise=True,             # enable external Denoise tool# enable retrying mode for some bad cases (unstoppable)retry_badcase=True,retry_badcase_max_times=3,  # maximum retrying times# maximum length restriction for bad case detection (simple but effective), it could be adjusted for slow pace speechretry_badcase_ratio_threshold=6.0,
)sf.write("output.wav", wav, 16000)
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, 16000)
print("saved: output_streaming.wav")

执行代码,等待5分钟,会生成文件output.wav,试听一下,就是上面的实例效果。

CLI方式生成

本地新建文件1.txt,内容如下:

他们总说我瓜,其实我一点儿都不瓜,大多时候我都机智的一笔。

执行命令:

voxcpm --model-path "D:\file\lmstudio\model\OpenBMB\VoxCPM-0___5B" --text "叫啥子叫,之前不是说了吗,有姐罩着你呢。那个啥子,小师叔,打狗还要看主人呢,你要是再继续的话,我就是你的对手" --prompt-audio baoerjie.wav --prompt-file "1.txt" --output out.wav --denoise

等待5分钟,会生成文件out.wav,试听一下,就是上面的实例效果。

web页面生成

可以通过运行python app.py启动UI界面,它允许您执行语音克隆和语音创建。

执行命令:

python app.py

输出:

🚀 Running on device: cuda
funasr version: 1.2.7.
Downloading Model to directory: C:\Users\xiao\.cache\modelscope\hub\iic/SenseVoiceSmall
2025-09-23 17:05:28,488 - modelscope - WARNING - Using branch: master as version is unstable, use with caution
WARNING:root:trust_remote_code: False
* Running on local URL:  http://localhost:7860

打开网页地址:http://localhost:7860

效果如下:

image

 

上传音频文件,修改Prompt Text和Target Text,点击Generate Speech,生成语音

image

 等待5分钟,会生成文件out.wav,试听一下,就是上面的实例效果。

 

 

http://www.hskmm.com/?act=detail&tid=14896

相关文章:

  • Day20封装的初步认识
  • 完整教程:数据结构与算法-树和二叉树-二叉树的存储结构(Binary Tree)
  • 工业相机与镜头靶面尺寸的关系:从原理到选型的避坑指南 - 教程
  • Security Onion Solution
  • 时序数据库 TimechoDB V2.0.6 发布 | 新增查询写回、黑白名单等功能
  • Python精品任务-基于python的个性化音乐推荐架构的设计与实现(源码+LW+部署文档+全bao+远程调试+代码讲解等)
  • 第二篇
  • 实用指南:网站抓包怎么做?(网站抓包教程 HTTPS 抓包 浏览器抓包 服务器端流量分析 网站安全与调试)
  • EasyDSS “进度条预览”黑科技,如何重塑视频点播的交互体验?
  • 2025 年在线 Excel 协作工具:纯前端架构引领协作范式革新
  • AI重塑招聘:从筛简历到做决策,HR如何借技术提效35%?
  • 大屏适配不同分辨率
  • 直播点播之外,EasyDSS如何开辟“实时协作”第三极?它的会议功能,远比你想象的强大
  • 抖音视频关键词批量下载工具分享|分享痛点|
  • HarmonyOS动态照片,简易环境助力高效开发
  • 二叉树专题
  • IT项目管理主要做什么?-ManageEngine卓豪
  • 9.22学习笔记
  • Django 视图层
  • Kettle: pentaho-server-9.4登录问题
  • Win11/Win10/Office 永久激活
  • 列表
  • springboot~获取原注解的方法findMergedAnnotation使用场景
  • Catalan数(卡特兰数)
  • IvorySQL文档共建计划第一期!提 PR,提 Issue,赢取 Beats 耳机、机械键盘、书籍等多重好礼!
  • ubuntu22.04 安装xrdp
  • 题解:P14058 【MX-X21-T3】[IAMOI R5] 两个人的演唱会
  • 深入解析Wallarm安全边缘:API边缘的即时防护技术
  • 字符串
  • 总线的概念以及分类