基於Tacotron模型的語音合成實踐


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並鍵入您要說的內容,即可合成。

在使用其他數據集來訓練和合成的時候,經常由於不知道參數的意義、如何設置,機器太慢,導致花了很長時間都沒有效果,這一塊沒有做出理想的效果。

 

       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM