[論文メモ] MIIPHER: A ROBUST SPEECH RESTORATION MODEL INTEGRATING SELF-SUPERVISED SPEECH AND TEXT REPRESENTATIONS

arxiv.org

WASPAA

劣化音声をスタジオ品質にするspeech restoration (SR) の提案

deep learning系の音声合成(TTSなど)の性能はASRなどと異なり、学習に利用する音声の品質と量に大きく依存する。
学習元音声が低品質だと、生成される音声も当然品質が悪くなる。

SRで音声の品質を向上できれば音声合成の品質も向上できる。
しかし、SRでアーティファクトなどが出てしまうと合成結果にも反映されてしまう。

そこで、そういった失敗の少ない学習で利用できる音声を生成できるロバストなモデルを目指す。

手法

提案手法名はMiipher。multiple features integrated speech restorationとのこと。

調査の結果、SRにおいて失敗を引き起こす2つ原因に焦点を当てる


1) Phoneme masking: ノイズやリバーブがかかり音声がマスクされている状態
2) Phoneme deletion: コーデックやダウンサンプリングで音素の重要な周波数帯が消えている状態


これらを解決するために2つの工夫を加える

1) SSL features domain cleaning: メルスペクトログラム入力のかわりにSSL(w2v-BERT)特徴を入力する。
2) Transcript conditioning: テキスト情報を用いて消えた音素をインペイントする


Miipherの全体像は図1。
劣化音声とテキスト情報を入力として修復した音声を出力する。音声は24kHz。
アーキテクチャとしては feature cleaner(b)と neural vocoder(c)の2つから成る。

Feature cleaner

劣化音声のw2v-BERT特徴をきれいな音声の特徴に変換する。アーキテクチャは図1(b)を参照

テキスト情報をPnG-BERTに入力した特徴を条件としを利用する。

きれいな音声からw2v-BERTで直接生成した特徴を \boldsymbol{S}、 劣化音声をfeature cleanerに通して生成した特徴を \hat{\boldsymbol{S}}としてlossは
 \mathcal{L} = ||\boldsymbol{S} - \hat{\boldsymbol{S}}||_1 +  ||\boldsymbol{S} - \hat{\boldsymbol{S}}||^2_2 +  ||\boldsymbol{S} - \hat{\boldsymbol{S}}|| ^2_2 / ||\boldsymbol{S}||^2_2
を採用する。 ||\cdot||_pp-norm。

これで劣化音声とテキスト情報からきれいな音声のw2v-BERTの特徴を近似できる。

Neural vocoder

w2v-BERT特徴から音声波形を合成する。アーキテクチャは図1(c)を参照。
入力特徴をアップサンプリングしサイズを揃え、WaveFit vocoderを利用して波形にする。
話者情報を埋め込みとして入力することに注意。
w2v-BERT特徴のスペクトル包絡が不明なのでWaveFitの初期ノイズはホワイトノイズを採用。
また同様に最大振幅も不明なのでゲイン正規化を元音声 \boldsymbol{y}として
 \mathcal{G}(\boldsymbol {y}) =\lambda \cdot \boldsymbol{y} / \max( \text{abs}(\boldsymbol{y})), \lambda=0.9に置き換える。

lossはWaveFitのadv lossに加えHiFi-GANのMPDを追加。
24kHzなのでMPDのピリオドに(13, 17, 19)を追加する。

実験結果

w2v-BERT XLを採用し、8層目の量子化前のconformer特徴を利用。
PnG-BERTはWikipediaで学習済みのものを利用。
話者埋め込みは12層のconformerベースモデルを利用。

データセットは2680時間のノイジー音声とスタジオ品質音声のペア。
ノイジー音声はノイズBGMと発話音声から合成。
またaugmentationとしてリバーブやコーデック劣化を適用。
コーデック劣化については表1を参照。
ターゲット音声は670時間の複数の国の英語音声。

実験結果が表2。ほぼほぼ元音声と同じレベルに復元できていそう。

クラウドソーシングによる高品質でない音声データをMiipherを使って高品質化しTTSモデルを作成。
結果が表3。
TTS用データセットのLJspeechレベルのTTSが作成できた。
なおMiipherを使わなかった場合はノイズにより収束しなかったそう。

所感

アーキテクチャによるSRという印象。
論文的にも手法説明部分の多くはアーキテクチャのパラメータについてで、なぜこうしたのか的なのはあまりなかった。
ablationがあるのでそこで判断するのが良さそう。
結果自体は非常によいので興味がある。いろいろな音声合成に応用できそう。
テキスト情報を利用しなくても高品質化はできそうなのがありがたい(WERは悪化するが)。
話者埋め込みを利用するのはSSL特徴に話者情報がないから?
MPDに追加ピリオドした効果が少々気になる(比較がほしい)。