End-to-End Text-to-Speech Based on Latent Representation of Speaking Styles Using Spontaneous Dialogue
Links:
なぜ読んだか
読み上げ機能の音声は単調なので、もっといい感じに(できれば雑談風に)できないかと考えていた
TL;DR
人間の自然な対話に近い Text-to-Speech (TTS) を目指して、データ作成手法とモデルを提案
発話レベルに加え、対話レベルでのスタイルを予測するために、スタイル予測器とその学習方法を提案
スタイル予測器によって予測されたスタイル表現をVAE/GMVAE-VITSに渡すことで、文脈に適したスタイルでの音声合成ができる
主観評価にて、オリジナルのVITSよりも対話レベルの自然さが上回った
背景
自然言語処理技術の向上により、テキストによる対話の質が大幅に向上
音声合成技術の品質は人間に匹敵するほど向上しているが、対話領域の研究は少ない
朗読と対話では異なる部分が多い
朗読音声には原稿があるが、対話音声には無いため、繰り返しやフィラー、延長、ブレスなどがありモデル化が難しい
相槌が頻繁にあり、様々なスタイルで発話されるため、テキストと音声の一対多の関係をモデル化する必要がある
ピッチ、エネルギー、発話速度などの要素は、対話相手と同期することがある(同調)
提案手法
より人間に近い対話音声合成を実現するために、台本を用意することなく、与えられた話題に関する自由形式の対話を録音
使用モデル
1. VITS
単調アラインメント探索(MAS)とブランク・トークンによってテキストと音声のアライメントをロバストに推定する
2. 発話レベルの潜在変数をVITSに組み込んだモデル
VAE-VITS:潜在変数の事前分布に標準正規分布を仮定
GMVAE-VITS:潜在変数の事前分布にガウス混合モデル(GMM)を仮定
潜在空間を話者間で共有することで、話者間で類似した発話スタイルを潜在空間内で近づけるような学習を促す
3. 対話履歴から現在の発話スタイルを予測するスタイル予測器を導入し、実際の対話に近い同調を実現
1. VAE/GMVAE-VITS を単一の発話で学習
2. 過去の発話から抽出したスタイル表現列を用いてスタイル予測器を学習する
Spontaneous dialogue corpus
2人以上の話者に話題を与えて、自由形式の対話を独立したチャンネルで録音する
事前に定義されたトランスクリプトがない
繰り返し、フィラー、延長、さらにバックチャンネル(相槌)を含む、より自発的な発話を行うことができる
実際の対話の特徴をより正確にモデル化が可能
音声の書き起こし
1. 自動音声認識で自動的に音声を書き起こす
2. 手作業での修正
3. 時間情報付与(各発話の開始と終了)
時間情報を使って、発話レベルで音声を分割
Two-stage training-based dialogue TTS
目標
過去の音声履歴 $ x_1, \dots, x_{N-1}と話者ID $ s_1, \dots, s_{N-1}を考慮して$ n番目のテキスト $ t_nと話者ID $ s_nに対応する音声$ x_nを生成すること
課題
音声対話では$ x_1, \cdots, x_nのそれぞれが非常に長い時系列データ
$ nが大きい場合には直接モデル化することが難しい
Speaking style modeling using VAE/GMVAE-VITS
テキストと音声の発話レベルの関係$ p_θ(x_n|t_n, s_n)をVITSを用いてモデル化
発話レベルの潜在変数 $ z_uを導入し、各発話の話し方を表現する
発話エンコーダ
フレームレベルの潜在変数$ z_fと話者埋め込み$ sを用いて、発話レベルの潜在変数$ z_uの平均$ \mu_uと分散$ \sigma^2_uを予測する
$ q(z_u|z_f, s) = \mathcal{N}(z_u;\mathbf{\mu_u}, \text{diag}(\sigma^2_u))
スタイルエンコーダ
発話$ xの線形スペクトログラム$ Xから$ z_fを予測する発話エンコーダと事後エンコーダを合わせたもの
確率的継続時間予測器(stochastic duration predictor)、フロー、デコーダをそれぞれ$ z_uに条件付けし、与えられた発話スタイルを考慮して継続時間、音響特徴、波形を予測
具体的には、$ z_uに線形射影を施し、各モジュールに供給される話者埋め込み$ sに加える
https://gyazo.com/0e2fde309d368180c61546837c92558e
VAE-VITSは以下の対数尤度のエビデンス下界(ELBO)を最大化することで学習できる($ sは省略)
https://gyazo.com/0ea3d491ef08745664946eadf6dd3eba
GMVAE-VITS
GMVAE-Tacotronに従い、事前分布に等しい混合重み$ p(z_u|y_u) = N (z_u; \mu_u , \text{diag}(\sigma^2_u))を持つガウス混合モデル(GMM)
事前分布にGMMを仮定することで、対話音声の様々なスタイルをより正確に表現することを期待
https://gyazo.com/82e6cb959980b347af644873017b449b
Style transition modeling using style predictor
スタイル予測器
入力:スタイルベクトルの系列$ v_1,\dots,v_{n-1}と話者IDの系列$ s_1,\dots,s_n
$ z_uをそのまま発話スタイルとして用いるのではなく、$ v_u = [\mu_u^T, \sigma_u^T\rbrack^Tをスタイルベクトルとして定義
加えて、事前学習済みBERTで抽出した 2 種類の言語特徴も入力として用いる
1. 文エンコーディング $ c^{\text{sent}}_n、[CLS]トークンに対応する出力ベクトル
$ t_nテキストシーケンス
2. コンテキスト符号化$ c^{cont}_n、[CLS]トークンに対応する出力ベクトル
$ k個のテキストシーケンス $ t_{n-k+1},\dots,t_n
出力:現在の発話のスタイルベクトル$ v_n
対話中の発話スタイルの遷移をモデル化するために、単方向LSTMを採用
学習:予測されたスタイルベクトル$ \tilde{v}_nと目標スタイルベクトル$ v_nとの間の平均二乗誤差$ ||\tilde{v}_n - v_n||^2を最小化
https://gyazo.com/ad0858b4c06dd7366baaaecb00c3e54a
実験
Datasets
録音方法
話者同士は隔離された防音室で録音
ガラス越しに顔が見え、ヘッドホンで相手の音声が聞こえる状態
話し手はラジオで仕事をしている同僚
録音データ
55のトピックの対話(18,385発話)
train:45対話(15,739発話)
dev:5対話(1,284発話)
eval:5対話(1,362発話)
Model and training details
モデルは VITS, VAE-VITS, GMVAE_VITS の 3 つ
VITS の設定は先行研究と同様
発話エンコーダ
512個のフィルタと3個のカーネルサイズを持つ2つの1次元畳み込み層
各方向に256個のセルを持つ2つの双方向LSTM層
平均プーリング層に続く線形射影層
モンテカルロサンプリング数 1
$ z_uは 16 次元
GMVAE-VITS
潜在クラス数Kを10
$ \sigma_{y_u}の初期値を$ e^{-1}、下限値を$ e^{-2}
AdamWオプティマイザ $ \beta_1 = 0.8, \beta_2 = 0.99重み減衰$ \lambda = 0.01で200kステップ学習
バッチサイズは48に設定され、学習率はVITSの先行研究と同じ方法でスケジュール
VAE/GMVAE-VITSの学習にはKLアニーリングを導入した
提案手法により新たに導入された項のKL重みは、初期50kステップにわたってコサインアニーリングにより0から1に増加させた
スタイル予測器
256セル、ドロップアウト率0.5の3層の一方向LSTM
targetスタイルベクトルは、学習済みVAE/GMVAE-VITSのスタイルエンコーダを用いて求めた
BERT
約 400 GB の日本語テキストに対してゼロから学習
1024 次元の文エンコーディング $ c^{\text{sent}} と文脈エンコーディング$ c^{\text{cont}}を計算
$ c^{\text{cont}}を求めるためのテキスト列長 $ k は 10 に設定
系列全体を学習して過学習しないように以下の工夫をした
1. 配列長$ lを[10, 30]の範囲からランダムに選択
2. 各対話から連続する$ l個の発話をランダムに抽出
VITSの訓練に使用したのと同じAdamWオプティマイザを使用
バッチサイズ32、2000ステップまで訓練
val Loss が最小のチェックポイントを使用
Results
Objective evaluation of style predictor
スタイル予測に付加的な言語情報を与えることの有効性を評価
VAE/GMVAE-VITSのそれぞれについて、以下の4つのモデルを訓練
1. None:$ c^{\text{sent}}も$ c^{\text{cont}}も使用しない
2. S:$ c^{\text{sent}}のみを使用
3. C:$ c^{\text{cont}}のみを使用
4. S+C:$ c^{\text{sent}}と$ c^{\text{cont}}の両方を使用
予測スタイルベクトルと目標スタイルベクトルの平均二乗誤差(RMSE)で評価
SのRMSEはVAE、GMVAEともにNoneより有意に小さく、スタイル予測における$ c^{\text{sent}}の有効性が示された
また、NoneとC、SとS+Cを比較すると、$ c^{\text{cont}}も予測精度の向上に寄与している
対話中の発話スタイルの遷移を予測するためには、音響履歴だけでなく言語履歴を用いることが有効である
以下の実験では、S+C条件で学習したスタイル予測器を用いた
https://gyazo.com/a929316ebe0ecc08b159978eb0959052
Objective evaluation of overall system
提案手法とベースラインVITSの性能を比較するため、客観的な評価を行った。
提案手法
スタイルエンコーダを用いて対象音声から得られた$ z_uを用いる場合(VAE/GMVAE-oracle)
予測スタイルベクトル$ \tilde{v}_uで定義される分布からサンプリングされた$ z_uを用いる場合(VAE/GMVAE-predicted)
評価
1. 合成音声と対象音声から抽出した60次元メルセプストラムのRMSEであるメルセプストラム歪み(MCD)
2. 合成音声と対象音声から抽出した80次元メルスペクトログラムのRMSEであるメルスペクトログラム歪み(MSD)
3. 合成音声と対象音声の音声長さの誤差である全音程誤差(DUR)
合成音声と目的音声では系列長が異なるので、MCDとMSDを計算する前に動的時間縮約法を用いて両者を整列
結果
VAE/GMVAE-oracleともにベースラインと比較して、MCDとMSDに有意な改善が見られた(DURもわずかに改善)
$ z_uは音響的特徴だけでなく、持続時間に関連する特徴も表している
VAE/GMVAE-predictedも、ベースラインVITSと比較してMCDとMSDの改善を示した
スタイル予測器が、対象音声のスタイルに近い発話スタイルを予測できた
GMVAE-VITSの性能はVAE-VITSよりもオラクルと予測の両方でわずかに優れていた
GMVAE-VITSの事前分布が、対話音声の様々な話し方をより適切に表現できた
https://gyazo.com/9e53d84a2cbf9b26108b7355f512578d
Subjective evaluation of overall system
合成音声の主観的な品質を評価
2 種類の MOS(Mean opinion score)テストを実施
発話レベル評価
評価者は1つの発話のみを提示され、その自然さを評価する
ダイアログレベルの評価
評価者は6つの発話からなる短いダイアログ(約10~20秒)を提示され、話し言葉の対話としての自然さを評価する
話し言葉の対話としての自然さ = 自然な同調が起きているか、話し方が文脈に合っているかなど
自然対話コーパスには重複が多く、合成音声を交互に再生するだけでは不自然な対話になってしまう
各発話のグランドトゥルースのタイミングを用いて対話サンプルを作成
MASを用いて録音音声のテキスト-音声アライメントを計算し、合成のためのアライメント情報を用いて音声の長さを元のものと揃えた
評価
5段階評価:1(悪い)~ 5(優れている)
評価者30人、各評価者は30個のスピーチサンプルを評価
結果
発話レベルの自然さ
GMVAE-oracle/predictedのスコアがVITSを若干上回ったが両者に有意差は見られない
VITSは明示的なスタイル表現を用いていないが合成音声は自然であると評価された
一つの発話として聞いたときに自然に聞こえる様々な話し方が存在することが原因か?
対話レベルの自然さ
GMVAE-oracleのスコアがVITSよりも有意に高い
適切な発話スタイルを用いることが対話の自然さに寄与している
GMVAE-predictedもVITSより有意に高い
スタイル予測器は対話として聞いたときに適切な話し方を予測できる
https://gyazo.com/71944e60a9730769739f5a91327aaa4d
Analysis of latent space
主成分分析を用いて次元削減を行った学習済みGMVAE-VITSの事前分布と事後分布(図3(a)と(b))
二つの話者の潜在表現が混在しているため、学習された潜在空間は話者非依存である
話者埋め込み$ sを明示的に使用することで、潜在変数$ z_uが話者に依存しない話し方のみを表現できている
合成音声の平均継続時間、有声区間のピッチ、ラウドネス(図3 (c)、(d)、(e))
評価セットの全テキストを異なる話者IDと潜在クラスで合成したもの
各潜在クラスはそれぞれ異なる特徴を持ち、話者間で共通
これらの特徴を利用して、学習した事前分布を適用することで、話し方を望ましいものに修正することが可能
https://gyazo.com/681afc173a6e046e67d4acfc7621c116
結論
人間の自発的な対話に近い音声対話の合成を目指して以下を提案
1. 台本のない自由形式の対話の録音・書き起こし
2. 様々な発話スタイルをモデル化するVAE/GMVAE-VITS
3. 過去の対話の言語的・音響的特徴から発話スタイルを予測するスタイル予測器を提案
GMVAE-VITSとスタイル予測器の組み合わせは、対話レベルの評価において、従来のVITSよりも高い自然性を達成
GMVAE-VITSが取得する潜在空間は話者非依存であり、潜在クラスごとに異なる特徴を持つ
今後の課題
過去の発話の書き起こしや各発話のタイミングを自動的に推定する仕組みの導入
この研究では過去の発話テキストや発話タイミングが利用可能であることを前提としている
提案した2段階の学習フレームワークを1つのend-to-end学習フレームワークに統一する
メモ
VITS
E2E の text-to-speech モデル
音素列 $ cと音声波形$ xの関係をフレームレベルの潜在変数$ z_fを介して学習
この研究では音素列の代わりに Open JTalk1 を用いて抽出した186次元の言語特徴量を使用
Tacotron 2 のような Fully Attension-Based Models よりも安定した学習が可能