Plachtaa / VITS-fast-fine-tuning

This repo is a pipeline of VITS finetuning for fast speaker adaptation TTS, and many-to-many voice conversion
Apache License 2.0
4.65k stars 696 forks source link

multi speaker微调效果讨论 #478

Open liulfy opened 9 months ago

liulfy commented 9 months ago

小白求教。。我主要遇到的问题在于,当我使用多个speaker进行微调中文模型的时候,我会发现,多speaker音色之间也会受到影响。这方面大家是否能帮助提供些理论的支持,并帮助我微调得到更好的效果? 我在自己通过bark训练得到的底座模型上微调,观察到的现象有: 1、只使用女声来微调。有的女声效果会比较好,而有的则电声比较强,迭代上万epoch效果也不行; 2、使用女声+提供的辅助男声进行微调,对女声的优化效果不明显。此外会观察到辅助男声的推理是失真的; 3、女声+男声+辅助男声,直接会改变女声的腔调。 所以,如何从理论出发,得到比较好的效果,还是说要选择更好的普通话数据集来微调才可以呢? 此外想多问一句,辅助男声在微调的时候,起到什么作用呢?

KdaiP commented 8 months ago

先在一个大的多人数据集上训练一个多说话人的底模,然后再使用目标的单角色的音频进行微调,一般会有比较好的效果

scriptboy1990 commented 8 months ago

先在一个大的多人数据集上训练一个多说话人的底模,然后再使用目标的单角色的音频进行微调,一般会有比较好的效果

想问下,用单角色的音频进行微调的时候,是相当于在底模上,再加了一个新角色吗。

KdaiP commented 8 months ago

先在一个大的多人数据集上训练一个多说话人的底模,然后再使用目标的单角色的音频进行微调,一般会有比较好的效果

想问下,用单角色的音频进行微调的时候,是相当于在底模上,再加了一个新角色吗。

相当于在底模的权重上进行修改,然后得到一个新的说话人的模型。在新的模型当中,底模的说话人的信息已经被破坏掉了。

tuotuoshao commented 7 months ago

我在这里#551 也提了一个类似的问题。 @KdaiP 底模是作者提供的,我没有大数据集进行训练直接用它的底模了。我现在收集了三个人的语音想训练这三个人,那么我应该进行三次微调?每次在前一次的基础上新加一个人进行训练吗?反正我和提问者遇到的问题都是三个人一起训练他们之间会相互影响

KdaiP commented 7 months ago

我在这里#551 也提了一个类似的问题。 @KdaiP 底模是作者提供的,我没有大数据集进行训练直接用它的底模了。我现在收集了三个人的语音想训练这三个人,那么我应该进行三次微调?每次在前一次的基础上新加一个人进行训练吗?反正我和提问者遇到的问题都是三个人一起训练他们之间会相互影响

如果想要三个人不互相影响的话,建议只训单说话人,三个人就训三个模型

tuotuoshao commented 7 months ago

我在这里#551 也提了一个类似的问题。 @KdaiP 底模是作者提供的,我没有大数据集进行训练直接用它的底模了。我现在收集了三个人的语音想训练这三个人,那么我应该进行三次微调?每次在前一次的基础上新加一个人进行训练吗?反正我和提问者遇到的问题都是三个人一起训练他们之间会相互影响

如果想要三个人不互相影响的话,建议只训单说话人,三个人就训三个模型

嗯,这个是没有办法的办法,但是对于集成部署而不是服务部署客户端这个包会大好几倍人越多越大。从设计上来说它既然是一个多人模型,是不是有什么多人训练技巧不至于互相影响呀

KdaiP commented 7 months ago

我在这里#551 也提了一个类似的问题。 @KdaiP 底模是作者提供的,我没有大数据集进行训练直接用它的底模了。我现在收集了三个人的语音想训练这三个人,那么我应该进行三次微调?每次在前一次的基础上新加一个人进行训练吗?反正我和提问者遇到的问题都是三个人一起训练他们之间会相互影响

如果想要三个人不互相影响的话,建议只训单说话人,三个人就训三个模型

嗯,这个是没有办法的办法,但是对于集成部署而不是服务部署客户端这个包会大好几倍人越多越大。从设计上来说它既然是一个多人模型,是不是有什么多人训练技巧不至于互相影响呀

除了更改模型结构,不然没有比较好的方法哈哈哈

11Boss commented 3 months ago

小白求教。。我主要遇到的问题在于,当我使用多个speaker进行微调中文模型的时候,我会发现,多speaker音色之间也会受到影响。这方面大家是否能帮助提供些理论的支持,并帮助我微调得到更好的效果? 我在自己通过bark训练得到的底座模型上微调,观察到的现象有: 1、只使用女声来微调。有的女声效果会比较好,而有的则电声比较强,迭代上万epoch效果也不行; 2、使用女声+提供的辅助男声进行微调,对女声的优化效果不明显。此外会观察到辅助男声的推理是失真的; 3、女声+男声+辅助男声,直接会改变女声的腔调。 所以,如何从理论出发,得到比较好的效果,还是说要选择更好的普通话数据集来微调才可以呢? 此外想多问一句,辅助男声在微调的时候,起到什么作用呢?

我觉得可能还是你的过程有一些问题,我也试了五个人的训练,有两个女生,三个男生,效果都还可以,可能极少的停顿不对,电音肯定是没有的,不过这个过程跟多个因素有关