GAN 日本語音声合成 [arXiv:1709.08041]

10/11 追記: IEEE TASLPのペーパー (Open access) が公開されたようなので、リンクを貼っておきます: https://ieeexplore.ieee.org/document/8063435/

arXiv論文リンク: arXiv:1709.08041

前回の記事 の続きです。これでこのシリーズは終わりの予定です。

前回は英語音声合成でしたが、以前書いた DNN日本語音声合成の記事 で使ったデータと同じものを使い、日本語音声合成をやってみましたので、結果を残しておきます。

実験

実験条件

HTSのNIT-ATR503のデモデータ (ライセンス) から、wavデータ503発話を用います。442を学習用、56を評価用、残り5をテスト用にします(※英語音声とtrain/evalの比率は同じです)。継続長モデルは、state-levelではなくphone-levelです。サンプリング周波数が48kHzなので、mgcの次元を25から60に増やしました。モデル構造は、すべて英語音声合成の場合と同じです。ADV loss は0次を除くmgcを用いて計算しました。F0は入れていません。

ganttsjpブランチ をチェックアウトして、以下のシェルを実行すると、ここに貼った結果が得られます。

 ./jp_tts_demo.sh jp_tts_order59

ただし、シェル中に、HTS_ROOT という変数があり、シェル実行前に、環境に合わせてディレクトリを指定する必要があります。

diff --git a/jp_tts_demo.sh b/jp_tts_demo.sh
index 7a8f12c..b18e604 100755
--- a/jp_tts_demo.sh
+++ b/jp_tts_demo.sh
@@ -8,7 +8,7 @@ experiment_id=$1
 fs=48000

 # Needs adjastment
-HTS_DEMO_ROOT=~/local/HTS-demo_NIT-ATR503-M001
+HTS_DEMO_ROOT=HTS日本語デモの場所を指定してください

 # Flags
 run_duration_training=1

変換音声の比較

音響モデルのみ適用

  1. 自然音声
  2. ベースライン
  3. GAN

の順に音声を貼ります。聴きやすいように、soxで音量を正規化しています。

nitech_jp_atr503_m001_j49

nitech_jp_atr503_m001_j50

nitech_jp_atr503_m001_j51

nitech_jp_atr503_m001_j52

nitech_jp_atr503_m001_j53

音響モデル+継続長モデルを適用

nitech_jp_atr503_m001_j49

nitech_jp_atr503_m001_j50

nitech_jp_atr503_m001_j51

nitech_jp_atr503_m001_j52

nitech_jp_atr503_m001_j53

どうでしょうか。ちょっと早口になってしまっている箇所もありますが、全体的には明瞭性が上がって、品質が改善されたような感じがします。若干ノイジーな感じは、音響モデルにRNNを使えば改善されるのですが、今回は計算リソースの都合上、Feed-forward型のサンプルとなっています。

GV

nitech_jp_atr503_m001_j49 に対して計算した結果です。

英語音声合成の実験でも確認しているのですが、mgcの次元を大きく取ると、高次元でGVが若干落ちる傾向にあります。ただし、一週間前の僕のツイート によると、なぜかそんなこともなく(当時ばりばりのプロトタイピングの時期だったので、コードが残っておらず、いまは再現できないという、、すいません)、僕が何かミスをしている可能性もあります。ただ、品質はそんなに悪くないように思います。

変調スペクトル

評価用セットで平均を取ったものです。

特徴量の分布

nitech_jp_atr503_m001_j49 に対して計算した結果です。

おまけ: HTSデモと聴き比べ

HTSデモを実行すると生成されるサンプルとの聴き比べです。注意事項ですが、実験条件がまったく異なります。あくまで参考程度にどうぞ。

  1. HTSデモ
  2. ベースライン
  3. GAN

の順に音声を貼ります。

1 こんにちは

2 それではさようなら

HTS

3 はじめまして

4 ようこそ名古屋工業大学へ

5 今夜の名古屋の天気は雨です

おわりに

アイデアはシンプル、効果は素晴らしいという、僕の好きな(試したくなる)研究の紹介でした。ありがとうございました。

GANシリーズのその他記事へのリンクは以下の通りです。

追記: 図を作るのに使ったノートブックは こちら においておきました。

参考

Ryuichi Yamamoto
Ryuichi Yamamoto
Engineer/Researcher

I am a software engineer / researcher passionate about speech synthesis. I love to write code and enjoy open-source collaboration on GitHub. Please feel free to reach out on Twitter and GitHub.

Related