Robotic ロボットのような音声になる - akjava/Matcha-TTS-Japanese GitHub Wiki

ようするに、あまりにも品質が悪いわけです。

Matcha-TTSで出力して、なんとかなく、違和感がある。ブオンというか風切音。一部が低音になったり、ノイズぽく聞こえる。こともある。

原因

全体的にロボットボイス

音声のすべての部分がロボットな場合、原因としては、2つ考えられます。

  • 1つ目は、訓練不足。 せめてvalidate/lossが、下がらなくなるまで訓練してください。
  • 2つ目は、部分的ロボットボイスで詳しく書きますが、発話する音素がすべて学習できていない。

部分的にロボットボイス

なんか、部分的におかしい、低音というかノイズな音になる。選択してよく聞くと、そこだけ合成感がひどい。

この場合の原因も2つ考えられます。

  • 1つ目は、単純明快に、訓練音声に、必要な音素がない。
  • 2つ目は、音素のトレーニングが終わってない。

音素がない

最低でも、あかさたなはまやらわ(清音) に 加えて、びぴぴゃぴっ(濁音等などなど) すべての母音と子音が必要になります。

理想を言えば、母音と子音の組み合わせが、すべてあれば、いいのですが。それが足りない場合は、学習した母音と子音で、うまいことつなげてくれます。

音素のトレーニングが終わってない

Curriculum Learning を試した時に経験しました。とある音素のトレーニングが後半から訓練データに挿入されたので、圧倒的に訓練回数が少なく学習できませんでした。

 あと考えられるのが、その音が含まれる文章が長すぎるなど、高難易度で、うまく音を切り出せていない。(訓練回数が足りていない)

改善策

まずは、付録にあるようなモーラ一覧を出力してみて、現状を把握してみましょう。

訓練データを見直す

validデーターの方に、レア音素が混じってるかもしれません。(大変ですけど)

切り抜いてみる

長い文章の音声から、その部分だけを切り抜いて、新しい音声を作ってみましょう。(ただし大変です)

TTSで出力

私のケースは、Curriculum Learningの音声が変だったので、通常版に付録の内容をTTS出力したものを混ぜました。

Adaptionしてみる

すでに出来上がってるモデルで、音声をトレーニング(multispeakerで別spk番号使う)させると短時間でうまくいくことがあります。

全然違うTTS混ぜてみる。

多少違和感はあるかもしれませんが、ないよりましです。このとき、RVCした方がいいのかどうかは未検証です。(いまの所ノイズが増えるだけな気がしています)

付録

音素例

必要な音声例(一部不要なの混じってるかも)。最近母音伸ばすの追加した。

  • aiueo.
  • aa,ii,uu,ee,oo.
  • babibubebo.
  • byabyubyebyo.
  • chachichuchecho.
  • dadidudedo.
  • dyadyudyo.
  • fafifufefo.
  • gagigugego.
  • gyagyugyegyo.
  • hahiheho.
  • hyahyuhyehyo.
  • jajijujejo.
  • kakikukeko.
  • kyakyukyekyo.
  • mamimumemo.
  • myamyumyemyo.
  • naninuneno.
  • nyanyunyenyo.
  • papipupepo.
  • pyapyupyepyo.
  • rarirurero.
  • ryaryuryeryo.
  • sasisuseso.
  • shashishushesho.
  • tatituteto.
  • tsatsitsutsetso.
  • tyatyutyo.
  • vavivuvevo.
  • wawiwewo,NNN.
  • yayuyeyo.
  • zazizuzezo.
  • kacltokicltokucltokecltokoclto.