PaddleSpeech icon indicating copy to clipboard operation
PaddleSpeech copied to clipboard

请教语音克隆,音质优化的方向

Open Lennon-cheng opened this issue 1 year ago • 11 comments

使用 AIshell3 训练合成器,效果如下: snapshot_iter_193800

与第三方TTS效果对比: test

自己训练的语音质量不高,有沙沙的声音、字之间的清晰度较差。

小白请教下各位大佬,想要提高语音质量,我该如何优化?

注:复制链接 wget 下,并将jpg 后缀需要改为 wav

谢谢!!!

Lennon-cheng avatar Aug 12 '22 06:08 Lennon-cheng

这里给的语音克隆是调整的 acoustic model,但是我 loss 降的很低仍然效果不明显。一方面可以试着依照 voc1 里面训练一下 vocoder,另一方面照着 ge2e 里面训练一下 speaker_encoder 模型。 同时,Aishell3 里面数据女声居多,我发现男声低音模型根本学不到,所以做声音克隆男声效果比较差,这个需要自己弄数据训练一下。同时也期待官方的解法,希望推出 vits 版本的声音克隆~

sixyang avatar Aug 12 '22 09:08 sixyang

声纹提取可以尝试换成我们的 ecapa tdnn, 模型 这也是我们接下来会尝试的操作 沙沙声可能是声码器不好,可以换成 hifigan_aishell3 试试 vits 版本的声音克隆近期应该不会尝试,因为 vits 训练成本太高~

yt605155624 avatar Aug 12 '22 11:08 yt605155624

声纹提取可以尝试换成我们的 ecapa tdnn, 模型 这也是我们接下来会尝试的操作 沙沙声可能是声码器不好,可以换成 hifigan_aishell3 试试 vits 版本的声音克隆近期应该不会尝试,因为 vits 训练成本太高~

感谢提供 vc1 的训练方式!我这边自己再训练的时候,发现 vc1 只是训练 acoustic model,在你们的基础上继续训练也没有取得更好的效果(听感上),然后我尝试着线训练 voc1 的 parallel wavegan,然后再接到 vc1 上。但是发现 loss 不降反升,不知道是不是过拟合了……(我这边都是修改了部分源代码,把模型换成你们提供的 checkpoint,再继续训练),实际听感测试也没有什么提升。 然后我就想可能跟 speaker encoder 有关,vc1 的训练是基于 aishell3,里面的音频都是高保真数据,我的推理数据是从网上随便下载的说书视频进行测试的,发现效果并不好,所以感觉应该是数据的问题。准备之后针对 speaker encoder 进行训练,并且加入一些外部数据。对此你们有什么看法吗?谢谢!

sixyang avatar Aug 12 '22 17:08 sixyang

用真实语音文件,转成梅尔谱图,灌到vocoder模型中。发现声码器模型基本没问题,预估问题还是在合成器中吧。 归档.zip

压缩包中包含了: 原声音文件; 真实音转成mels,直接灌到 vocoder 模型。分别测试了官方的pwg_aishell3;pwg_baker;自己训练的pwg_aishell3; 克隆后的语音;

还想了解下,

  1. 语音合成后有后处理的方案,缓解字的清晰度、沙沙等问题吗?
  2. 合成器训练,从数据上、调参上有什么经验吗?

我目前是用AIshell3 + 自己的声音,用官方example/aishell3/vc1 中的方式训练。 数据上,之后想尝试用三方的TTS接口生成语音训练。

另外想训练时吧 voice_clone 关掉,排除下是否为声纹模型的问题。

Lennon-cheng avatar Aug 17 '22 10:08 Lennon-cheng

训练时关掉 vc 就是 aishell3/tts3

yt605155624 avatar Aug 17 '22 15:08 yt605155624

https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples/other/tts_finetune/tts3 TTS、voice_clone 都可以尝试下开源模型的finetune策略,比自己从零训练效果好很多。

Lennon-cheng avatar Sep 02 '22 05:09 Lennon-cheng

https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples/other/tts_finetune/tts3 TTS、voice_clone 都可以尝试下开源模型的finetune策略,比自己从零训练效果好很多。

aishell3 微调的话,感觉效果还不是很好,本身基于 aishell3 的 tts 模型的效果感觉没有 csmsc 等单 speaker 好

sixyang avatar Sep 05 '22 03:09 sixyang

@Lennon-cheng 目前正在尝试用 ecapa tdnn 作为声纹模型,可以缓解 “沙沙” 的问题,关注这个 issue https://github.com/PaddlePaddle/PaddleSpeech/issues/2296 @sixyang 可以尝试换成使用 csmsc 的声码器,目前我们正在尝试一系列冻结层的操作,或许可以用更少的音频获取更好的效果

yt605155624 avatar Sep 07 '22 03:09 yt605155624

@Lennon-cheng 目前正在尝试用 ecapa tdnn 作为声纹模型,可以缓解 “沙沙” 的问题,关注这个 issue #2296 @sixyang 可以尝试换成使用 csmsc 的声码器,目前我们正在尝试一系列冻结层的操作,或许可以用更少的音频获取更好的效果

声码器跟数据集不相关嘛?csmsc 的声码器能够直接应用到 aishell3 上面吗?

sixyang avatar Sep 07 '22 05:09 sixyang

@Lennon-cheng 目前正在尝试用 ecapa tdnn 作为声纹模型,可以缓解 “沙沙” 的问题,关注这个 issue #2296 @sixyang 可以尝试换成使用 csmsc 的声码器,目前我们正在尝试一系列冻结层的操作,或许可以用更少的音频获取更好的效果

声码器跟数据集不相关嘛?csmsc 的声码器能够直接应用到 aishell3 上面吗?

声码器和数据集相关,如果你是 finetune 了其他音色,肯定是推荐你使用 aishell3 这个多说话人的声码器,如果你只是 finetune 了 csmsc(或者类似的成年女性音色),用 csmsc 的声码器效果可能会更好,如果你 finetune 了男性音色,用 csmsc 肯定不行(因为男性和女性特征相差较大),aishell3、vctk、csmsc 都是 24k 的,声码器可以任意换,只是效果好不好的问题

yt605155624 avatar Sep 07 '22 08:09 yt605155624

基于 ECAPA-TDNN 声纹模型的 voice cloning 已经上线,欢迎试用 https://github.com/PaddlePaddle/PaddleSpeech/tree/develop/examples/aishell3/vc2

yt605155624 avatar Sep 14 '22 08:09 yt605155624

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Oct 29 '22 10:10 stale[bot]