Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Parallel-Data-Free Voice Conversion Using Cycle-Consistent Adversarial Networks #28

Open
Hiroshiba opened this issue Dec 28, 2017 · 0 comments

Comments

@Hiroshiba
Copy link
Member

CycleGANを声質変換に適用

論文本体・著者

Takuhiro Kaneko, Hirokazu Kameoka
NTT Communication Science Laboratories, NTT Corporation, Japan

解きたい問題

ノンパラレルデータを使ってハイクオリティな声質変換を実現したい。

新規性

  • 声質変換タスクにCycleGANを適用する手法を提案
  • 不利な条件にもかかわらずGMMの既存手法と同等以上の性能を獲得した

実装

  • CycleGANをベースに、2つの変更を加える
    • Gated CNN
      • n*2次元出力し、片方の出力n次元でもう片方をマスクする手法
      • 発話音声特有の時系列構造と階層構造を扱いたい
      • RNNを使うと良いが、これは推論時に計算時間がかかってしまうためダメ
      • そこで並列に計算できるGated CNNを使った
    • Identity-mapping loss
      • ドメインX→Yの変換ネットワークに、Yを入力したときの再構成損失を損失関数に加える手法
      • マッピングが常に言語構造を保っている保証はないので、これを加える
      • ちなみに元のCycleGANの論文では、これにより色がうまく転写できると書かれている
image
ネットワーク構造。論文 Fig. 2 より。

実験・議論

  • データセットは VCC 2016 datasetのものを使用
    • ソース、ターゲットともに重複がないように81のデータを使う
    • 16kHzにダウンサンプルし、5ms感覚で、24次元のMCEPsと、F0、APを算出する
    • F0は過去手法を使って変換し、転写。APはそのまま転写。
    • MCEPsは正規化する
    • 学習入力データは128フレームに固定切り出し
  • 学習に関して
    • バッチサイズ1で20万イテレーション
    • 損失のウェイト比、学習率などは徐々に変える
    • Training detailsの項目に詳細あり
  • 結果
    • Identity-mapping lossが無いと言語構造が崩壊したりした
    • GMMに比べてGVがターゲットに近くなった
    • 主観評価実験で、GMMの手法に比べて性能が良かった
    • 変換結果はプロジェクトページで聞くことができる
  • 正解に比べるとまだ質が劣る
    • 次は別の特徴量、例えばSTFTで試したり、vocoder無しの手法を試してみようと計画している

読んだ中での不明点などの感想

  • 凄く良くなった、というわけではない・・・?
    • 声質変換界隈に来て間もないので、基準がわからない
    • MCEPs24次元だとこれぐらいが限界なのかも
    • どれぐらいデータ数増やせばMECPs次元も増やせるのか、気になる
  • 変換結果を聞くと、Male (SM1) → Female (TF2)で音声が揺れてる?ような感じになっていた
    • 僕もCNNベースで音声変換した時、こんな感じの揺れがあった
    • 音声が揺れているってのは、つまりどういうことなんだろう

関連論文

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants