[論文メモ] Towards Improved Zero-shot Voice Conversion with Conditional DSVAE
既存のコンテンツと話者分離系のVoice Conversion(VC)の改良
既存コンテンツと話者分離系手法でバックボーンにdisentangled sequential variational autoencoder (DSVAE) を使う手法がある。
DSVAEは時不変な情報と時変な情報を洗剤空間で分離する手法。
しかし、DSVAEはコンテンツをランダムに初期化された分布に埋め込むため音声の構造がうまく表現できない。
DSVAEは各エンコーダで話者とコンテンツをエンコードし、それらをconcatして音声にする。
入力 と出力は両方メルスペクトログラムで音声にするときはVocoderを利用する(HiFi-GAN V1)。
はじめの層を共有したコンテンツエンコーダ と話者エンコーダは入力からコンテンツ埋め込みと話者埋め込みの事後分布、それぞれ、とを予測する。
そして各分布からとをサンプリングしデコーダによってメルスペクトログラムを得る。
DSVAEの目的関数は以下。
DSVAEではコンテンツの事前分布 をランダムに初期化された分布を利用しているが、これがコンテンツ埋め込みの学習に適していないと指摘。
同じ発話のをt-SNEで可視化した結果が図2。(a)がDSVAEが学習したコンテンツ埋め込み、(c)がメルスペクトログラムそのまま。DSVAEの埋め込みはランダムな分布になっている。
ちょっとよくわからないが、同じ発話の特徴は近くにあってほしいということ?でもコンテンツならそうならなくない?何か勘違いしてるかも?
手法
事前分布を調整したconditional DSVAE(C-DSVAE)を提案。
をでモデリングすることで音声構造を保持させる。ここではをコンテンツバイアスと呼ぶ。
コンテンツバイアスとしていくつか実験。
1) Align
Kaldi toolkitによる42音素を利用
2) BEST-RQ
VQ-VAEによる量子化ベクトルを利用
3) Mel
メルスペクトログラムにkmeansを適用し、クラスタセンターをラベルとして利用
4) WavLM
事前に学習したWavLMを利用(HuBERT系?)
実験・結果
データセットはVCTKコーパス。
各種法によるコンテンツ埋め込みを可視化したのが図2。
各種法によるコンテンツ埋め込みを利用して音素分類をした結果が表2。
図2で可視化した結果、よく分離されているものほど音素分類の結果も良い。
VCの結果
所感
確かに、事前分布の選択は大事だよねという気持ち。
音素ラベルのあるデータセットを使って、音素ラベルを事前分布にした実験もしてほしかった。
図2のお気持ちがちょっとわかっていないので何か勘違い、もしくは知識不足かもしれない。
WavLMの結果が良いがWavLMをよく知らないので勉強しておく。