
こんにちは、スタジオ真榊です。今回は、日本語の音声をローカル生成できる「Irodori-TTS」の新しい派生モデル、「Irodori-TTS-v4.1-Anime」の検証記事です。今年6月に公開した「v3」の記事はその後v4-smallの登場時に追記していますが、v4.1-Animeの登場を機に、最新環境に合わせて新たな特集としました。
新モデルは「Anime」という名前通り、アニメ調のセリフで追加学習したもの。これまでのモデルと同様、Caption欄で演技指導を行うことも可能となっています。こちらは新モデルで生成した声にMinimax H3で口パクアニメを付けたもの。
動画・音声を読み込めませんでした。時間をおいて再度お試しください。
正確に文章を読み上げるだけではなく、自然な発音や漢字の読み上げ、感情を込めた「お芝居」がどれくらいできるようになったかが気になるところ。前に作ったボイスサンプルを引き継いで使えるのか、実在人物の声を真似せず、オリジナルな声を作り出せるかといったところを検証してみます。
4.1と4.1 Animeは何が違う?
Irodori-TTSは、AIエンジニアのAratako氏が開発した日本語特化のローカル向け音声生成AIモデル。TTSは「text-to-speech」の略で、テキストを音声に変換できるモデルという意味です。参照音声を読み込ませたり、「活発そうな少年の声」などと指示したりすることで声色を簡単に作りだせることと、絵文字を使って感情表現をコントロールする「emoji」機能があることが大きな特徴。記事執筆時点では、「Irodori-TTS-v4.1-Small」が最新です。
今回の4.1 Animeはその追加学習版。配布元はIrodori-TTS本家のAratako氏ではなく、phasefield-audio氏です。本家の「Aratako/Irodori-TTS-v4.1-Small」を、アニメ風の音声データで追加学習したモデルとなっています。
配布元によると、追加学習する際のキャプションは本家の手法とは独立して行われており、同じキャプションや絵文字でも、本家とは効き方が異なる可能性があるとのこと。

▲Chromeによる機械翻訳
<これまで登場したモデルと特徴>
今回の特集で扱うモデルは次の4種類です。それぞれ前回特集時のV3からの変化をいろいろな比較実験で試していきます。
①v3 VoiceDesign
前回の記事で使った世代。音声参照(読み込ませた音声の模倣)ができる通常版とは別で、こちらは音声参照に加えて文章による声色・演技指定が同時にできるモデル。「年配の男性の声」「若い静かな女性の声」などと指示できる。
②v4 Small
別々だった通常版とVoiceDesign版が統合。常用漢字や難しい漢字の読み上げが改善したほか、同じ人の複数の音声をつなげて、合計120秒まで参照できるようになった。個人的には、絵文字を使って声色やSEを指示するemoji機能がv3よりやや弱体化した印象。
③v4.1 Small
本家の更新版。v4の出力時間を予測する部分がアップデートされている。読ませる文章に対して長すぎる尺を取ってしまい、それが原因で生成が不安定になる問題を抑制する目的のマイナーアップデートで、そこまでv4との差はない。
④v4.1 Anime★
今回検証する派生モデル。v4.1を土台に、別の開発者がアニメ風音声で追加学習したもの。参照音声の声色を真似るときはさほど違いはなく、純粋なTTSでゼロから声をつくるときに安定した「アニメ声」で生成できるのが最大のメリット。
<必要なPCスペック>
配布元には、Anime版が動く最低限のPC性能の情報がありませんが、基本的にはこれまでのモデルと同様、NVIDIA GeForce RTX 30・40・50シリーズで、VRAM8GB以上あたりが目安になるかと思います。生成時間が遅くなっても構わないならCPUで動かすこともできるので、ローカルでの画像 / 動画生成に比べるとずっと気軽に使えるはずです。

導入・アップデート方法
PC内に本家Irodori-TTSのv4.1環境が既にある場合は「Load Model」で取得・読み込みが可能。画面上部の「Model Checkpoint」へ、「phasefield-audio/Irodori-TTS-v4.1-Anime」をそのまま貼り付け、「Load Model」ボタンを押すだけです。

