Hiroshiba / become-yukarin

Convert your voice to favorite voice
https://hiroshiba.github.io/blog/became-yuduki-yukari-with-deep-learning-power/
MIT License
576 stars 88 forks source link

抽出した特徴量を音声に戻したい #32

Closed miyasou714 closed 6 years ago

miyasou714 commented 6 years ago

1段目の変換時に、無音部分から発話部分に入るところでノイズが発生してしまう問題がありました DTWの精度を確かめる必要があるため、特徴量から音声に戻したいと考えておりますが どのようにすればよいでしょうか?

合成部分は become-yukarin/show alignment feature.ipynb を参考にやってみます

miyasou714 commented 6 years ago

extract_acoustic_feature.pyでは aperiodicityを保存していない?ことに気づきまして become-yukarin/show alignment feature.ipynb の分析合成をそのまま試してみました

分析合成後の音声を同時に聞いてみると音声は同時に再生されているように感じました image

Hiroshiba commented 6 years ago

私も、最初や最期の無音区間のDTWが上手くいかない問題が、たまに起きました。 音声によってうまく行ったり行かなかったりしました。

おそらく、片方の音声にのみノイズがある場合、DTWに失敗しやすいと思います。 ノイズレベルを合わせるか、無音箇所を人力で除去するとうまくいくかも知れません。

ファイル容量削減のため、 extract_acoustic_feature.py--ignore_featureで指定された特徴量を保存しないようにできます。 https://github.com/Hiroshiba/become-yukarin/blob/7d1fae329b67acdb356aca60fc6323b0ad51662f/scripts/extract_acoustic_feature.py#L44 デフォルト値ではaperiodicityが指定されているため、保存されません。

miyasou714 commented 6 years ago

ありがとうございます ノイズレベルを合わせるというのは具体的にどのような処理を行えば良いでしょうか?

下の画像は1段目の変換音声(上, voice_conversion_test.py使用)と1段、2段をどちらも入力(下, show vc and sr.ipynbを参考)で変換した音声の画像です。 どちらも同じ入力音声を使用しておりますが、上の変換音声にノイズは無く、下の変換音声では冒頭にノイズが乗っているのですがvoice_conversion_test.pyでは冒頭の無音部分をカットする処理を行っているということでしょうか? image

また、2段目の学習データが450文で十分なのか、個人的には疑問に思っているのですが Hiroshibaさんの方で500文程度で学習した際に目立った問題(例えば上記の雑音のような)などはありませんか?

Hiroshiba commented 6 years ago

ノイズレベルを合わせるというのは具体的にどのような処理を行えば良いでしょうか?

信号処理に詳しくなく、良い方法は思いつきませんでした。

voice_conversion_test.pyでは冒頭の無音部分をカットする処理を行っているということでしょうか?

voice_conversion_test.pyshow vc and sr.ipynbも、入力音声の無音カットはしていないはずです。

Hiroshibaさんの方で500文程度で学習した際に目立った問題(例えば上記の雑音のような)などはありませんか?

私の方で500文程度で学習させたことが無いため、わかりません。 貼っていただいた波形を見るに、途中の無音区間では雑音が発生していないようなので、不思議だなーと思っています。