按照固有的思維方式,如果想要語音克隆首先得有克隆對(duì)象具體的語言語音樣本,換句話說,克隆對(duì)象必須說過某一種語言的話才行,但現(xiàn)在,coqui-ai TTS V2.0版本做到了,真正的跨語種無需訓(xùn)練的語音克隆技術(shù)。
coqui-ai TTS實(shí)現(xiàn)跨語種、無需訓(xùn)練克隆語音的方法是基于Tacotron模型,該模型使用了一種音素輸入表示來鼓勵(lì)在不同語種之間共享模型容量。此外,還引入了對(duì)抗損失項(xiàng),以鼓勵(lì)模型將說話者身份與語音內(nèi)容進(jìn)行解耦。這使得模型能夠在不同語種之間進(jìn)行語音合成,而無需在任何雙語或平行示例上進(jìn)行訓(xùn)練。
具體來說,coqui-ai TTS首先使用音素輸入表示:采用音素(語音的基本發(fā)音單位)作為輸入表示,鼓勵(lì)模型在不同語種之間共享模型容量,從而實(shí)現(xiàn)跨語種語音合成。
隨后引入對(duì)抗損失項(xiàng):對(duì)抗損失項(xiàng)的引入有助于模型將說話者身份與語音內(nèi)容進(jìn)行解耦,從而使模型能夠在不同語種之間進(jìn)行語音合成,而無需在雙語或平行示例上進(jìn)行訓(xùn)練。
此外,通過在訓(xùn)練過程中使用多個(gè)講話者的語音數(shù)據(jù),并引入自動(dòng)編碼輸入來幫助穩(wěn)定注意力,進(jìn)一步擴(kuò)展了模型的規(guī)模,使其能夠在所有訓(xùn)練過程中看到的語種中一致地合成可理解的語音,包括訓(xùn)練講話者的本地口音或外國口音。
本次我們基于coqui-ai TTS的2.0版本來讓鋼鐵俠托尼斯塔克先生開口講16國語言。
coqui-ai TTS語音克隆項(xiàng)目配置
首先克隆項(xiàng)目:
git clone https://github.com/v3ucn/coqui-ai_xTTS_v2.2_webui_cn.git
注意該項(xiàng)目并非官方項(xiàng)目,而是在其基礎(chǔ)上的修改版本,添加了中文版本的webui。
進(jìn)入項(xiàng)目的目錄:
cd coqui-ai_xTTS_v2.2_webui_cn
隨后安裝依賴:
pip install -r requirements.txt
安裝完成后,先在Python終端里測試一下:
import torch
from TTS.api import TTS
如果報(bào)下面這個(gè)錯(cuò)誤:
from pydantic.typing import Annotated
ImportError: cannot import name 'Annotated' from 'pydantic.typing'
那么說明pydantic庫的版本過高了,進(jìn)行降級(jí)即可:
pip install pydantic<2
coqui-ai TTS語音克隆模型配置
隨后下載2.0版本的模型,下載地址:
https://huggingface.co/coqui/XTTS-v2/tree/main
將其放入項(xiàng)目的models目錄,結(jié)構(gòu)如下:
E:\work\coqui-ai_xTTS_v2.2_webui_cn\models\tts>tree /f
Folder PATH listing for volume myssd
Volume serial number is 7CE3-15AE
E:.
│
├───tts_models--multilingual--multi-dataset--xtts_v2
│ config.json
│ dvae.pth
│ hash.md5
│ mel_stats.pth
│ model.pth
│ speakers_xtts.pth
│ tos_agreed.txt
│ vocab.json
隨后,需要做一件重要的事,那就是配置模型目錄的環(huán)境變量 TTS_HOME = E:\work\coqui-ai_xTTS_v2.2_webui_cn\models\
如圖所示:
如果不設(shè)置環(huán)境變量,coqui-ai TTS會(huì)自動(dòng)重復(fù)下載模型到C盤,非常的煩人。
coqui-ai TTS跨語種語音克隆推理
萬事俱備,只欠推理,在終端執(zhí)行命令:
python3 app.py
程序返回:
E:\work\coqui-ai_xTTS_v2.2_webui_cn>python app.py
> tts_models/multilingual/multi-dataset/xtts_v2 is already downloaded.
> Using model: xtts
Running on local URL: http://127.0.0.1:7860
To create a public link, set `share=True` in `launch()`.
注意程序初始化比較慢,另外設(shè)置了環(huán)境變量系統(tǒng)就會(huì)偵測到模型已下載。
此時(shí)訪問 http://127.0.0.1:7860
默認(rèn)用鋼鐵俠英文30秒素材作為克隆的數(shù)據(jù)集。
選擇語速、語言即可直接推理,方便快捷。
這里需要注意的是,如果想讓鋼鐵俠的音色講日語,那么需要單獨(dú)安裝Mecab庫,并且單獨(dú)拷貝動(dòng)態(tài)庫,詳見:Win11環(huán)境Mecab日語分詞和詞性分析以及動(dòng)態(tài)庫DLL not found問題(Python3.10),這里不再贅述。
除了鋼鐵俠的音色,我們也可以自主添加別的角色音色:
比如添加生化危機(jī)角色艾達(dá)王,那么把艾達(dá)王30秒的語音wav文件放入到項(xiàng)目的targets目錄即可,命名規(guī)范:角色名.wav。
隨后就可以在webui界面中選擇艾達(dá)王的音色進(jìn)行克隆。文章來源:http://www.zghlxwxcb.cn/news/detail-776288.html
結(jié)語
coqui-ai xtts支持多種語言,包括漢語、英語、韓語、日語、西班牙語、法語等。這意味著您可以使用coqui-ai xtts來合成多種語言的語音,而無需進(jìn)行額外的訓(xùn)練或調(diào)整。其基于先進(jìn)的深度學(xué)習(xí)技術(shù),能夠生成高質(zhì)量、自然流暢的語音。這意味著即使在不同語種之間,coqui-ai xtts生成的語音也能保持高質(zhì)量和自然度,正是居家旅行,口播嘴替的必備好庫。文章來源地址http://www.zghlxwxcb.cn/news/detail-776288.html
到了這里,關(guān)于字正腔圓,萬國同音,coqui-ai TTS跨語種語音克隆,鋼鐵俠講16國語言(Python3.10)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!