権利的に明らかにクリーンな音声以外を参照音声として使うのはやめましょう。
例えば有名人、政治家、アイドルなどの音声を使うのは絶対にやめましょう。
この記事では、参照音声にVoicevoxの「中国うさぎ」のボイスを利用させてもらいます。
・VOICEVOX ずんだもん、東北ずん子、東北きりたん、東北イタコ、四国めたん、九州そら、中国うさぎ、中部つるぎ音源利用規約
合成音声モデルの規約によっては、利用、表現を制限しているものもあります。(例えば性的な利用不可、政治目的不可など)
規約をよく読んで、規約を守って利用しましょう。
編集履歴:
「irodori-tts-500m-v2-voicedesignのWebUI」項目の追加
「IrodoriTTSのOpenAI API互換ラッパーソフトを使ってSillyTavernでTTSしてみる」項目の追加
T5Gemma-TTSの作者、@Aratako_LMさんが作った日本語テキスト音声合成モデル
最大の特徴は絵文字によって声の感情表現に対応している点(対応絵文字についてはこちらのページをご覧ください)
リファレンス音声によるボイスクローニングに対応した「Base model」(Aratako/Irodori-TTS-500M-v2)とキャプションによるボイスデザインが可能な「VoiceDesign model」(Aratako/Irodori-TTS-500M-v2-VoiceDesign)の2つがある。
Irodori-TTS(v1)から以下のように進化したらしい。
VAEをアップグレードしました:音声VAEをAratako/Semantic-DACVAE-Japanese-32dimに切り替え、より高品質な日本語音声生成を可能にしました。
拡張トレーニング:トレーニングステップ数を2.5倍に増やしたことで、収束性、安定性、および全体的な音声忠実度が向上しました。
データと前処理の改善:モデルの堅牢性と出力品質を向上させるため、洗練されたテキスト前処理パイプラインとより厳格なデータフィルタリングを実装しました。
(Google翻訳)
引用:https://huggingface.co/Aratako/Irodori-TTS-500M-v2
T5Gemma-TTSと比較すると、
| 絵文字による感情表現 | 多言語対応 | 商用利用の可否 | 音声クローニング性能 | 漢字の読み能力 | |
| Irodori-TTS(v2) | ○ | ☓(日本語のみ) | MITライセンス+倫理的制約(※1) | ○(※3) | △?(※2) |
| T5Gemma-TTS | ☓ | ○(日英中対応) | ☓(NG、+倫理的制約(※1)) | ○(Irodori-TTSと比べると少し劣る?(※3)) | (Irodori-TTSと比べると)○ |
(※3) Voicevoxの「中国うさぎ」を参照音声として軽くテストした感じだと Irodori-TTS(v2)> T5Gemma-TTS > Qwen3-TTS という結果に

「Checkpoint 」欄に「Aratako/Irodori-TTS-500M-v2」と入力して「Load Model」でモデルをロードします。

「Text」欄に生成したい音声のテキストを入力します。(例えば"こんばんは。"など...)
ボイスクローニング機能を使う際はリファレンス音声を「Reference Audio Upload」からアップロードします。
ボイスクローニング機能を使わない場合はそのままで大丈夫です。

