VoxCPM实测,本地中文TTS有救了!

智能语音交互开源镜像机器学习

大家好,我是刘聪NLP。

PS:这篇要昨天发的,但昨天是个特殊的日子!

前天面壁又开源了,这次是一个端到端TTS模型,VoxCPM模型尺寸为0.5B,又是一个端侧小模型,

面壁真是一端到底!

0.5B大小,普通用户就能部署,且在单4090下 RTF 能达到 0.17,如果 RTF你没啥概念,你就知道很快就好了~

  
Github:https://github.com/OpenBMB/VoxCPM  
HF:https://huggingface.co/openbmb/VoxCPM-0.5B  

不用不知道,直接上手看疗效,先来一波测试

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

picture.image

具体怎么测,说明见下,

picture.image

看看在声音克隆上的效果,先克隆一下我的声音

原声,

克隆声音,

我自己听下来是差不多的,基本上没啥区别!

前两天一直在看翟佳宁的脱口秀段子,没有夸张的动作,喜欢怒怼吐槽,是我爱的风格,让他来一段剑来的经典台词,

原声,

文本:遇事不决,可问春风。春风不语,既随本心,可我若本心坚定,怎会遇事不决,春风也有春风愁,不劳春风为我忧。

整体在声音克隆上是没啥问题的,我感觉,还不错!甚至把握录音的沙哑也模拟了~

我们先针对性测试,看一下数字、符号的TTS,直接来读数学题,

CosVoice2读的时候,会省略掉一些符号,VoxCPM就不会。

来个上个终极难度,

文本:人要是行,幹一行行一行,一行行行行行,行行行幹哪行都行,要是不行,幹一行不行一行,一行不行行行不行,行行不行幹哪行都不行。

这次让郭德纲给我读

生成的不行,当然这个确实很难,很多TTS也都不行,不过好在VoxCPM支持拼音改写,可以针对不对的修正即可,

文本:人要是行,干一行{hang2}行{xing2}一行{hang2},一行{hang2}行{xing2}行{hang2}行{hang2}行{xing2},行{hang2}行{hang2}行{xing2}干哪行{hang2}都行{xing2},要是不行{xing2},干一行{hang2}不行{xing2}一行{hang2},一行{hang2}不行{xing2}行{hang2}行{hang2}不行{xing2},行{hang2}行{hang2}不行{xing2}干哪行{hang2}都不行{xing2}。

没问题,很到位,这种支持修改就很舒服。

VoxCPM还能克隆双语,不过这个有点抽卡,不是很稳定。

当然如果不给声音,VoxCPM可以根据文本内容自行判断内容,以给予不同情感

但其实我还是觉得,能额外提供声音指导会更好,否则每次不一样就很难受。

说回VocCPM模型本身,模型结构图,如下所示,

picture.image

整体架构由局部音频编码模块-LocEnc、文本-语义语言模型-TSLM、残差声学语言模型-RALM 与 局部扩散生成模块-LocDiT 四部分构成。语言模型部分 以 MiniCPM-4.0 初始化,并通过引入 有限标量约束(FSQ) 构建结构化中间表征,从而在语义到声学的生成链路中,实现了自然的隐式解耦与高效协同。

其他训练相关信息,暂时不知,期待后续技术报告!

整体部署也很简单,pip安装完voxcpm包,代码如下,不过暂时官方没有流式,后面应该会适配!

  
import soundfile as sf  
from voxcpm import VoxCPM  
  
model = VoxCPM.from\_pretrained("openbmb/VoxCPM-0.5B")  
  
wav = model.generate(  
    text="我是刘聪NLP,很高兴认识你们!",  
    prompt\_wav\_path=None,        
    prompt\_text=None,   
    cfg\_value=2.0,               
    inference\_timesteps=10,    
    normalize=True,             
    denoise=True,              
    retry\_badcase=True,          
    retry\_badcase\_max\_times=3,  
    retry\_badcase\_ratio\_threshold=6.0)  
  
sf.write("output.wav", wav, 16000)  
print("saved: output.wav")  

之前做过一个本地化项目,ASR+LLM+TTS三段式,当时TTS用的还是CosyVoice2,也是0.5B,声音克隆不错,会有一些符号和数字的读法不是很好,VoxCPM这方面还是很优秀的。

榜单上,VoxCPM的效果很不错!

picture.image

最后,整体体验下来,VoxCPM 的确带来了不少惊喜,

本地部署轻量、声音克隆自然、多音字和符号处理的不错,还能通过拼音改写来做个性化修正。

0.5B 级别的 TTS 有 VoxCPM 加入,让中文端到端 TTS 又多了一个值得尝试的选择。

端到端 TTS 的边界也不断在扩展,

开源,冲冲冲!

PS:都看到这里,来个点赞、在看、关注吧。 您的支持是我坚持的最大动力!

欢迎多多关注公众号「刘聪NLP」,加入交流群,交个朋友吧,一起学习,一起进步!

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
云原生可观测性技术的落地实践
云原生技术和理念在近几年成为了备受关注的话题。应用通过云原生改造,变得更动态、弹性,可以更好地利用云的弹性能力。但是动态、弹性的环境也给应用以及基础设施的观测带来了更大的挑战。本次分享主要介绍了云原生社区中可观测性相关的技术和工具,以及如何使用这些工具来完成对云原生环境的观测。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论