▲モデルダウンロード中の様子
新たにAnime版専用の新環境を作る場合は以下の説明をご参照ください。古いIrodori-TTS環境を消して新たに作り直す場合は、旧環境のバックアップを忘れないようにしましょう。旧Irodori-TTSのフォルダ内に、参照音声や生成済みのボイスなどがたくさん入っていると思いますので、それらの資産を別の場所に避難させてから削除するようにしてください。
<①インストールをCodexやClaude Codeに任せる場合>
CodexやClaude CodeといったAIエージェントを導入した環境なら、自分で環境構築をやる必要はありません。適当な場所に「Irodori-TTS」フォルダを作って、そのフォルダをAIエージェントで開き「これを導入して。https://huggingface.co/phasefield-audio/Irodori-TTS-v4.1-Anime」と頼むのが一番手っ取り早いです。起動方法もやや難しいのですが、そのあたりの交通整理もエージェントがやってくれます。

▲Codexに指示したところ。モデルは安価なものでOK
<②手動でインストールする場合>
手動でインストールする場合、Irodori-TTS本体や必要な部品を取得するのに使う「Git」や「uv」といったツールを入手します。入手方法は前回の特集に詳しく書いてあるので、そちらをご参照ください。以下はGitとuvが導入済みの場合の手順です。
まず、PC内の適当な場所に「IrodoriTTS-Anime」などの名前のフォルダを作ったら、エクスプローラーの上部にある「ダウンロード > Irodori-Anime」などと表示された欄をクリック。powershell と入力し、Enterを押すと新しい画面が開きます。そうしたら、次の文字列を1行ずつコピペしてはENTERキーで実行します。(これはNVIDIAのGPUを使う場合の例です)
git clone https://github.com/Aratako/Irodori-TTS.git Irodori-TTS-4.1-Anime
cd Irodori-TTS-4.1-Anime
uv sync --extra cu128
最後の行は、音声生成に必要なライブラリをインストールするコマンドです。VRAMが心もとなく、CPUで動かしたい場合は、この行をuv sync --extra cpu に置き換えます。両方を順番に入れる必要はありません。
ここまで済んだら、声色や演技を指示できるwebUI画面を起動します。同じ画面で以下をコピペして実行します。
uv run --no-sync python gradio_app_voicedesign.py --server-name 127.0.0.1 --server-port 7880
表示された http://127.0.0.1:7880 をブラウザで開きます。URLをコピペしてもよいですし、Ctrlキーを押しながらクリックでもOKです。(7880番がほかのツールで使用中なら、7881などに変えてください)
このような画面が開いたらインストールは成功しています。

画面上部の「Model Checkpoint」へ、次をそのまま貼り付け、「Load Model」ボタンを押すとAnime版のIrodori-TTSモデルがダウンロードされます(モデル本体だけで約3.06GBあるため、初回はダウンロードに時間がかかります)。
phasefield-audio/Irodori-TTS-v4.1-Anime
ちなみに、こちらを入れて「Load Model」すれば本家IrodoriTTSの「v4.1 small」もダウンロードできます。
Aratako/Irodori-TTS-v4.1-Small
現在のUIはモデル同士をプルダウンメニューで切り替えることができずやや不便なので、必要ならAIエージェントに頼んで改修してもらうのが良いでしょう。
<ダブルクリックで起動するには>
手動で導入した場合は、先ほどの新しいフォルダ内に「start_anime.bat」というファイルを作り、次を保存すると起動が楽になります。
@echo off
cd /d "%~dp0"
uv run --no-sync python gradio_app_voicedesign.py --server-name 127.0.0.1 --server-port 7880
pause
これは公式画面を開くための最小の起動ファイルです。まず、Irodori-TTSのメインフォルダ内の何もないところを右クリックし、「新規作成▶テキストドキュメント」をクリックして、ファイル名を「start_anime.bat」などと変更します。できたファイルを右クリックして「編集」を選ぶと空っぽのテキストファイルが開くので、上の文字列をそのまま貼り付けて保存でOKです。
次からIrodori-TTSを起動したいときは、 start_anime.batファイルをダブルクリックすれば起動します。

V4.1 animeの基本的な使い方
こちらが「V4.1 anime」(以下"Anime版")の生成環境です。モデル以外は本家のインターフェースと同じなので、操作の流れは迷わないはず。今回初めてIrodori-TTSを触る人向けに、簡単に説明します。

