克隆你的声音,只需要你三秒的录音,声音克隆又进化了!

最近微软开源了一款语言处理模型,只需要源语言中的一个语音语句作为提示,就可以生成高质量的目标语言的语音片段,同时还能保留源语言中说话者的声音、情感和声学环境,此外,这个模型还有效缓解了外语的口音问题,这个问题可以通过在prompt中标注语言ID来控制

868b776fb56153921bd349b1305e1fb0.png

这个框架被命名为VALL-E X,整体框架如上图所示,它可以把源语音转换成另一种个性化的语音,通过把源语音和目标语言文本导出的序列以及从音频解码模型导出的源语音标记作为提示,模型能够产生目标语言的声学标记,然后就可以解压缩成目标语音波形。得益于强大的上下文学习能力,VALL-E X在训练时不需要同一个讲话者的不同的跨语言数据,就可以执行各种零资源跨语言的语音生成任务。比如跨语言的语音合成以及跨语言的翻译。

63faf21d8550d37e7b2978d05c02cb4c.png

VALL-E X的训练示意图:它是由一个多语言自动回归编解码的语言模型(MAR)和一个多语言非自动回归编解码的语言模型(MNAR)组成。多语言的声学标记(A)和音源序列(S)分别通过音频编解码器编码器和语音字母转换工具从语音和转录文本转换得到。在训练过程中,我们使用不同语言的成对S和A来优化这两个模型。

它采用两个阶段建模,首先使用自动回归语言模型根据配对的声音源生成Encodec的第一个量化的编码,然后使用非自动回归模型并行生成其他量化器的编码。在大规模的英语语音转录数据集LibriLight上训练后,VALL-E展现出很强的根据上下文学习的能力。它只需要一个3秒的语音片段作为提示就可以生成个性化的语音。基于VALL-E,我们用VALL-E X进行了扩展训练,得到了一个跨语言神经编解码的语言模型,实现了零资源的跨语言能力,支持跨语言语音合成以及跨语言的语音转语音的翻译任务。

虽然微软暂未开放其模型,但是已经有人大致复现了,我们就先睹为快。进入

VALL E X - a Hugging Face Space by Plachta,即可看到使用的web页面。

98d375702d7220089d5e29a32507ed0d.png

首先我们找一段源语音,用的是小猪佩奇奶奶的配音声音

然后我们将语音的内容填写到transcript,然后点击Make prompt就可以生成声学标记了。

42ddfafe71fc7cc3313a8018db438b4b.png

生成声学标记后,我们在Text中填写我们要生成的语音的内容,然后选择语言以及口音,这里我们都选择中文。生成的结果如下,真的已经非常自然,但是也能听出一丝丝的抖动。

我们再试试另外一种声音

转换后的结果:

如果各位想在本地尝试也可以

首先克隆仓库:git clone https://github.com/Plachtaa/VALL-E-X.git

然后进入项目文件夹:cd VALL-E-X

生成并激活虚拟环境:

python -m venv venv   #生成虚拟环境

venv\Scripts\activate  #激活虚拟环境

安装运行所需要的依赖包:pip install -r requirements.txt

安装过程中,会自动下载所需要的模型

想尝试的小伙伴赶紧来试试吧:

猜你喜欢

转载自blog.csdn.net/wutao22/article/details/132705755