emospeech
1.0.0
您可以使用Docker或Conda建立環境。
如果您沒有安裝Docker,請按照鏈接查找Ubuntu,Mac或Windows的安裝說明。
構建Docker圖像:
docker build -t emospeech .
運行Docker圖像:
bash run_docker.sh
如果您沒有安裝Conda,請在此處找到您的操作系統的安裝說明。
conda create -n etts python=3.10
conda activate etts
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu117
pip install -r requirements.txt
如果您的計算機上有不同版本的CUDA版本,則可以在此處找到適用的pytorch安裝鏈接。
我們使用了來自ESD數據集的10位英語說話者的數據。要下載所有.wav , .txt文件以及使用MFA創建的.TextGrid文件:
bash download_data.sh
要訓練模型,我們需要預先計算的持續時間,能量,音高和EGEMAP功能。從src目錄運行:
python -m src.preprocess.preprocess
這就是您的數據文件夾的外觀:
.
├── data
│ ├── ssw_esd
│ ├── test_ids.txt
│ ├── val_ids.txt
└── └── preprocessed
├── duration
├── egemap
├── energy
├── mel
├── phones.json
├── pitch
├── stats.json
├── test.txt
├── train.txt
├── trimmed_wav
└── val.txt
config/config.py中配置參數。python -m src.scripts.train 。在ESD數據集的測試子集上實施了測試。綜合音頻併計算神經MOS(NISQA TTS):
Inference部分下的config/config.py中配置參數。python -m src.scripts.test 。您可以在test.log中找到用於原始,重建和生成音頻的Nisqa TT。
表現對音素序列的訓練。可以在data/preprocessed/phones.json中找到支持的手機。該倉庫是為學術研究而創建的,並且不支持自動素式轉換。但是,如果您想通過情感調節綜合任意句子,則可以:
從具有MFA的繪畫中生成音素序列。
1.1遵循安裝指南
1.2下載英語G2P型號: mfa model download g2p english_us_arpa
1.3從graphemes.txt生成pheneme.txt: mfa g2p graphemes.txt english_us_arpa phoneme.txt
運行python -m src.scripts.inference ,指定參數:
| 條件 | 意義 | 可能的值 | 預設值 |
|---|---|---|---|
-sq | 合成的音素序列 | 在data/phones.json中找到。 | 未設置,必需的參數。 |
-emo | 所需的聲音情感的ID | 0:中立,1:生氣,2:快樂,3:悲傷,4:驚喜。 | 1 |
-sp | 揚聲器聲音 | 從1到10,對應於原始ESD表示法中的0011 ... 0020。 | 5 |
-p | 節省合成音頻的路徑 | 任何具有.wav擴展名的人。 | generation_from_phoneme_sequence.wav |
例如
python -m src.scripts.inference --sq "S P IY2 K ER1 F AY1 V T AO1 K IH0 NG W IH0 TH AE1 NG G R IY0 IH0 M OW0 SH AH0 N"
如果結果文件未綜合,請檢查inference.log中的OOV手機。