[論文メモ] StyleTTS: A Style-Based Generative Model for Natural and Diverse Text-to-Speech Synthesis
スタイルベースなText-to-Speechの提案
間違っているかもしれないので注意。
Text-to-Speech(TTS)は進化してきたが未だに多くの課題もある。
近年のTTSは自己回帰ではなく直接音声を生成するので音素のアライメントをする外部ネットワークが必要になる(外部アライメント)。
外部アライメントはTTS用では無いので適切では無い。
それに対して内部アライメントはTTSのデータのみなので過適合しやすい。
そこで外部・内部の両方を備えたアライメントがほしい。
手法
外部アライメントで学習したあとに、内部アライメントを構築する。
システムの目的は音素とある話者の発話から得たメルスペクトログラム からを反映したメルスペクトログラム を生成すること。
2ステージの学習からなるシステムで、それを図1に示す。
Text Encoder
Text Encoder は音素 を潜在変数に埋め込む()。
3層のLSTMで構成。
Text Aligner
テキストのアライメントを行うモジュール。Tacotron2ののデコーダにattentionを追加した形。automatic speech recognition(ASR)を使って事前学習。
外部アライメントに該当する。
Style Encoder
入力されたメルスペクトログラムからスタイルを抽出する。
4つのResBlockとaverage poolingからなる。
Pitch Extractor
システムはFastPitchに倣いF0をそのまま扱う。F0を利用することで合成音声の操作が可能になる。
推論時、のピッチ はpitch extractor で抽出する()。
はJDC ネットワークというもの(よくしらない)。
Decoder
Decoder はこれまでの特徴量を使ってメルスペクトログラムを生成する。学習は再構成で行う。
音素アライメントを、スタイルを、ログメルスペクトログラムをとして。
デコーダはAdaINを採用。
Discriminator
VITSではadversarial trainingはTTSで非常に有効とのことだったので導入。ネットワークはstyle encoderと同じ。
内部アライメントに該当する。
Duration Predictor
adaptive layer norm(AdaLN)を使った3層のbidirectional LSTM3層での構成。
Prosody Predictor
Prosody Predictor はテキストとスタイルベクトルからピッチとエネルギーを予測する。
学習
学習は2ステージに分けられる。
1ステージ目はメルスペクトログラムとテキストからの再構成タスク。図1(a)がそれ。
1ステージ目の学習のうち始めの半分はText Alignerを使い、残りの半分はDPを使ったmonotonic alignを使う。
Text Alignerについてはアライメントを保証するためのASR loss()とmonotonic align()とのL1 lossをとる
また、VITSと同じ様に合成した音声に対してDiscriminatorを使ってadversarial lossとfeature matching lossをとる。
はDiscriminatorの層の総数、は層の特徴の総数、はDiscriminatorのl層。
これらのlossに重みをかけたものが1ステージ目のlossになる。
2ステージ目は図1(b)を参照。
Duration PredictorとPitch Predictorの学習とDecoderのfine-tuning。
Duration Predictorはで得たものをGTとしてL1 lossを取る。
Prosody Predictorはピッチとエネルギーを予測する。
augmentationとして、メルスペクトログラムを伸縮することでピッチ・エネルギーを保ったまま速度を変更できるのでそれを利用する。
、、はそれぞれaugmentationしたデータセットのピッチ、エネルギー、アライメントのGT。
1ステージ目ではメルスペクトログラムから抽出したピッチとエネルギーを使っていたが、それを予測に置き換えてDecoderをfine-tuningする。
はとから合成したサンプル。
2ステージ目の最終的はlossは以下。
実験・結果
ablations
所感
気持ちとしてはアライメント生成を推移させるだけ?
実験結果的には自然性が増したという感じ。
メルスペクトログラムの再構成等でスタイルを反映するのにはAdaINやINが有効そうなのは学び。