先日公開した「シロワニさんのつくよみちゃんトークソフト」の作り方を記述します。
「シロワニさんのつくよみちゃんトークソフト」に関してはこちら。
こちらの作り方は、初回公開時(version.1.0.0)のものとなります。今後、違う作り方になっていく可能性は大いにありますので、ご注意ください。
つくよみちゃんトークソフトは以下の二つをオープンソースを使用しています。
上述したオープンソース、espnetではTTS用の音響モデルを作ることができます。音響モデルにもいくつか種類があり、espnetでは以下が作成可能です。
一番新しいFastSpeech2が良いのではとも思いますが、つくよみちゃんトークソフトではTacotron2を使用しています。理由は以下です。
そんなこんなでTacotron2を使いました。2017年のTacotron2さんに自分はいつまでお世話になるのだろうか......
上述したオープンソース、ParallelWaveGANではTTS用のボコーダを作ることができます。ボコーダにもいくつか種類があり、ParallelWaveGANでは以下が作成可能です。
つくよみちゃんトークソフトではParallelWaveGANを使用しています。Multi-band MelGANも試したんですが、ParallelWaveGANと比較して音声を聞いた結果、ParallelWaveGAN方がノイズが入りにくいように感じたので採用しました。
つくよみちゃんトークソフトは音響モデルもボコーダも使用したデータセットは同じです。
パプリックドメイン(著作権なし)の約6800文の男性音声で学習させ、そのモデルを100文のつくよみちゃん音声で転移学習させて作っています。各音声は以下で公開されています。
この仕組みで作成した合成音声のデモはこちらで公開しています。
転移学習前の音声データが6800文なので少ないかなと思っています。また、つくよみちゃんの100文も少ないですね。データに関しては以下のような改善点があると思います。
あと、イントネーションの改善もできると思います。こちらは、音響モデルの入力が今はテキスト情報のみなので、イントネーション情報を付与してやることで改善できるのではないかと思っています。