Bert-vits2項(xiàng)目又更新了,更新了一個(gè)新的分支:中文特化,所謂中文特化,即針對中文音色的特殊優(yōu)化版本,純中文底模效果百尺竿頭更進(jìn)一步,同時(shí)首次引入了大模型,使用國產(chǎn)IDEA-CCNL/Erlangshen-MegatronBert-1.3B大模型作為Bert特征提取,基本上完全解決了發(fā)音的bad case,同時(shí)在情感表達(dá)方面有大幅提升,可以作為先前V1.0.1純中文版本更好的替代。
更多情報(bào)請參見Bert-vits2項(xiàng)目官網(wǎng):
https://github.com/fishaudio/Bert-VITS2/releases/tag/Extra
本次我們基于Bert-vits2中文特化版本通過40秒素材復(fù)刻巫師3角色葉奈法(Yennefer)的音色。
配置Bert-vits2中文特化版本
首先克隆項(xiàng)目:
git clone https://github.com/v3ucn/Bert-VITS2-Extra_-.git
注意這里是針對官方的Extra分支的修改版本,增加了音頻切分和轉(zhuǎn)寫。
隨后下載新的純中文底模:
https://openi.pcl.ac.cn/Stardust_minus/Bert-VITS2/modelmanage/show_model
同時(shí)還需要下載IDEA-CCNL/Erlangshen-MegatronBert-1.3B大模型的預(yù)訓(xùn)練模型:
值得一提的是,這個(gè)新煉的純中文底模非常牛逼,官方作者僅通過一個(gè)5秒的素材就可以完美復(fù)刻音色。
關(guān)于作者的中文特化底模極限測試:
https://www.bilibili.com/video/BV1Fa4y1B7HB/
隨后將模型放入對應(yīng)的文件夾,bert模型文件結(jié)構(gòu)如下:
E:\work\Bert-VITS2-Extra\bert>tree /f
Folder PATH listing for volume myssd
Volume serial number is 7CE3-15AE
E:.
│ bert_models.json
│
├───bert-base-japanese-v3
│ .gitattributes
│ config.json
│ README.md
│ tokenizer_config.json
│ vocab.txt
│
├───bert-large-japanese-v2
│ .gitattributes
│ config.json
│ README.md
│ tokenizer_config.json
│ vocab.txt
│
├───chinese-roberta-wwm-ext-large
│ .gitattributes
│ added_tokens.json
│ config.json
│ pytorch_model.bin
│ README.md
│ special_tokens_map.json
│ tokenizer.json
│ tokenizer_config.json
│ vocab.txt
│
├───deberta-v2-large-japanese
│ .gitattributes
│ config.json
│ pytorch_model.bin
│ README.md
│ special_tokens_map.json
│ tokenizer.json
│ tokenizer_config.json
│
├───deberta-v2-large-japanese-char-wwm
│ .gitattributes
│ config.json
│ pytorch_model.bin
│ README.md
│ special_tokens_map.json
│ tokenizer_config.json
│ vocab.txt
│
├───deberta-v3-large
│ .gitattributes
│ config.json
│ generator_config.json
│ pytorch_model.bin
│ README.md
│ spm.model
│ tokenizer_config.json
│
├───Erlangshen-DeBERTa-v2-710M-Chinese
│ config.json
│ special_tokens_map.json
│ tokenizer_config.json
│ vocab.txt
│
├───Erlangshen-MegatronBert-1.3B-Chinese
│ config.json
│ pytorch_model.bin
│ vocab.txt
│
└───Erlangshen-MegatronBert-3.9B-Chinese
config.json
special_tokens_map.json
tokenizer_config.json
vocab.txt
很明顯,這里關(guān)于Erlangshen-MegatronBert大模型,其實(shí)有三個(gè)參數(shù)選擇,有710m和1.3b以及3.9B,作者選擇了居中的1.3b大模型。
這里介紹一下國產(chǎn)的Erlangshen-MegatronBert大模型。
Erlangshen-MegatronBert 是一個(gè)具有 39 億參數(shù)的中文 BERT 模型,它是目前最大的中文 BERT 模型之一。這個(gè)模型的編碼器結(jié)構(gòu)為主,專注于解決各種自然語言理解任務(wù)。它同時(shí),鑒于中文語法和大規(guī)模訓(xùn)練的難度,使用了四種預(yù)訓(xùn)練策略來改進(jìn) BERT,Erlangshen-MegatronBert 模型適用于各種自然語言理解任務(wù),包括文本生成、文本分類、問答等,這個(gè)模型的權(quán)重和代碼都是開源的,可以在 Hugging Face 和 CSDN 博客等平臺(tái)上找到。
Erlangshen-MegatronBert 模型可以應(yīng)用于多種領(lǐng)域,如 AI 模擬聲音、數(shù)字人虛擬主播等。
另外需要注意的是,clap模型也已經(jīng)回歸,結(jié)構(gòu)如下:
E:\work\Bert-VITS2-Extra\emotional\clap-htsat-fused>tree /f
Folder PATH listing for volume myssd
Volume serial number is 7CE3-15AE
E:.
.gitattributes
config.json
merges.txt
preprocessor_config.json
pytorch_model.bin
README.md
special_tokens_map.json
tokenizer.json
tokenizer_config.json
vocab.json
No subfolders exist
clap主要負(fù)責(zé)情感風(fēng)格的引導(dǎo)。2.3版本去掉了,中文特化又加了回來。
至此模型就配置好了。
Bert-vits2中文特化版本訓(xùn)練和推理
首先把葉奈法的音頻素材放入角色的raw目錄。
隨后需要對數(shù)據(jù)進(jìn)行預(yù)處理操作:
python3 audio_slicer.py
python3 short_audio_transcribe.py
這里是切分和轉(zhuǎn)寫。
接著運(yùn)行預(yù)處理的webui:
python3 webui_preprocess.py
這里需要注意的是,bert特征文件的生成會(huì)變慢,因?yàn)樾枰竽P偷膮⑴c。
后續(xù)應(yīng)該會(huì)有一些改進(jìn)。
數(shù)據(jù)處理之后,應(yīng)該包括重采樣音頻,bert特征文件,以及clap特征文件:
E:\work\Bert-VITS2-Extra\Data\Yennefer\wavs>tree /f
Folder PATH listing for volume myssd
Volume serial number is 7CE3-15AE
E:.
Yennefer_0.bert.pt
Yennefer_0.emo.pt
Yennefer_0.spec.pt
Yennefer_0.wav
Yennefer_1.bert.pt
Yennefer_1.emo.pt
Yennefer_1.spec.pt
Yennefer_1.wav
Yennefer_10.bert.pt
Yennefer_10.emo.pt
Yennefer_10.spec.pt
Yennefer_10.wav
Yennefer_11.bert.pt
Yennefer_11.emo.pt
Yennefer_11.spec.pt
Yennefer_11.wav
Yennefer_12.bert.pt
Yennefer_12.emo.pt
Yennefer_12.spec.pt
Yennefer_12.wav
Yennefer_13.bert.pt
Yennefer_13.emo.pt
Yennefer_13.spec.pt
Yennefer_13.wav
Yennefer_14.bert.pt
Yennefer_14.emo.pt
Yennefer_14.spec.pt
Yennefer_14.wav
Yennefer_15.bert.pt
Yennefer_15.emo.pt
Yennefer_15.spec.pt
Yennefer_15.wav
Yennefer_16.bert.pt
Yennefer_16.emo.pt
Yennefer_16.spec.pt
Yennefer_16.wav
Yennefer_17.bert.pt
Yennefer_17.emo.pt
Yennefer_17.spec.pt
Yennefer_17.wav
Yennefer_18.bert.pt
Yennefer_18.emo.pt
Yennefer_18.spec.pt
Yennefer_18.wav
Yennefer_19.bert.pt
Yennefer_19.emo.pt
Yennefer_19.spec.pt
Yennefer_19.wav
Yennefer_2.bert.pt
Yennefer_2.emo.pt
Yennefer_2.spec.pt
Yennefer_2.wav
Yennefer_20.bert.pt
Yennefer_20.emo.pt
Yennefer_20.spec.pt
Yennefer_20.wav
Yennefer_3.bert.pt
Yennefer_3.emo.pt
Yennefer_3.spec.pt
Yennefer_3.wav
Yennefer_4.bert.pt
Yennefer_4.emo.pt
Yennefer_4.spec.pt
Yennefer_4.wav
Yennefer_5.bert.pt
Yennefer_5.emo.pt
Yennefer_5.spec.pt
Yennefer_5.wav
Yennefer_6.bert.pt
Yennefer_6.emo.pt
Yennefer_6.spec.pt
Yennefer_6.wav
Yennefer_7.bert.pt
Yennefer_7.emo.pt
Yennefer_7.spec.pt
Yennefer_7.wav
Yennefer_8.bert.pt
Yennefer_8.emo.pt
Yennefer_8.spec.pt
Yennefer_8.wav
Yennefer_9.bert.pt
Yennefer_9.emo.pt
Yennefer_9.spec.pt
Yennefer_9.wav
隨后訓(xùn)練即可:
python3 train_ms.py
結(jié)語
Bert-vits2中文特化版本引入了大模型,導(dǎo)致入門的門檻略微變高了一點(diǎn),官方說至少需要8G顯存才可以跑,實(shí)際上6G也是可以的,如果bert大模型選擇參數(shù)更少的版本,相信運(yùn)行的門檻會(huì)進(jìn)一步的降低。文章來源:http://www.zghlxwxcb.cn/news/detail-777124.html
最后奉上整合包鏈接:文章來源地址http://www.zghlxwxcb.cn/news/detail-777124.html
整合包鏈接:https://pan.quark.cn/s/754f236ef864
到了這里,關(guān)于首次引入大模型!Bert-vits2-Extra中文特化版40秒素材復(fù)刻巫師3葉奈法的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!