这里介绍下如何通过FastSpeech2项目进行中文的语音合成,由于该仓库把相关demo数据也提交了,因此仓库比较大。此时可以使用sparse-checkout
拉取相关的代码,而忽略一些无关紧要的目录。
要确保git的版本大于2.25,可以使用git version
进行查看。
接着就开始代码的拉取:
git clone --filter=blob:none --depth=1 --no-checkout https://github.com/ming024/FastSpeech2 cd FastSpeech2 git sparse-checkout init --cone
接着修改.git/info/sparse-checkout
中的内容为:
/* !/demo/ /preprocessed_data/*/*.json
最后进行git checkout
即可。
之后就是对应模型的下载了,可以访问FastSpeech2进行对应模型的下载,密码是9615。其中AISHELL-3是中文多人,LJSpeech是英文单人,LibriTTS是英文多人。
将下载的模型放置在目录output/ckpt
对应目录下,也不知道为何要搞这么复杂。只能手动创建对应的目录:
mkdir -p output/ckpt/{AISHELL3,LJSpeech,LibriTTS} mkdir -p output/result/{AISHELL3,LJSpeech,LibriTTS}
需要注意的是,放置在目录中的文件必须是pth.tar
后缀结尾,且需要去掉之前的语料库名称只保留数字即可,比如LJSpeech_900000.zip
需要变为900000.pth.tar
。
一切准备就绪,就可以开始推理了。这里使用GPU进行推理:
$ python synthesize.py --text "哈哈,我是个传说的人物" --speaker_id 0 --restore_step 600000 --mode single -p config/AISHE LL3/preprocess.yaml -m config/AISHELL3/model.yaml -t config/AISHELL3/train.yaml
最终的效果如下:
可以听见机械音还是有点重的。
当然也可以参考之前写的另一篇使用原神中人物的语音合成,相对来说效果会更好一些。详情请点击。
参考文章:
https://youwu.today/blog/git-sparse-checkout-for-partial-repository-clone/
如果喜欢这篇文章或对您有帮助,可以:[☕] 请我喝杯咖啡 | [💓] 小额赞助


