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.