VITS語(yǔ)音生成模型詳解及中文語(yǔ)音生成訓(xùn)練
- 2024-02-05 18:26:00
- admin 轉(zhuǎn)貼
- 14931
vits模型
VITS模型 有兩種不同的含義和應(yīng)用領(lǐng)域:VITS模型:這是一種基于心理學(xué)理論和認(rèn)知科學(xué)的人機(jī)交互模型,全稱(chēng)為Visual, Interactive, and Textual System。它涉及用戶(hù)在感知、認(rèn)知、行為和個(gè)性化方面的深入研究,旨在設(shè)計(jì)優(yōu)化用戶(hù)體驗(yàn)的系統(tǒng)模型。VITS模型由三個(gè)核心因素組成:視覺(jué)因素:涉及用戶(hù)對(duì)界面、圖標(biāo)、顏色、形狀等的感知和識(shí)別,這是用戶(hù)理解和信息獲取的關(guān)鍵途徑。
交互因素:指的是用戶(hù)與系統(tǒng)之間的互動(dòng),包括輸入和輸出的過(guò)程,目的是提高用戶(hù)的滿(mǎn)意度和效率。
文字因素:涉及與用戶(hù)的交流文字信息,如標(biāo)簽、說(shuō)明、反饋等,設(shè)計(jì)清晰的文字信息可以減少用戶(hù)的困惑和錯(cuò)誤操作。
VITS模型:另一種是Variational Inference with adversarial learning for end-to-end Text-to-Speech,它是一種結(jié)合變分推理(variational inference)、標(biāo)準(zhǔn)化流(normalizing flows)和對(duì)抗訓(xùn)練的高性能語(yǔ)音合成模型。VITS通過(guò)隱變量而非頻譜串聯(lián)起語(yǔ)音合成的聲學(xué)模型和聲碼器,并在隱變量上執(zhí)行隨機(jī)建模以及隨機(jī)時(shí)長(zhǎng)預(yù)測(cè)器,以此提高合成語(yǔ)音的多樣性。VITS模型在訓(xùn)練時(shí)會(huì)生成梅爾頻譜以指導(dǎo)模型訓(xùn)練,但在推理時(shí)不需要生成梅爾頻譜,而是使用線性譜作為輸入。此外,VITS模型采用了基于標(biāo)準(zhǔn)化的流模型(normalizing flows)的變分推理(variational inference)策略和對(duì)抗學(xué)習(xí)策略來(lái)提升生成模型的表現(xiàn)力。
1 VITS模型介紹
VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)是一種結(jié)合變分推理(variational inference)、標(biāo)準(zhǔn)化流(normalizing flows)和對(duì)抗訓(xùn)練的高表現(xiàn)力語(yǔ)音合成模型。
VITS模型是韓國(guó)科學(xué)院在2021年6月提出的,VITS通過(guò)隱變量而非頻譜串聯(lián)起來(lái)語(yǔ)音合成中的聲學(xué)模型和聲碼器,在隱變量上進(jìn)行隨機(jī)建模并利用隨機(jī)時(shí)長(zhǎng)預(yù)測(cè)器,提高了合成語(yǔ)音的多樣性,輸入同樣的文本,能夠合成不同聲調(diào)和韻律的語(yǔ)音。
論文地址:VITS論文
2 VITS模型結(jié)構(gòu)
VITS主要包括3塊:
- 條件變分自編碼器(Variational AutoEncoder,VAE)
- 從變分推斷中產(chǎn)生的對(duì)齊估計(jì)
- 生成對(duì)抗訓(xùn)練
VITS 語(yǔ)音合成完全端到端TTS的里程碑,主要突破點(diǎn)如下:
(1)首個(gè)自然度超過(guò)2-stage架構(gòu)SOTA的完全E2E模型。MOS4.43, 僅低于GT錄音0.03。聲稱(chēng)目前公開(kāi)系統(tǒng)最好效果。
(2)得益于圖像領(lǐng)域中把Flow引入VAE提升生成效果的研究,成功把Flow-VAE應(yīng)用到了完全E2E的TTS任務(wù)中。
(3)訓(xùn)練非常簡(jiǎn)便,完全E2E。不需要像Fastspeech系列模型需要額外提pitch, energy等特征,也不像多數(shù)2-stage架構(gòu)需要根據(jù)聲學(xué)模型的輸出來(lái)finetune聲碼器以達(dá)到最佳效果。
(4)擺脫了預(yù)設(shè)的聲學(xué)譜作為鏈接聲學(xué)模型和聲碼器的特征,成功的應(yīng)用來(lái)VAE去E2E的學(xué)習(xí)隱性表示來(lái)鏈接兩個(gè)模塊
(5)多說(shuō)話(huà)人模型自然度不下降,不像其他模型趨于持平GT錄音MOS分
3 使用vits模型進(jìn)行中文語(yǔ)音合成訓(xùn)練
(1)github項(xiàng)目下載:
git clone https://github.com/PlayVoice/vits_chinese
(2)運(yùn)行環(huán)境搭建:
annoconda環(huán)境搭建詳見(jiàn):annoconda安裝與使用
conda create -n vits pyton==3.9cd vits_chinesepip install -r requirements.txtcd monotonic_alignpython setup.py build_ext --inplace
(3)數(shù)據(jù)集下載:
下載標(biāo)貝男聲數(shù)據(jù)集,采樣頻率為22050,下載地址如下:
標(biāo)貝男聲數(shù)據(jù)集(第一個(gè)包)
標(biāo)貝男聲數(shù)據(jù)集(第二個(gè)包)
標(biāo)貝男聲數(shù)據(jù)集標(biāo)注數(shù)據(jù)
下載完成后,將數(shù)據(jù)集解壓縮后放到“vits_chinese/data/waves”目錄下,標(biāo)注數(shù)據(jù)放到
“vits_chinese/data”目錄下
(4)預(yù)訓(xùn)練模型下載:
韻律模型下載:韻律模型
下載完成后,移動(dòng)到“vits_chinese/bert/”目錄下
(5)數(shù)據(jù)預(yù)處理:
修改配置文件:vi config/bert_vits.json
"max_wav_value": 32768.0,"sampling_rate": 22050,"filter_length": 1024,
python vits_prepare.py -c ./configs/bert_vits.json
(6)啟動(dòng)訓(xùn)練
python train.py -c configs/bert_vits.json -m bert_vits
(7)訓(xùn)練后推理
python vits_infer.py --config ./configs/bert_vits.json --model logs/bert_vits/G_400000.pth
其中G_400000.pth為訓(xùn)練后的模型,根據(jù)訓(xùn)練實(shí)際情況指定訓(xùn)練模型進(jìn)行推理
4 訓(xùn)練結(jié)果展示
經(jīng)過(guò)1000個(gè)epoch訓(xùn)練后的語(yǔ)音生成效果如下:
https://download.csdn.net/download/lsb2002/87832170
聯(lián)系人: | 北極星通公司 |
---|---|
電話(huà): | 010-56545416 |
傳真: | 010-82896426 |
Email: | support@bjsin.cn |
QQ: | 35338585 |
微信: | Aoku2017 | QQ群:241759321 |
地址: | 北京市中關(guān)村生命科學(xué)園創(chuàng)意園3-3-103 |