基本操作は「Model Checkpoint」で使うモデルを指定し、「Load Model」で読み込んだら、「Text」に読ませたい日本語のセリフを入れて、「Generate(生成開始)」するだけです。声色を文字で指定したい場合は「Caption / Style Prompt」に話し方を書けばOK。既存の声を使いたい場合は「Reference Audio Uploads」に参照音声を入れます。
Codexなどに任せた場合は既にDLなどが済んでいるかと思いますが、手動でインストールした場合、初回生成時に4.1 animeモデルのDLを伴うため、かなり時間がかかります。起動に使った黒い画面を見るとちゃんと動いているはずですので、慌てずしばらくお待ちください。
V4.1 AnimeでTTS生成してみよう
さっそくV4.1 Animeで音声生成を試してみましょう。「どうして黙っていたの?一緒に考えようって、約束したでしょう」という台詞をText欄に入力し、読み上げさせてみます。演技指導に使うキャプション欄は空欄でOK。Generateボタンを押すと、数秒でこちらの音声が出力されました。
確かに、実在人物の日常会話というより、アニメのキャラクターらしい声に聞こえます。正統派ヒロインっぽい声色ですね。Seed欄が空欄だと毎回Seed値が変わるので、もう一度生成すると違う声で出力されます。
どうして黙っていたの?一緒に考えようって、約束したでしょう2
こちらはちょっとツンデレキャラっぽい感じになりました。演技を指定しないと、このようにセリフから類推される声色が勝手に選定されます。
今回はセリフの内容が女性らしい口調だったので、生成音声も高確率で女性になります。試しに「どうして黙っていたのだ。一緒に考えると約束しただろう」に変えると、騎士っぽい男性の声で出力されました。これも、Seed値が変わると違う男性の声になります。
参照やスタイル指示をしない純粋なTTS(text to speech)では、本家に比べて確かにアニメ寄りの声になっているように感じますね。次はCaption欄を使って、声色や話し方を指示してみましょう。
<Caption欄を使った声色指定&演技指導>
Text欄に「どうして黙っていたの?一緒に考えようって、約束したでしょう」と入力したままで、Caption欄に「成人女性の声。厳しい口調で、相手を責めるように話す」と追加入力します。

こちらが生成結果。ちゃんと演技指導の通りの厳しい口調が再現できました。ちょっとうるさ型っぽい成人女性の声色が引き出されていますね。
テキスト欄とキャプション欄を組み合わせて気に入った声ができたら、その音声を保存して次のセリフの参照に使う、という流れが基本です。さきほどは女性らしいセリフだと女性の声になってしまいましたが、このようにReference Audio uploads欄から男性のセリフを読み込ませれば…

このように、女性っぽいセリフも一貫性のある男性ボイスで生成することができます。ただ、モデルの学習内容的に無理があるのか、やや割れたような、合成音声っぽい音になったようにも聞こえます。学習データセットの傾向から離れたボイスを要求すると、このように品質が下がりやすい傾向にありますので、Seed値を変えて何度かガチャするか、プロンプトを調整するとよいでしょう。
どうして黙っていたの?一緒に考えようって、約束したでしょう(男性)
前回のおさらいですが、参照させる音声は次のような内容のファイルがおすすめ。
①1人だけがはっきり話している音声
②長さは10秒から30秒くらい
③BGMや「サーー」というノイズ、反響が少ない。くしゃみや咳き込みなどがない
④生成したいトーンに近い話し方をしている(怒ったり、落ち込んだりした声だと生成音声にもトーンが反映されるため)
⑤できればwav。mp3でも可
⑥音量が一定で聞き取りやすい
参照音声を入力しつつ、演技も指示することは可能ですが、ユーザーからの注文が多くなるほど生成音声の品質や精度が落ちていくので、ある程度トレードオフであることは覚悟しておきましょう。
<画面上部の設定欄について>
UI上部にある設定欄は以下のような意味。Model Precisionは、モデルの計算に使う数値形式です。「fp32」にすると「bf16」よりメモリ負担が大きくなる代わりに計算精度が上がります。ただ、fp32にすると発音や演技が必ず良くなるわけではないのでご注意。今回の特集ではbf16で比較しました。

