TorToiSe语音克隆程序使用心得

我一直都对语音克隆这个技术非常感兴趣,但是之前并没有找到好用的TTS(text-to-speech)程序,网上很多现成且易用的TTS要么是没法定制音色,要么是只能定制自己的音色不能定制名人的(可能要求你读出特定的一段文字),要么是定制音色需要收费,要么是生成的语音显得非常僵硬和粗糙,要么是学习音色需要非常长的音频、且学习过程也很慢……但很巧,我在油管的首页推荐里看到了一个博主做的夜神月和L的合成对话,觉得效果挺好,就看了下它用的什么TTS程序,于是我就点进去了GitHub的Tortoise-TTS页面开开眼界(地址:https://github.com/neonbjb/tortoise-tts)


废话不多说……如果看到这篇文章的你也想试试通过Tortoise-TTS克隆语音,

有以下几点是我想提醒大家的:

①不要在本地执行这个程序(除非你电脑的配置极高)。GitHub的Tortoise-TTS页面的README里,开发者把Google Colab的选项给撤下来了,所以我一开始以为我只能本地安装本地处理,但是我电脑配置其实很拉(对于机器学习来说),平时打打游戏没问题,但跑这种程序慢得一笔,基本上要花30分钟才能生成一个5秒钟的音频(而且这还是快速模式)。油管用户Martin Thissen做了两个修正版Google Colab(一个用来生成短句,一个生成长文本),把原始Colab里可能出现的一些exception都修好了,用起来非常方便。而且Colab里面即使是免费版资源也比中低价位的Laptop要好,实测生成5秒钟的音频大概只需要2分钟。

②我完全不懂编程,也不懂关于Python的任何知识,甚至在玩这个之前从来都用不到命令提示符,连GitHub页面都看不懂,但是……为了在本地安装这个玩意,我折腾了老半天(靠ChatGPT给我解释术语和出现的异常),中间遇到了各种各样的exception(至少十来个吧),都得自己去“修”,总之非常辛苦。但是Colab好像没有这个问题,虽然安装过程中仍然会跳error,但是Colab好像可以根据这个error自动找到解决方案,自动卸载某一些程序和库并且安装合适版本的库,全程不用我动手……我不知道这是怎么做到的(again,我真的对编程一无所知),但总之我的意思就是……能用Colab就尽可能用Colab吧……

③如果你只是想玩玩,只准备生成可能几十秒的音频,那免费版的Colab应该够你用了。但是如果你想用这个读长文章(至少……可能上千词吧,笑死),我估计它需要非常高的计算性能,才能在尽可能短的时间里生成这么大篇幅的语音。Colab有提供几个付费选项,你可以每月付10刀升级为Colab Pro,也可以每100个计算单元付10刀。作为一个门外汉我让ChatGPT给我解释了好半天计算单元到底特么是啥,但我到现在也还没买(因为免费版生成大概一百词的段落也挺轻松的……),所以我也不是特别清楚……

④如果你选择的是短句模式,其中的preset有四个选项(长文模式也有),ultra fast/fast/standard/high quality——这四个选项里fast是默认选项,而且在Martin修改过的这个Colab版本里面它不会像本地版默认那样一次生成三个不同语调的音频,所以如果你给它的音频素材本身就不够优质,有较大的可能性生成的玩意是噪音,或者有非常诡异的拉长音。所以最好选standard以上,一般不会出这种问题。

⑤如果你选择的是长文模式,除了preset需要选standard以上外,还有另一个点需要注意,就是……Martin修改版里面,他给了一个新设定,就是可以通过这个符号“|”来分割你想把哪几句放在同一个片段里生成。如果你对这个无所谓,就不要在文本里面加入任何“|”。但是……我试了一下,不知道是因为这个符号,还是因为我最初选的fast,总之加“|”的fast模式生成的100词文本,生成效果非常怪,听着简直像讲者喝醉了……

⑥为了获得高质量的音频片段,你可能需要一个音频编辑软件。我目前用的是免费软件Audacity,虽然界面看起来很远古,但是真的非常好用,速度也非常快,尤其是如果你用不到Adobe Audition的一些高级功能,Audacity是完全够用的。不过外网也有人说Audacity好像不太安全,所以如果你不放心,你可以在GitHub搞个套壳的Audacity(比如有个就叫Tenacity……但这不代表我最推荐它,我也没深入研究过),也还可以。顺便一说,你用Tortoise生成音频之后(尤其是长音频),肯定是需要做一些修改的,毕竟它不是真人,有时候断句和语调可能会不太让人满意。断句倒是改起来比较简单,直接把音频里某些安静的片段复制到需要的地方就可以了,语调不满意……可能就要用短句模式多试几回了。


除此之外,音频素材的选取需要注意:

①尽可能选“干净”的音频,除人声外一定不能有其他噪音或音乐(有声书最好了);

②不要选气声特别重、或音调过低的语音片段,该程序没有办法正确地学习这种效果的音频,硬塞给它的话生成的语音都会是杂音和怪声;

③音频的音量不能太大,如果你下载的有声书,在Audacity里打开,波形图是什么样,那么你想选的音频片段,波形图就差不多该是什么样(笑死,我这说法好外行……)。反正我给它喂《不速之客》音频的时候,我至少把这些片段降低了6dB,如果不降、合成出来的东西就是杂音和怪声。

④素材文件不能太少也不能太多,我一般是视情况选3-5个8-12秒的片段,然后每个片段中语调有一些变化,顺便一说,如果语调太平稳了,合成出的声音会听起来特别没感情

⑤即使是同一个人录制的声音,音色也是可以有明显区别的,比如丹丹龙接受采访的声音,和他在《007皇家赌场》有声书里的"Vesper"音色,就有非常大的差别,"Vesper"版"丹丹龙"要温柔甜美很多。我的第一个短句是用该有声书的旁白部分作为素材的,但"Fever"歌词是用"Vesper"部分作为素材的。

⑥虽然开发者的README里面说WAV的编码必须是Floating Point,但是实际上这好像并不重要。你可以直接观察它的voices文件夹里的那些音频,只要采样率是22050Hz且它是单声道就应该没啥问题(我猜)。即使合成的时候会出现"Chunk (non-data) not understood"也不用管它,它会正常合成音频的。


怎样在Google Colab上合成音频:

其实我个人最推荐的是直接看Martin Thissen录的教程视频,不是很长,两个都是十几分钟。毕竟这个修改版Colab是他自己做的,所以他比我这种小白懂太多了。B站已经有人传他(短句生成)的视频熟肉了,在这里:【如何使用AI克隆任何声音 教程 Tortoise-TTS-哔哩哔哩】 https://b23.tv/app6YlD,然后长句生成的教程视频在这里:https://www.youtube.com/watch?v=FN3yxL0Rr0c

至于他的两个Colab链接大家一定要记住了,因为如果你直接谷歌"Tortoise-TTS Google Colab"的话出来的是原版的、有很多问题的Colab,而且内容太多看得人头大(笑死)。

这是短句合成的Colab:

https://colab.research.google.com/drive/1NxiY3zHN4Nd8J3YAqFsbYaOB71IiLE04?usp=sharing

这是长文合成的Colab:

https://colab.research.google.com/drive/1g_CssJK34kwRi7VRtFd73WvTLq9UbnZT?usp=sharing


小结:

我个人认为Tortoise-TTS大约是目前免费的可定制音色TTS程序里做得最优秀的一批了(当然,我是编程小白,大家也不要太信我),尤其是它只需要四五十秒的音频,就可以做到音色非常仿真,语调也非常契合文字内容。不过,呃……怎么说呢,我觉得不同人有不同的需求,有些创作者可能需要更快的生成速度,对质量要求或许并不高。正如在该GitHub页面的README开头提到的,“Tortoise is a text-to-speech program built with the following priorities: 1.Strong multi-voice capabilities. 2.Highly realistic prosody and intonation.”,它的着重点就是强大的多语音功能,和高度逼真的韵律和语调。语音克隆能够做到这种程度,我觉得已经非常令人惊艳了。我个人来讲唯一的遗憾就是……素材不够“干净”就基本没用,所以我没法做出《不速之客》电影里那种特别低沉和磁性的音色,以及不论我给它喂多少次丹丹龙的美式口音,它生成的还是英式口音……(笑死,GitHub的其他该程序的用户都巴不得自己听起来越英式越好,只有我这种奇葩偏要听美式)

Anyway,祝大家玩得开心!

编辑于 2023-04-03 08:44・IP 属地美国

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值