[論文メモ] VITS-based Singing Voice Conversion System with DSPGAN post-processing for SVCC2023

arxiv.org

ASRU2023

VITSベースのSinging Voice Conversion(SVC)モデルの提案

Voice Conversion Challenge 2023 (SVCC2023)に参加したT02チームの手法。
SVCC2023についてはこちらの記事にまとめた。

ninhydrin.hatenablog.com

手法

アーキテクチャ全体像は図2を参照

基本的にはVITSをベースとしていて、学習時の入力はF0、スペクトログラム、HuBERTによるSSL特徴の3つになる。
元のVITSではPrior Encoderの入力がテキスト(音素)、Posterior Encoderの入力がスペクトログラムだったのに対し、提案手法ではPrior Encoderの入力をHuBERT特徴量とF0、Posterior Encoderの入力をスペクトログラムとF0に拡張した。

F0の抽出はPYINを利用。

ソースとなる歌手のF0をそのまま適用するとターゲット歌手の話者性が下がってしまうのでKey Shifterを導入しピッチを変更する。
Key Shifterはまず各歌手の平均F0を計算しておく。そしてソース歌手の平均F0とターゲット歌手の平均F0の差分 \delta F0を計算し、それを抽出したソース歌手のF0に足し合わせる。

ただ、これはソース歌手がわかっているin-domain タスクだけでしか利用できず、cross-domainでは利用しない。

よくあるVITSベースの手法ではVITSのdecoderに当たるvocoderをHiFi-GANベースと異なるもの(Vocosとか)に変更するのが多いが提案手法ではdecoderは変更しない。

ただ、このままだと生成された音声にmetallic noiseがのることがある(特に呼吸時)。それを消すためにDSPGANを導入し、post processとして生成された音声をDSPGANで再生成する。
これによりアーティファクト等が減ったらしい。

システムの全体像は図1の通り。
VITSで声変換し、予測時にはDSPGANのpost processを導入。

実験・結果

データセットと利用については表1を参照。

SVCCのデータは少ないのでVCTKデータセットで事前学習し、次にMixedデータで学習、そしてSVCCデータでの適応学習という手順をとった。
適応学習時には二人ほど追加。この二人は歌唱データでも大量のデータを持つ二人で学習の安定化に役立つと判断。

SVCCデータで学習する際にはspeed perturbationでのaugmentationを行った(0.8~1.4)。使用したのはaudiotsmというライブラリ。

最適化はAdamで \beta_1 = 0.8, \beta_2 = 0.99 \beta_1が少々大きめな印象。学習率は1e-4。

SVCC2023、自然性について結果は以下の図3のT02を参照。
Task1(in-domain)、Task2(cross-domain)ともに自然性は高そう。

類似性についての結果は図4。
参加チームの中では上位。


ablations
提案手法の各テクニックが自然性、類似性にどう影響しているかを調査。
調べたテクニックは

Speech Pre-training:VCTKデータでの事前学習
Adaptation Tricks :適応学習時のaugmentationと二人の話者追加
DSPGAN Post-processor:DSPGANによるpost processの有無

結果が表2。
Speech Pre-trainingとDSPGAN Post-processorがないと自然性が大きく低下(類似性もすこし)、
Adaptation Tricksがないと過学習して類似性が大きく低下した。

所感

DSPGANによる再合成というのは面白いテクニック。vocoder自体のpriorを利用でき、またvocoder学習時に工夫しておけば色々できそう。VCモデルと独立していて、色々な手法に適用できるのもよい。ablationがあるのも嬉しい。
提案されているVCモデル自体はよくある感じで感動は薄かった。