Tacotron模型架構圖
(1) 下載tacotron模型的實現到本地,這里是基於GitHub上一個tacotron模型的實現開展研究的,GitHub網址:https://github.com/keithito/tacotron,由於
谷歌沒有給出tacotron模型的官方實現,這里給出了tacotron模型的非官方實現;
1) 研究是在linux下開展的,由於源碼較多,只展示tacotron模型源碼的基本結構如下:
2) 安裝一些依賴項:
① 安裝Python 3。
② 安裝最新版本的TensorFlow。
③ 安裝此模型的一些要求:pip install -r requirements.txt
requirements.txt 文件:
安裝過程:
(2) 基於預先訓練好的模型來進行語音和成:
1) 下載並解壓縮模型:
curl http://data.keithito.com/data/speech/tacotron-20180906.tar.gz | tar xzC /tmp
2) 運行服務器,基於端口(9000)
python3 demo_server.py --checkpoint /tmp/tacotron-20180906/model.ckpt
3) 將瀏覽器指向localhost:9000,即可輸入要合成的內容,並輸出合成的音頻
合成中:
合成完畢:
(3) 使用其他數據,訓練,合成語音
1) 下載語音數據集,我們嘗試下載了一些數據集,如LJ Speech(LJ語音數據集);
2) 將數據集解壓縮到 ai/tacotron(ai是我電腦下的一個目錄)
解壓縮后,對於LJ語音,對應的樹如下所示:
tacotron
|- LJSpeech-1.1
|- metadata.csv
|- wavs
3) 預處理數據:
python3 preprocess.py --dataset ljspeech
4) 訓練模型
python3 train.py
5) 從檢查點合成
python3 demo_server.py –checkpoint ~/tacotron/logs-tacotron /model .ckpt-185000
可將“185000”替換為要使用的檢查點編號,然后打開瀏覽器localhost:9000並鍵入您要說的內容,即可合成。
在使用其他數據集來訓練和合成的時候,經常由於不知道參數的意義、如何設置,機器太慢,導致花了很長時間都沒有效果,這一塊沒有做出理想的效果。