個人的な日本語ローカルLLM関連のメモ用Wikiです。一般の方は編集できません。

×

・はじめに / 大事なこと


権利的に、明らかにクリーンな音声以外を参照音声として使うのはやめましょう。
例えば有名人、政治家、アイドルなどの音声を使うのは絶対にやめましょう。

T5Gemma-TTSは商用利用不可です。

この記事では、参照音声にVoicevoxの「中国うさぎ」のボイスを利用させてもらいます。

VOICEVOX ずんだもん、東北ずん子、東北きりたん、東北イタコ、四国めたん、九州そら、中国うさぎ、中部つるぎ音源利用規約

合成音声モデルの規約によっては、利用、表現を制限しているものもあります。(例えば性的な利用不可、政治目的不可など)
規約をよく読んで、規約を守って利用しましょう。



・T5Gemma-TTSってなんぞ

  • 日英中の言語に対応したTTS(Text-to-Speech)モデル
  • 参照音声を渡すと、その声質で音声を生成してくれる。(zero-shot voice cloning)
  • 必要なら追加学習する事もできるようだ
  • 生成音声の長さをある程度指定できる。
  • 生成に少し時間がかかるため、SillyTavernやOpenWebUIなどのチャット読み上げとしては向かないかも(←ストリーミングテキストの読み上げには向かない?)
  • T5Gemma-TTSのコードはMITライセンス、モデルについてはGemma 利用規約と、コーデックやトレーニングデータセットのCC-BY-NC 4.0
→ 簡単に言うと非営利目的のみOK(商用利用NG)で、クレジット表記やライセンス表記が必要

詳しくはT5Gemma-TTS /README_ja.mdを見て

・インストールの前に / HuggingFaceへのログインと利用規約の同意

HuggingFaceのアカウントが必要です。
また、HuggingFaceのアカウントでログインした状態で下記のURLにアクセスして利用規約にそれぞれ同意する必要があります。
同意しないとモデルがダウンロードされず、利用できません。

上記のURLにアクセス、「Agree and Access」をクリック

・インストールの前に / HuggingFaceのToken

HuggingFaceにログインした状態で上記のURLにアクセス、「Create new Token」で「Read」 → 「Token name」にお好きな名前を入力して出来た、hf_から始まるTokenをコピペしてメモっておく。

・Windowsへのインストール(Dockerなしで)

※2025/12/21時点で、既知の問題として、ネイティブWindowsでは推論時に生成時間が不安定になったり、処理がハングしたりする問題が確認されているそうです。
このため、WindowsではDockerの利用が推奨されていますが、筆者の環境ではネイティブで特に問題ない一方、Dockerの方が利用できない(なんかエラー出る)ため、ネイティブWindows環境にインストールする方法を記載しています。

Windowsに「git」、「Python(3.12)」がインストールされたものとして進めます。
コマンドプロンプトを開き、任意のフォルダまで移動後、下記の通りに入力します。
git clone https://github.com/Aratako/T5Gemma-TTS.git && cd T5Gemma-TTS
python -m venv venv
.\venv\Scripts\activate
pip install "torch<=2.8.0" torchaudio --index-url https://download.pytorch.org/whl/cu128
pip install -r requirements.txt

huggingface_hubをインストールしてログインします。
pip install -U "huggingface_hub"
huggingface-cli login
# トークンを聞かれるのでコピペで入力する

T5Gemma-TTSを実行します。
python inference_gradio.py --model_dir Aratako/T5Gemma-TTS-2b-2b --port 7860

初回起動時はモデルのダウンロードなどが行われるので回線速度などにもよりますが30分程度はかかりました。
t5gemma-tts-1 | * Running on local URL: http://0.0.0.0:7860
モデルのダウンロードなどが終わればコンソールに上記のURLが表示され、ブラウザからアクセスできます。
コンソールに表示されているのにブラウザからURLにアクセス出来ない場合は、下記のURLにアクセスすればWebUIが表示されるはずです。
http://127.0.0.1:7860/

