大家好,我是刘聪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
具体怎么测,说明见下,
看看在声音克隆上的效果,先克隆一下我的声音
原声,
克隆声音,
我自己听下来是差不多的,基本上没啥区别!
前两天一直在看翟佳宁的脱口秀段子,没有夸张的动作,喜欢怒怼吐槽,是我爱的风格,让他来一段剑来的经典台词,
原声,
文本:遇事不决,可问春风。春风不语,既随本心,可我若本心坚定,怎会遇事不决,春风也有春风愁,不劳春风为我忧。
整体在声音克隆上是没啥问题的,我感觉,还不错!甚至把握录音的沙哑也模拟了~
我们先针对性测试,看一下数字、符号的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模型本身,模型结构图,如下所示,
整体架构由局部音频编码模块-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的效果很不错!
最后,整体体验下来,VoxCPM 的确带来了不少惊喜,
本地部署轻量、声音克隆自然、多音字和符号处理的不错,还能通过拼音改写来做个性化修正。
0.5B 级别的 TTS 有 VoxCPM 加入,让中文端到端 TTS 又多了一个值得尝试的选择。
端到端 TTS 的边界也不断在扩展,
开源,冲冲冲!
PS:都看到这里,来个点赞、在看、关注吧。 您的支持是我坚持的最大动力!
欢迎多多关注公众号「刘聪NLP」,加入交流群,交个朋友吧,一起学习,一起进步!