サンプリング設定などです。
- 「Num Steps」
ステップ数です。大きいいほど高品質ですが生成が遅くなります。
低ステップにすることで生成が高速になりますが音質は低下します。
- 「Num Candidates」
一度に生成する音声の数を増やせます。(シード値のみ違う)
- 「Seed」
生成に使用するシード値を指定できます。
シード値を固定して入力テキストの絵文字の有無のみを変えて結果を比較したするのに使えます。
- 「CFG Guidance Mode」
「independent」(独立)、「joint」(結合)、「alternating」(交互)から選択します。
- 「CFG Scale Text」
値を大きくするほど入力テキストが「強く」反映され、入力テキストにより忠実になりますが不自然、無感情になりやすくなります。
値を下げると自然な発音になりやすいですが、入力テキストが無視されやすくなります。
- 「CFG Scale Speaker」
値を大きくするほど参照音声が「強く」反映されますが、大きすぎると声が「硬い」ものになります。
【TTS】T5Gemma-TTSの簡単な使い方など/・リファレンス(参照)音声ありで生成してみる。のページで使ったVoicevoxの「中国うさぎ」のボイスをクローニングしてみます。
↓Voicevoxで出力したボイス(「おはようございます。」)
音声ファイルへのリンク
↓Irodori-TTS-v2で「Reference Audio」Voicevoxで出力した上のボイスを、「Text」に「こんにちは、私はAIです。これは音声合成のテストです。」でいくつか生成してみて、良さげなのを選んだ結果です。
音声ファイルへのリンク
↓ちなみにT5Gemma-TTSで同様にクローニングした際の音声です。(もうちょっとガチャれば良かったかも?)
音声ファイルへのリンク
↓Voicevoxで出力したボイス(「おはようございます。」)
音声ファイルへのリンク
↓Irodori-TTS-v2で「Reference Audio」Voicevoxで出力した上のボイスを、「Text」に「こんにちは、私はAIです。これは音声合成のテストです。」でいくつか生成してみて、良さげなのを選んだ結果です。
音声ファイルへのリンク
↓ちなみにT5Gemma-TTSで同様にクローニングした際の音声です。(もうちょっとガチャれば良かったかも?)
音声ファイルへのリンク

「Load Model」でモデルをロードします。
「Text」欄に生成したい音声のテキストを入力します。(例えば"こんばんは。"など...)
「Caption / Style Prompt (optional)」に声の特徴や読み上げ方など(※)のキャプションを入力します。(オプション)
(※)年齢/性別/感情/話し方など
(例:若い女性が楽しげに喋っている)
サンプリング設定など。
- 「Num Steps」
ステップ数です。大きいいほど高品質ですが生成が遅くなります。
低ステップにすることで生成が高速になりますが音質は低下します。
- 「Num Candidates」
一度に生成する音声の数を増やせます。(シード値のみ違う)
- 「Seed」
生成に使用するシード値を指定できます。
シード値を固定して入力テキストの絵文字の有無のみを変えて結果を比較したするのに使えます。
- 「CFG Guidance Mode」
「independent」(独立)、「joint」(結合)、「alternating」(交互)から選択します。
- 「CFG Scale Text」
値を大きくするほど入力テキストが「強く」反映され、入力テキストにより忠実になりますが不自然、無感情になりやすくなります。
値を下げると自然な発音になりやすいですが、入力テキストが無視されやすくなります。
- 「CFG Scale Caption」
値を大きくするほどキャプションが「強く」反映されます。
Irodori-TTS-500M-v2 / EMOJI_ANNOTATIONS.mdから対応絵文字をご覧ください。
「irodori-tts-500m-v2」の方で参照音声にVoicevoxの「中国うさぎ」のボイスを利用させてもらった感じでは、絵文字による感情表現と相性が悪い?
→ボイスクローニングと相性が悪いのか、参照元の「中国うさぎ」の声質と相性が悪いかはわからん
→どうもボイスクローニングと相性が悪いっぽい?でも絵文字なしだと棒読みになるから効果自体はあるっぽい?
ボイスクローニング無しなら絵文字なしのテキストオンリーでも文脈に応じた感情の乗った音声になるので絵文字は補助的な使用が良いかも
「irodori-tts-500m-v2」の方で参照音声にVoicevoxの「中国うさぎ」のボイスを利用させてもらった感じでは、絵文字による感情表現と相性が悪い?
→ボイスクローニングと相性が悪いのか、参照元の「中国うさぎ」の声質と相性が悪いかはわからん
→どうもボイスクローニングと相性が悪いっぽい?でも絵文字なしだと棒読みになるから効果自体はあるっぽい?
ボイスクローニング無しなら絵文字なしのテキストオンリーでも文脈に応じた感情の乗った音声になるので絵文字は補助的な使用が良いかも
上記のソフトウェアを利用させてもらい、SillyTavernでTTSしてみます。
DockerやDocker Composeなどはインストール済みとして進めます。
上記のソフトウェアではirodori-tts-500m-v2-voicedesign(自然言語キャプションで声質・感情を制御できる)とirodori-tts-500m-v2(参照音声による話者クローンモデル)の2つのモデルが使えますが、今回はirodori-tts-500m-v2を使って参照音声有りでTTSしてみます。
※環境変数の「FIXED_SECONDS」 (生成する音声の固定長)をデフォルトの30.0から60.0程度に上げたほうが良いかも?
ビルド・起動したら「irodori-tts-api」ディレクトリ内の「voices」ディレクトリに参照用の音声ファイルを置きます。
※ファイル名がそのままスピーカーIDになるので長い場合は変更しておいた方が良いかと