2回目以降は、コマンドプロンプトでgit cloneしたフォルダへ移動し、下記のように入力すれば起動します。
.\venv\Scripts\activate\python inference_gradio.py --model_dir Aratako/T5Gemma-TTS-2b-2b --port 7860

・Dockerでインストール

DockerやDocker Composeなどはインストール済みとして進めます。

# githubからcloneしてそのディレクトリに移動
git clone https://github.com/Aratako/T5Gemma-TTS.git && cd T5Gemma-TTS

# .env ファイルにHFのトークンを記載しておく
nano .env
HF_TOKEN=<hf_から始まるToken>

# Dockerコンテナのビルドと起動
docker compose up --build

・WebUI


  • Reference Speech (optional)
参考音声を利用する際はここからアップロードします。
参考音声を利用しない場合は無視してください。
  • Reference Text (optional, leave blank to auto-transcribe)
参考音声を利用する際に、参考音声のテキストを入力します。
空白だとWhisper (large-v3-turbo)を使って自動で書き起こしされます。
  • Target Text
生成する音声のテキストです。
  • Target Duration (seconds, optional)
生成する音声の長さ(秒)です。
  • Random Seed (optional)
  • top_k / top_p / min_p / temperature
  • Number of Samples (batch generation)
一度の生成数です。
何度もガチャるよりここの値を増やして一度に複数生成する方が良いかと
  • Generate
生成ボタンです。

・リファレンス(参照)音声なしで生成してみる。


「Target Text」はデフォルトの「こんにちは、私はAIです。これは音声合成のテストです。」で音声を生成してみました。
音声ファイルへのリンク

男性の声ですね。

・リファレンス(参照)音声ありで生成してみる。

Voicevoxの「中国うさぎ」でボイスを作り、それをリファレンス音声として利用してみます。


Voicevoxで「おはようございます。」というテキストでボイスを出力しました。
↓Voicevoxで出力したボイス
音声ファイルへのリンク


「Reference Speech」にVoicevoxで出力したボイスを、「Reference Text」に「おはようございます。」と入力して「Target Text」をデフォルトの「こんにちは、私はAIです。これは音声合成のテストです。」でいくつか生成してみて、良さげなのを選んだ結果です。
音声ファイルへのリンク

VRAMの使用量など

デフォルト(低VRAM向けオプション無し)、参照音声あり、参照テキスト手動入力、Windwowsのタスクマネージャー読みでVRAM13.3GBから14GB程度を消費、メインメモリは2GBから2.5GB程度使われている。

同じ状態で、--low_vramオプション追加だとVRAM10.5GB前後、メインメモリ5.8GB前後ほど。

T5Gemma-TTS /README_ja.mdによれば、「--low_vram」オプションは
--cpu_codec: XCodec2トークナイザをCPUに載せる。VRAM使用量を約3.5GB削減(エンコード/デコードは遅くなる)。
--cpu_whisper: Whisper(参照音声を自動書き起こしする場合)をCPUに載せる。VRAM使用量を約5GB削減。書き起こしは少し遅くなる。
--low_vram: 上記2つをまとめて有効化し、torch.compileを無効化するプリセット。
品質は変わらず、GPUメモリと速度のトレードオフだけが変わります。
との事なので、--low_vramオプションさえ付ければRTX3060 VRAM12GBなどのGPUでも生成速度は落ちるものの、実行できそうです。

その他

参照音声にVoicevoxの「中国うさぎ」のボイスを利用させてもらった感じでは、参照音声と生成したい音声のテキストが一部被っていると声質の再現精度が高くなる?
例えば生成したい音声のテキストが「こんばんは。今夜は月が綺麗ですね」なら、参照音声は「こんにちは。」より、「こんばんは。」や、「綺麗です。」を参照音声として渡した方が良い(?)

Citation

@misc{t5gemma-tts,
  author = {Chihiro Arata},
  title = {T5Gemma-TTS: An Encoder-Decoder LLM-based TTS Model},
  year = {2025},
  publisher = {GitHub},
  journal = {GitHub repository},
  howpublished = {\url{https://github.com/Aratako/T5Gemma-TTS}}
}

管理人/副管理人のみ編集できます

広告募集中