openvpi / DiffSinger

An advanced singing voice synthesis system with high fidelity, expressiveness, controllability and flexibility based on DiffSinger: Singing Voice Synthesis via Shallow Diffusion Mechanism
Apache License 2.0
2.64k stars 275 forks source link

添加自訂語言方法 #32

Closed Archivoice closed 1 year ago

Archivoice commented 1 year ago

想請問一下該如何自定義語言,畢竟被綑在中文其實有點讓人難以接觸

yqzhishen commented 1 year ago

目前理论上是支持自定义词典的,这里有文档:https://github.com/openvpi/DiffSinger/blob/refactor/docs/README-SVS-custom-phonemes.md 但目前除了汉语以外,我们没有对应的词典和歌声训练数据来训练用于自动标注的MFA声学模型,因此自制声库的流程是没有办法支持自定义词典的。 其次,一些部件还处于开发或计划中,我们担心过早涉足多语种会干扰开发部署,因此选择暂时专注于汉语普通话。 如果您有其他问题欢迎继续留言,感谢您对项目的关注。

Archivoice commented 1 year ago

那麼,如果有自行手動標記還會需要MFA嗎?如果可以使用手動標記來訓練,是不是就能免除MFA造成的自訂語言限制了?

yqzhishen commented 1 year ago

自行手动标记就不需要MFA了,但首先标注出来的TextGrid必须和制作流程里MFA输出的格式保持一致,其次需要花费极大量时间(我们现在即使只标注歌词拼音也需要花费1.5 : 1 ~ 3 : 1的标注时间)

Archivoice commented 1 year ago

那假設已經標記好了一個資料庫,接著要怎麼做?

yqzhishen commented 1 year ago

首先仔细阅读上面文档的内容,制作一份词典。然后参考自制声库的pipeline将所有的标注转换成transcriptions.txt的格式(在这里也有简要的说明)。将配置文件中的 g2p_dictionary 改为你自定义的词典,预处理若不报错即可执行训练。

d4n1elchen commented 1 year ago

不太清楚模型的原理,想請教有辦法拿中文的音源訓練出支持其他語言的模型嗎?

flutydeer commented 1 year ago

目前不支持直接使用中文音源训练出其他语言的模型

d4n1elchen commented 1 year ago

那有辦法做TTS嗎? 我看原本的TTS Script被移除了

沒事我找到他了,在 tts/

yqzhishen commented 1 year ago

对自定语言和词典的支持已在 #90 中完全实现,所以关闭这个 issue。请等待 v2.0.0 正式发布。