不知道大家有没有这样的感觉,现在看视频总会听到很多同质化的声音,什么东北老铁,广东小帅,台湾阿美,听来听去就是那几个声音,真的有点审美疲劳。高端博主全部自己配音,台词功底非一日之功。我们这种比较内向又没有太多台词训练的普通人,有时候也想做点什么东西出来,也想自己配音,但嗯啊这种语气助词出现的十分频繁,很影响观感。我个人其实一直都想克隆一份自己的声音,然后每次需要做视频的时候就做一个语音合成。正好前段时间阿里推出了语音克隆产品,着实让我兴奋了一把,于是赶紧着手搞起来。搞定后发现,这个东西好是好,但上手门槛稍微有点高,所以就有了这期视频,教大家如何上手阿里云的语音合成。

大家好,我是什么都略懂一点的up主金金金金魂,今天就跟我来搞定阿里云语音克隆吧。

首先我们了解一下阿里云的声音克隆,在阿里云内部它叫做轻量化声音克隆能力,是通过真人语音数据训练生成独特的定制语音合成模型,可应用于数字人音频合成、音视频制作配音、个性化有声书朗读等场景。也就是说这种语音克隆是真的克隆,按照你自己的声音制作出类似于小美小帅那样的一个完整的模型,而不是像某些项目那样基于已有的模型进行音色叠加,这是两种完全不同的东西。单纯从效果来说,这种方法不一定会更好,因为自己训练的材料不一定比他已有的模型更多,自己的训练预料也可能会有部分瑕疵,毕竟比不上专业的,可能会导致某些地方,比如换气,语调,之类的,不那么完美。但我敢保证,通过这种方法得到的语音,一定是跟你更加相像的,如果将来有数字人模拟的需求,这种应该是更有可能做到以假乱真的。

那我们现在就正式开始。根据文档我们可以看到,阿里云提供的声音克隆功能是以api形式来提供的,意味着无论训练模型还是利用模型生成语音,都需要通过编程或者命令来实现。也就意味着,对于某些朋友来说,这个东西是有一定的门槛的,对我自己来说,使用频率最高的语音合成文字过程,每次都要调用代码也挺麻烦,所以我就想一定要想个办法把这个门槛降到最低,至少能方便我自己。于是我就开发了一个语音调用的应用。

为了让它兼容性更好,我使用了BS架构,通过浏览器访问前端界面,功能部分在服务器端完成。首先我们来看一下效果。

效果演示

界面中只有几个输入框,第一个是授权码,这个是需要在阿里云里申请的,如何申请后面会说。第二个是要使用的语音模型,如果您已经有自己的模型,那就使用自己的模型。阿里自己也训练了43个模型供我们使用,列表也在这里。这里我就是用我自己的模型了。

第三个输入框就是我们需要转换的文字,粘贴进去之后,点击生成语音,片刻之后就自动开始播放我们生成的语音了。当然这个语音也可以下载供后续使用。

页面刷新后,授权码和模型名字都会保留在输入框里,方便下次使用。

如何部署

我的方案是通过docker。docker是支持全平台的一个容器平台,我把开发好的应用打包成一个镜像,只要你的电脑上安装了docker,就可以以我提供的镜像为模板,运行起来一个一模一样功能的容器。容器是什么?容器就是一个进程,跟你电脑里的各种软件没有本质的区别。所以到这里为止,我们知道我们首先需要安装容器。Win11和Mac用户下载docker desktop,安装过程基本就是一直点击下一步,链接我会放到简介里。Linux用户请自行搞定安装。后续的演示我以win11为例。

安装后我们会得到docker,同时也会得到docker compose,它是容器管理工具,让我们更方便的操控容器。此时,我们打开命令行,输入docker compose,如果出现了它的用法,那说明安装正确,没问题。