Deep learning for Text to Speech
https://github.com/mozilla/TTS
Mozilla による neural text-to-speech の実装です. 現状(2019 年 09 月 12 日時点)ではなかなかアクティブに開発されている実験的なプロジェクトな感じです.
実験的ではありますが, Tacotron2 + WaveRNN の組み合わせでなかなかいい感じの結果が得られています.
上と同じ?かは不明ですが, TTS Tacotron2 + WaveRNN の colab ノート
TTS
TTS という名前がよくないですが, 中身的には基本的に Tacotron/Tacotron2 ベースでの text-to-speech 実装を行っています.
server/
にあるデモは Tacotron ベース単体なので, 動かしてみても, 他の Tacotron 実装のようにいくらか機械的なスピーチ結果になっています.
WaveRNN と組み合わせることで, 処理に時間はかかりますがより自然な発音がえられます.
WaveRNN との組み合わせは,
にある, Colab ファイル(最初のほうで示したものと同じもの)を見てみてください.
SST
ちなみに, Mozilla では, Speech-to-text のほうは DeepSpeech というのがあって, こちらもややこしい名称になっています
Mozilla deepspeech で speech-to-text する(English). アン・ハサウェイさんのスピーチの文字起こしにもチャレンジ
https://qiita.com/syoyo/items/9e5898344403b896bf04
Server デモ
Tacotron2 モデルを使うのを想定します.
TTS README にあるやりかた(requirements.txt を利用)だと, ライブラリが古かったりとかでうまく動きません.
上記 Colab にあるように
$ git checkout Tacotron2-iter-260K-824c091
$ pip install -q gdown lws librosa Unidecode==0.4.20 tensorboardX git+git://github.com/bootphon/phonemizer@master localimport
$ apt-get install -y espeak
として Tacotron2-iter-260K-824c091
branch を利用し,
pip で依存ライブラリをインストールしてあげてください. pytorch は 0.4.1 以上であれば動くようです.
espeak は phonemizer で利用します. espeak がインストールされていないと, phonemize をうごかしたときにエラーがでます.
それ以外は README 通りに checkpoint, config.json をダウンロードして設定すれば動くはずです.
Pretrained model(checkpoint file)
学習済みモデルが以下から取得できます.
Mean Opinion Score Results
Judy という Mozilla 内部のデータセットではなかなかいい感じの結果が得られています.
(ただ, Judy を使って学習した pretrained model は公開されていない)
TODO
- 学習を試す.
- ROCm PyTorch で学習, 推論ができるか試す
- 日本語や中国語で学習をためす