見出し画像

絵文字で感情表現ができる合成音声Irodori-TTSを使ってみた


はじめに

過去にはVOICEVOXCOEIROINKでTTS(Text To Speech)、いわゆる合成音声に感動し、AivisSpeechでは感嘆符、疑問符、三点リーダーなどによる感情表現にも驚き、Qwen3-TTSでは自由自在に声作りが出来ることに身震いした今日この頃ですが、時折覗かせて頂いているDiscord「AI声づくり研究会」で、Irodori-TTSというプロジェクトを知りました。

どうやらEcho-TTSの設計思想をベースに、さらに絵文字アノテーションを取り入れた音声合成モデルらしいのです。
絵文字ってこの「😄😭🤧」絵文字ですよ。興味ありませんか?
ぼくはめっちゃ興味を惹かれたのでさっそく試してみました。

uvのインストール

いつもの venv ではなく、uv が推奨されているっぽいので、uvのインストールから始めました。AI関連に興味ある人なら python は入っているでしょうし、venvも使ったことがあるでしょう。python -m venv venvで作るいつものアレ(仮想環境)。
アレをしなくても環境依存しないでインストールが可能な新しいパッケージマネージャーが uv なのだそうです。
(.venvディレクトリが自動で作られるので仕組みは似たようなもの?)
pip install uv でインストールしても良いのですが、それだとpythonの切り替えに使えないし、pythonアンインストール時に一緒に消えてしまうので、単独でインストールすることが推奨されている模様。

うちは Windows 11 なので、powershell を起動し、下記コマンドでインストールしました。

irm https://astral.sh/uv/install.ps1 | iex
  • 💡余談
    irm … Invoke-RestMethodの略で、Web上のテキストを表示する
    iex … Invoke-Expressionの略で、渡されたテキスト(式)を実行する
    組み合わせることでWeb上のスクリプトが実行されるわけです

Linuxの場合はこっち。

curl -LsSf https://astral.sh/uv/install.sh | sh

Irodori-TTSのインストール

Aratako / Irodori-TTS の Installation に書かれているまんまです。

git clone https://github.com/Aratako/Irodori-TTS.git
cd Irodori-TTS
uv sync

たぶんディスク容量は5GBちょっと消費します。

Irodori-TTSの gradio UI 起動

uv run python gradio_app.py --server-name 0.0.0.0 --server-port 7860

これで http://localhost:7860 をブラウザで開けば見慣れたWebUIが出てきます。

Irodori-TTSのWebUIで音声合成

Irodori-TTS WebUI

Textに「これはイロドリTTSの音声テストですよー」と入力し[Generate]。
生成時間はRTX4070で2~3秒。

このように同じテキストを渡してもSeed値が異なれば声質も異なります。
同じテキストで同じSeed値なら、同じ声質で生成されるのも確認しました。

笑い声テスト

まずは絵文字なしで文脈だけで笑い声を出すテスト。

笑い声のえもじ入れると変な声入る🤣

…と思ったら、そもそも「🤣」は非対応だった模様。
対応している絵文字一覧は↓ここにありました。

大笑いは「あははー」とかの文字や文脈で出せるので笑い声の絵文字は含み笑いの「🤭」に限ったのかも。

絵文字の組み合わせ

うん、やはり全体に効果がある絵文字と、単体で音が出る絵文字がある気がしますね。「👂」は全体的に囁き声っぽくなるけど、「🤭」は単体でふふっと笑う声が出る感じ。

叫び声テスト

三点リーダーの雰囲気とかはちゃんと汲み取っているものの、「😱」の部分で「うあぁぁ!」みたいな声あげてるってことは絵文字=台詞として変換されてる…?
Irodori-TTSの説明によると、

絵文字ベースのスタイルコントロールは表現力を高めますが、その効果は文脈によって異なり、必ずしも完全に一貫しているわけではありません。

https://huggingface.co/Aratako/Irodori-TTS-500M


とのことなので、文脈によっても変わりそうです。

絵文字を適当にテスト

感想

絵文字コントロールにより、今まで出せなかった(あるいは特定のモデルに依存していた)音声が出せるのはありがたいですねー。

たしか何入れても叫び声になるモデルとかは一応存在はしたはずですし、囁き声についてはSBV2の囁き声モデルをヌルモデルマージすることで理論上はどの声でも囁き声に出来ましたが、手軽とは言いづらかった。

また、自分が知る限り、唾を飲み込む(あるいは飲み物を飲む)音、泣き声、欠伸、リップノイズあたりは普通には生成できなかったので制作活動において助かる人も多いはず。

ただ、音質はけっこうガチャ次第っぽくて、良い音質のときもあればやたらノイズが気になるときもあります。特に絵文字が多いとラジオ番組みたいになっておもしろ音声になっちゃいますw

🤭🤭🤭というように3つ並べただけなら、「ふふ、うふふふ」みたいになって普通なので、文章の途中にある場合なのか、あるいは文脈的にこの書き方は複数が集まって会話しているシーンと捉えられるのか、不思議です。

ともあれ、細かい気になる点はあるものの、ほかの合成音声では出せない音が出せるという一点だけでも使ってみる価値あると思いました。


いいなと思ったら応援しよう!