IrodoriTTS
Irodori-TTS 500M v2は、日本語に特化したボイスクローニングTTSモデルです。servers/tts/irodoritts/にあるローカルFastAPIラッパーサーバーを介して実行されます。
セットアップ
Section titled “セットアップ”TomoriBotのリポジトリのルート(TomoriBotをクローンしたフォルダー)から以下のコマンドを実行します(OSによって異なります)。
Windows PowerShellを使用する場合
Section titled “Windows PowerShellを使用する場合”# 1. エンジンフォルダー内にvenvを作成して有効化python -m venv servers\tts\irodoritts\.venvservers\tts\irodoritts\.venv\Scripts\Activate.ps1
# 2. pipをアップグレードpython -m pip install -U pip
# 3. サーバー実行時の依存関係(FastAPI、uvicorn、PyTorch)をインストールpip install -r servers\tts\irodoritts\requirements.txt
# 4. (GPUのみ) CUDA対応のPyTorchを再インストール - CPUのみのインストールの場合はスキップpip install torch torchaudio --index-url https://download.pytorch.org/whl/cu124
# 5. パッチスクリプトを介してソースからirodori-ttsをインストール.\servers\tts\irodoritts\install-irodori.ps1
# 6. サーバーを起動python servers\tts\irodoritts\server.pyLinux/macOS Bashを使用する場合
Section titled “Linux/macOS Bashを使用する場合”# 1. エンジンフォルダー内にvenvを作成して有効化python3 -m venv servers/tts/irodoritts/.venvsource servers/tts/irodoritts/.venv/bin/activate
# 2. pipをアップグレードpython -m pip install -U pip
# 3. サーバー実行時の依存関係(FastAPI、uvicorn、PyTorch)をインストールpython -m pip install -r servers/tts/irodoritts/requirements.txt
# 4. (LinuxのGPUのみ) CUDA対応のPyTorchを再インストール - CPUのみのインストールの場合はスキップpython -m pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu124
# 5. パッチスクリプトを介してソースからirodori-ttsをインストールbash servers/tts/irodoritts/install-irodori.sh
# 6. サーバーを起動python servers/tts/irodoritts/server.pyCUDAバージョン: ドライバーが古いツールキットを対象としている場合は、
cu124をcu118またはcu121に置き換えてください。
TomoriBotがIrodoriTTSを使用している間は、そのターミナルを開いたままにしてください。デフォルトのエンドポイントURLはhttp://127.0.0.1:8013です。
TomoriBotへの登録
Section titled “TomoriBotへの登録”/provider custom-endpoint addを実行します。
capability:speechapi_style:tts-cloneendpoint_url:http://127.0.0.1:8013
モーダルで以下を設定します。
Voice Source Mode:CloneScript Markup Style:Emoji
登録すると、エンドポイントはすぐに有効になります。今後、speechエンドポイントを切り替える場合にのみ/model speechを使用します。
ペルソナ音声のセットアップ
Section titled “ペルソナ音声のセットアップ”- 背景音楽のない、1人の話者による10〜20秒のクリアな日本語の音声クリップを準備します。
/speech voice-addを実行してクリップをアップロードします。/speech voice-assignを実行し、ペルソナと音声サンプルを選択します。
TomoriBotは、テキストをTTSに送信する前にDiscordのカスタム絵文字構文を削除します。script_markup: emojiを設定すると、IrodoriTTSの感情制御用にUnicode絵文字が保持されます。他のspeechモードではUnicode絵文字も削除されるため、文字通りに読まれることはありません。
インストールスクリプトが存在する理由
Section titled “インストールスクリプトが存在する理由”アップストリームのパッケージングメタデータがpipフレンドリーではなく、dacvaeがPyPIにないため、直接pip install git+https://github.com/Aratako/Irodori-TTSを実行すると現在失敗します。インストールスクリプトはパッケージレイアウトにパッチを当て、ピン留めされたGitHubの依存関係をインストールします。
Irodori-TTSとdacvaeはどちらもGitHubからインストールされます。サイレントなアップストリームの変更がインストールに影響を与えるのを防ぐため、スクリプトは両方を特定のコミットSHA(install-irodori.ps1の先頭で定義されています)にピン留めします。
| 変数 | デフォルト値 | 目的 |
|---|---|---|
IRODORI_TTS_MODEL_ID |
Aratako/Irodori-TTS-500M-v2 |
HuggingFaceモデルリポジトリ |
TOMORI_TTS_HOST |
127.0.0.1 |
サーバーのバインドアドレス |
TOMORI_TTS_PORT |
8013 |
サーバーのポート |
IRODORI_MODEL_DEVICE |
cuda / cpu |
推論デバイス |
IRODORI_CODEC_DEVICE |
モデルデバイスと同じ | コーデックデバイス |
IRODORI_MODEL_PRECISION |
bf16 (GPU) / fp32 (CPU) |
モデル精度 |
IRODORI_CODEC_PRECISION |
fp32 |
コーデック精度 |
TOMORI_TTS_MAX_TEXT_CHARS |
1000 |
リクエストごとのテキスト長の上限 |