字正腔圆,万国同音,coqui-ai TTS跨语种语音克隆,钢铁侠讲16国语言(Python3.10)
按照固有的思維方式,如果想要語音克隆首先得有克隆對象具體的語言語音樣本,換句話說,克隆對象必須說過某一種語言的話才行,但現在,coqui-ai TTS V2.0版本做到了,真正的跨語種無需訓練的語音克隆技術。
coqui-ai TTS實現跨語種、無需訓練克隆語音的方法是基于Tacotron模型,該模型使用了一種音素輸入表示來鼓勵在不同語種之間共享模型容量。此外,還引入了對抗損失項,以鼓勵模型將說話者身份與語音內容進行解耦。這使得模型能夠在不同語種之間進行語音合成,而無需在任何雙語或平行示例上進行訓練。
具體來說,coqui-ai TTS首先使用音素輸入表示:采用音素(語音的基本發音單位)作為輸入表示,鼓勵模型在不同語種之間共享模型容量,從而實現跨語種語音合成。
隨后引入對抗損失項:對抗損失項的引入有助于模型將說話者身份與語音內容進行解耦,從而使模型能夠在不同語種之間進行語音合成,而無需在雙語或平行示例上進行訓練。
此外,通過在訓練過程中使用多個講話者的語音數據,并引入自動編碼輸入來幫助穩定注意力,進一步擴展了模型的規模,使其能夠在所有訓練過程中看到的語種中一致地合成可理解的語音,包括訓練講話者的本地口音或外國口音。
本次我們基于coqui-ai TTS的2.0版本來讓鋼鐵俠托尼斯塔克先生開口講16國語言。
coqui-ai TTS語音克隆項目配置
首先克隆項目:
git clone https://github.com/v3ucn/coqui-ai_xTTS_v2.2_webui_cn.git
注意該項目并非官方項目,而是在其基礎上的修改版本,添加了中文版本的webui。
進入項目的目錄:
cd coqui-ai_xTTS_v2.2_webui_cn
隨后安裝依賴:
pip install -r requirements.txt
安裝完成后,先在Python終端里測試一下:
import torch
from TTS.api import TTS
如果報下面這個錯誤:
from pydantic.typing import Annotated
ImportError: cannot import name 'Annotated' from 'pydantic.typing'
那么說明pydantic庫的版本過高了,進行降級即可:
pip install pydantic<2
coqui-ai TTS語音克隆模型配置
隨后下載2.0版本的模型,下載地址:
https://huggingface.co/coqui/XTTS-v2/tree/main
將其放入項目的models目錄,結構如下:
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
隨后,需要做一件重要的事,那就是配置模型目錄的環境變量 TTS_HOME = E:\work\coqui-ai_xTTS_v2.2_webui_cn\models\
如圖所示:
如果不設置環境變量,coqui-ai TTS會自動重復下載模型到C盤,非常的煩人。
coqui-ai TTS跨語種語音克隆推理
萬事俱備,只欠推理,在終端執行命令:
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()`.
注意程序初始化比較慢,另外設置了環境變量系統就會偵測到模型已下載。
此時訪問 http://127.0.0.1:7860
默認用鋼鐵俠英文30秒素材作為克隆的數據集。
選擇語速、語言即可直接推理,方便快捷。
這里需要注意的是,如果想讓鋼鐵俠的音色講日語,那么需要單獨安裝Mecab庫,并且單獨拷貝動態庫,詳見:Win11環境Mecab日語分詞和詞性分析以及動態庫DLL not found問題(Python3.10),這里不再贅述。
除了鋼鐵俠的音色,我們也可以自主添加別的角色音色:
比如添加生化危機角色艾達王,那么把艾達王30秒的語音wav文件放入到項目的targets目錄即可,命名規范:角色名.wav。
隨后就可以在webui界面中選擇艾達王的音色進行克隆。
結語
coqui-ai xtts支持多種語言,包括漢語、英語、韓語、日語、西班牙語、法語等。這意味著您可以使用coqui-ai xtts來合成多種語言的語音,而無需進行額外的訓練或調整。其基于先進的深度學習技術,能夠生成高質量、自然流暢的語音。這意味著即使在不同語種之間,coqui-ai xtts生成的語音也能保持高質量和自然度,正是居家旅行,口播嘴替的必備好庫。
總結
以上是生活随笔為你收集整理的字正腔圆,万国同音,coqui-ai TTS跨语种语音克隆,钢铁侠讲16国语言(Python3.10)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【经典问题】mysql和redis数据一
- 下一篇: 助力项目快捷实现国际化,造个多语言轮子