最近做了一些tts方面的工作,其中一项就是音色克隆,调研了许多开源项目,经过对比发现百度的开源项目paddlespeech的效果还不错,项目的活跃度也很高,比较适合初学者或者感兴趣的同学入门。
一、语音克隆模型介绍
目前主流的语音克隆模型是SV2TTS (GE2E + Tacotron2),该模型可以作为基准的baseline模型,在工业界已经有落地的应用。模型的简单结构如下:
主要有三个模块:
1、说话人特征提取
使用GE2E将音频梅尔频谱转换成代表个性特征的固定的向量特征。
2、音色合成
这部分也是tts的模块,将文字的发音序列加上音色的特征合成出梅尔频谱序列,该模型为WaveNet,也是一个seq2seq的模型。
3、声码模型vocoder
该模型将梅尔频谱转换成时域波形样本 ,常用的模型有hifi-gan,这部分模型会影响最终生成声音的音质。
音色克隆主要是在第二个模块做训练。
二、基于微调的音色克隆
使用aishell3开源语音数据可以将上述的几个模块的模型训练到比较高的准确率,音色克隆的意义在于使用少量的语音数据进行音色克隆。
因此考虑微调的方法可以较好地取得不错的效果。在paddlespeech的项目中做一些少量的步骤就可以方便地得到相应的模型。
具体步骤就不详细介绍了,跟着项目的介绍就行。主要时间花费在数据的收集和处理,输入的说话人声音最好是20分钟以上,然后分割成3-5s的较短的句子数据。并进行文字的标注。
最终效果还不错。