Model Checkpoint 使用するTTSモデルをここから選択する。
Model Device 生成に何を使うか。GPUで生成するなら「cuda」。
Model Precision モデルの計算に使う数値形式。fp32はVRAM負担が重い代わりに数値を細かく扱える。
Codec Device 音声変換に使う場所。これもGPUなら「cuda」。
Codec Precision 音声コーデック部分の計算精度。こちらもfp32の方が精度が高い。
<最初に触る設定>
UIの下部には以下のような欄が揃っています。普段はあまり変更しないかもしれませんが、簡単にそれぞれの役割を説明しておきます。

Num Steps 音声を生成する計算の回数。デフォルトは40。短くすると生成時間がさらに短くなるが品質が落ちる
Num Candidates 一度に出す候補数。デフォルトは1。
Seed 生成に使う乱数の初期値。空欄にするとランダムになる。同じモデル・入力・設定で結果を比較したい場合に固定する。
Seconds 出力時間を直接指定する。空欄にしておけばセリフから自動で見積もってくれる。
Duration Scale 自動で見積もった長さに掛ける倍率。1.1にすると1.1倍の長さの音声になるので、尺に余裕ができる。生成音声がセリフ途中で切れてしまうときに伸ばしてみよう。
CFG Scale Text 読み上げ本文への追従を調整する値。デフォルトは3.0。読み間違いが気になる場合は少し上げて比較する。上げすぎると不自然になる場合があり、下げれば必ず自然な演技になるわけではない点に注意。
CFG Scale Caption Captionへの忠実度。デフォルトは4.0。演技指導を無視する場合は上げてもよい。
CFG Scale Speaker 参照音声への追従を調整する値。デフォルトは5.0。声が似ない場合は少し上げて比較し、不自然さが増す場合は戻す。参照音声の品質にも左右される。
設定項目の詳細については、こちらの本家の説明もご覧ください。
<絵文字で感情コントロール>
これもおさらいですが、Irodori-TTSの目玉機能の一つが、絵文字でセリフの感情コントロールができること。テキストウィンドウの真下にある「Emoji Palette」(絵文字パレット)を開くと、このようにさまざまな絵文字が出てきます。

それぞれが感情や話し方を示しており、一見何を意味しているのか分かりにくいですが、マウスオーバーで説明を読むことができます。

絵文字と対応する意味の一覧は、こちらのHugging Face上で閲覧することができます。一部足りないもの(朗読)などを末尾に補って、以下引用します。
👂 囁き、耳元の音
😮💨 吐息、溜息、寝息
⏸️ 間、沈黙
🤭 笑い(くすくす、含み笑いなど)
🥵 喘ぎ、うめき声、唸り声
📢 エコー、リバーブ
😏 からかうように、甘えるように
🥺 声を震わせながら、自信のなさげに
🌬️ 息切れ、荒い息遣い、呼吸音
😮 息をのむ
👅 舐める音、咀嚼音、水音
💋 リップノイズ
🫶 優しく
😭 嗚咽、泣き声、悲しみ
😱 悲鳴、叫び、絶叫
😪 眠そうに、気だるげに
⏩ 早口、一気にまくしたてる、急いで
📞 電話越し、スピーカー越しのような音
🐢 ゆっくりと
🥤 唾を飲み込む音
🤧 咳き込み、鼻をすする、くしゃみ、咳払い
😒 舌打ち
😰 慌てて、動揺、緊張、どもり
😆 喜びながら
😠 怒り、不満げに、拗ねながら
😲 驚き、感嘆
🥱 あくび
😖 苦しげに
😟 心配そうに
🫣 恥ずかしそうに、照れながら
🙄 呆れたように
😊 楽しげに、嬉しそうに
👌 相槌、頷く音
🙏 懇願するように
🥴 酔っ払って
🎵 鼻歌
🤐 口を塞がれて
😌 安堵、満足げに
🤔 疑問の声
💪 力強く
👃 匂いを嗅ぐ。ふんふんという音
📖 ナレーション・朗読(平板な読み上げ)
絵文字には、「喜びながら」「早口で」のように、その後に続くテキストに関与するタイプと、「沈黙」「舌打ち」のように、その絵文字の挿入された位置に対応する音が入るタイプがあります。あとで実験しますが、👂マーク一つだけではうまく再現できなかった場合、二つ重ねて「👂👂」のように記述すると効くこともあります。
ちなみに、一つのテキストに複数違う種類の絵文字を入れることも可能。詳しくは前回記事も参照のこと。









