PlayVoice / vits_chinese

Best practice TTS based on BERT and VITS with some Natural Speech Features Of Microsoft; Support ONNX streaming out!
https://huggingface.co/spaces/maxmax20160403/vits_chinese
MIT License
1.16k stars 167 forks source link

基于VITS-fast-finetuning加入bert #91

Closed caifangvip closed 1 year ago

caifangvip commented 1 year ago

作者好: 我看了您的加入bert相关的代码,想把这部分加入到VITS-fast-finetuning项目里面,2个项目的转音素的逻辑不同。 您用的是字典(不知道说的对不对),VITS-fast-finetuning用的是cleaner函数(好像是音标,不知道说的对不对)。 计算count_phone的时候,按您的逻辑一个汉子是2,符号为1,sil标记为1,这样count_phone的len和音素长度是一直的。 我也按照这个逻辑来计算count_phone,count_phone的len和音素的长度不一致。执行会报错。 报错代码:

image

image

请作者给一些技术指导,感谢。

MaxMax2016 commented 1 year ago

计算count_phone的时候,按您的逻辑一个汉子是2,符号为1,sil标记为1

VITS-fast-finetuning不是这个对应规则~~,输入一句中文,然后看看,他输入给模型的phone是什么样的

他没用拼音,用的这种: pinyin('中心', style=Style.BOPOMOFO) # 注音风格 [['ㄓㄨㄥ'], ['ㄒㄧㄣ']]

caifangvip commented 1 year ago

谢谢作者回答,那我把VITS-fast-finetuning对应规则改成您那样的,然后集成bert是否就可以?

caifangvip commented 1 year ago

我看您代码里use_sdp是FALSE,也就是说时长预测不是用的随机的,您代码里用的时长预测,效果更好是吗?

MaxMax2016 commented 1 year ago

谢谢作者回答,那我把VITS-fast-finetuning对应规则改成您那样的,然后集成bert是否就可以?

个人感觉随机时长不太稳定

caifangvip commented 1 year ago

同感,我也有这个感受,认同您的修改。

caifangvip commented 1 year ago

image 把文本传给bert时候,必须的加["PAD"] 是吗?是因为你标注加了sil,目的是做对齐吗?

MaxMax2016 commented 1 year ago

是的

qw4654134 commented 1 year ago

@caifangvip 兄弟,你搞出来了私我一下,可以付费

qw4654134 commented 1 year ago

@caifangvip 做好了么?

xiaoyin199 commented 1 year ago

为什么要修改VITS-fast-finetuning假如bert,直接用vits_chinese不好吗,这两个有什么效果的区别吗?还是纯粹为了学习;

我发现社区问的问题没有一个回复,这个项目坐着也不关注了吗 @MaxMax2016 @caifangvip