🍣

ローカルで動かせる日本語TTSをいろいろ試す(その2)

に公開
2

前回記事はこちら
https://zenn.dev/megyo9/articles/192bf143acb106

良さげだと判断したものについてもう少しバリエーションをテストした。
AivisSpeechについてコメントいただいたのでテスト対象に追加。

テストデータ

基本的には以前作ったゲームのテキストから抜粋。
https://qiita.com/megumu-u/items/2df41c7b10986e4324e0

さらにいくつかテキストを追加し、以下のテキストをテストした。

区分 テキスト
通常 えっ!!
通常 私たち、さっき会ったばかりですよね・・・?
通常 どこかでお会いしてましたか・・・?
通常 あ、もしかして!
感情表現 ありがとう!よーしっ!
感情表現 きゃっ!やったっ!取れたっ!
感情表現 もう無理!あと5秒が限界!
感情表現 全部よ!いい加減離れなさいよ!
感情表現 ・・・ごめんなさい。
感情表現 わ、わ、わ、ちょ、ちょっと待って!
長文 私を見たら告白をしてください。そして、私はここであなたを待っています
長文 それだけではないのです。魔王は死ぬ間際に呪いを放ちました。そして私は運悪くその呪いを受けることになったのです
英語混じり 明日さ、Zoomでミーティングあるんだけど、joinできそう?
英語混じり さっきYouTubeで新しいMV観たんだけど、めっちゃcoolだったよ!

テスト前提

評価としてフェアじゃない部分があり、Style-Vert-VITS2、AivisSpeech、(たぶんFish Speechも?)は感情ごとに音声モデル切り替える必要がある。

  • Style-Vert-VITS2については、「あみたろ」では種類が足りなかったので「jvnv-F1-jp」でしている。
  • AivisSpeechはアプリではなく、AivisSpeech Engineを起動して直接API利用しているが利用可能なものが「Anneli」で、どれを選んでもさほど変わらない気がしたので1種類のみでテストしている。
    (あと、ダウンロードした日が半年ぐらい前のものでした。)
  • Fish Speechはランダムで音声合成されるため、ランダムの中で気に入った音声をリファレンスとして採用してテストした。1種類のみでテストしている。

まとめると以下になります。

TTS モデル
Style-Bert-VITS2 jvnv-F1-jpの各感情を選択
Fish Speech ランダム生成したものをリファレンスとして利用
Respair/Tsukasa_Speech Kotodama Text
AivisSpeech Anneli

テスト結果

以前作ったゲームを適当に修正して、しゃべらせてみた。

Style-Bert-VITS2

  • 声の好みはさておき、満点ではないが感情は表現できている
  • 英語をアルファベット読みしたり、MVをメガボルトと読む(メガボルトって何?)

Fish Speech

  • リファレンス音源のせいかもしれないが、ロボット感が強いときがあり、感情表現がいまいち
  • 英語混じりは一番良い

Tsukasa_Speech

  • 感情表現は一番良かった
  • 英語というか、たぶん半角が混ざってると音声合成がエラーになる(Kotodamaでなければ音声合成可能)

AivisSpeech

  • 1種類のモデルでやったせいか、ロボット感が強いときがあり、感情表現がいまいち
  • メガボルト流行ってるの?

おわり

ちゃんと必要な感情のモデルを全部揃えて比較しないとダメだと思いますが、その手間も含めての評価ということで・・・
また、parler-ttsのようにプロンプトで「どんな感じの音声か」を指定するTTSもありますが今回は評価対象には入っていません。
テストデータも感覚でやってるので十分ではないかと思いますが、何かの参考になればと。

Discussion

tsukumitsukumi

こんにちは!AivisSpeech(アイビススピーチ)の開発を担当しているものです。お試しいただきありがとうございます!
記事内で「Avis Speech」と表記ゆれしているのが少し気になります。よろしければ「AivisSpeech」へ修正いただけますと大変幸いです🙏

Megumu UedaMegumu Ueda

申し訳ありません、大変失礼いたしました!
本記事、記事から参照しているXへの投稿、ともに修正いたしました。