今回は参照音声に「001_中国うさぎ(ノーマル)_おはようございます。.wav」を「voices」ディレクトリに入れました。
この場合だとidは「001_中国うさぎ(ノーマル)_おはようございます。」になります。

SillyTavernの拡張機能タブを開いて、「TTS」の項目を開きます。
「Select TTS Provider」から「OpenAI Compatible」を選択して「Provider Endpoint:」に下記の通りに入力します。
Portは弄ってなければ「8880」がデフォルトです。

「Model: 」に「irodori-tts-500m-v2」と入力します。
※今回はボイスクローニングを試すため
「Available Voices (comma separated):」に先ほど確認したidを「,」区切りで入力します。(例:「001_中国うさぎ(ノーマル)_おはようございます。,」)
あとはSillyTavernのキャラカードを開いて、そのキャラクターにVoices(id)を割り当てればOKです。
その他のSillyTavernのTTS拡張機能の詳細はVOICEVOXなどをOpenAI互換TTS APIにしてAIに喋らせる / SillyTavernでの設定などページをご覧ください。
DockerやDocker Composeなどはインストール済みとして進めます。
# リポジトリをクローン&ディレクトリ移動 git clone https://github.com/arianpg/irodori-tts-api.git cd irodori-tts-api # 環境変数を設定 cp .env.example .env # ビルド・起動 docker compose up --build
上記のソフトウェアではirodori-tts-500m-v2-voicedesign(自然言語キャプションで声質・感情を制御できる)とirodori-tts-500m-v2(参照音声による話者クローンモデル)の2つのモデルが使えますが、今回はirodori-tts-500m-v2を使って参照音声有りでTTSしてみます。
※環境変数の「FIXED_SECONDS」 (生成する音声の固定長)をデフォルトの30.0から60.0程度に上げたほうが良いかも?
ビルド・起動したら「irodori-tts-api」ディレクトリ内の「voices」ディレクトリに参照用の音声ファイルを置きます。
※ファイル名がそのままスピーカーIDになるので長い場合は変更しておいた方が良いかと

http://{サーバーのアドレス}:{Port}/v1/audio/voice_contents
# 例:http://localhost:8880/v1/audio/voice_contents
# ローカル環境なら:http://host.docker.internal:8880/v1/audio/voice_contents
上記のURLにアクセスしてidを調べます。今回は参照音声に「001_中国うさぎ(ノーマル)_おはようございます。.wav」を「voices」ディレクトリに入れました。
この場合だとidは「001_中国うさぎ(ノーマル)_おはようございます。」になります。

SillyTavernの拡張機能タブを開いて、「TTS」の項目を開きます。
「Select TTS Provider」から「OpenAI Compatible」を選択して「Provider Endpoint:」に下記の通りに入力します。
Portは弄ってなければ「8880」がデフォルトです。
http://{サーバーのアドレス}:{Port}/v1/audio/speech
# 例:http://localhost:8880/v1/audio/speech
# ローカル環境なら:http://host.docker.internal:8880/v1/audio/speech

「Model: 」に「irodori-tts-500m-v2」と入力します。
※今回はボイスクローニングを試すため
「Available Voices (comma separated):」に先ほど確認したidを「,」区切りで入力します。(例:「001_中国うさぎ(ノーマル)_おはようございます。,」)
あとはSillyTavernのキャラカードを開いて、そのキャラクターにVoices(id)を割り当てればOKです。
その他のSillyTavernのTTS拡張機能の詳細はVOICEVOXなどをOpenAI互換TTS APIにしてAIに喋らせる / SillyTavernでの設定などページをご覧ください。
@misc{irodori-tts-v2,
author = {Chihiro Arata},
title = {Irodori-TTS: A Flow Matching-based Text-to-Speech Model with Emoji-driven Style Control},
year = {2026},
publisher = {Hugging Face},
journal = {Hugging Face repository},
howpublished = {\url{https://huggingface.co/Aratako/Irodori-TTS-500M-v2}}
}