IrodoriTTS
Irodori-TTS 500M v2 is a Japanese-focused voice-cloning TTS model. It runs via a local FastAPI wrapper server in servers/tts/irodoritts/.
Run these commands from the TomoriBot repo root, the folder where you cloned TomoriBot (depending on OS):
Using Windows PowerShell
Section titled “Using Windows PowerShell”# 1. Create and activate a venv inside the engine folderpython -m venv servers\tts\irodoritts\.venvservers\tts\irodoritts\.venv\Scripts\Activate.ps1
# 2. Upgrade pippython -m pip install -U pip
# 3. Install server runtime deps (FastAPI, uvicorn, PyTorch)pip install -r servers\tts\irodoritts\requirements.txt
# 4. (GPU only) Reinstall PyTorch with CUDA support — skip for CPU-only installspip install torch torchaudio --index-url https://download.pytorch.org/whl/cu124
# 5. Install irodori-tts from source via the patch script.\servers\tts\irodoritts\install-irodori.ps1
# 6. Start the serverpython servers\tts\irodoritts\server.pyUsing Linux/macOS Bash
Section titled “Using Linux/macOS Bash”# 1. Create and activate a venv inside the engine folderpython3 -m venv servers/tts/irodoritts/.venvsource servers/tts/irodoritts/.venv/bin/activate
# 2. Upgrade pippython -m pip install -U pip
# 3. Install server runtime deps (FastAPI, uvicorn, PyTorch)python -m pip install -r servers/tts/irodoritts/requirements.txt
# 4. (Linux GPU only) Reinstall PyTorch with CUDA support - skip for CPU-only installspython -m pip install torch torchaudio --index-url https://download.pytorch.org/whl/cu124
# 5. Install irodori-tts from source via the patch scriptbash servers/tts/irodoritts/install-irodori.sh
# 6. Start the serverpython servers/tts/irodoritts/server.pyCUDA version: replace
cu124withcu118orcu121if your driver targets an older toolkit.
Keep that terminal open while TomoriBot is using IrodoriTTS. The default endpoint URL is http://127.0.0.1:8013.
Register in TomoriBot
Section titled “Register in TomoriBot”Run /provider custom-endpoint add:
capability:speechapi_style:tts-cloneendpoint_url:http://127.0.0.1:8013
In the modal:
Voice Source Mode:CloneScript Markup Style:Emoji
Registration makes the endpoint active immediately. Use /model speech later only when switching between speech endpoints.
Set Up a Persona Voice
Section titled “Set Up a Persona Voice”- Prepare a clean 10-20 second Japanese voice clip with one speaker and no background music.
- Run
/speech voice-addand upload the clip. - Run
/speech voice-assign, then choose the persona and the voice sample.
TomoriBot strips Discord custom emoji syntax before sending text to TTS. With script_markup: emoji, Unicode emojis are preserved for IrodoriTTS emotion control; other speech modes remove Unicode emojis too so they are not spoken literally.
Why the Install Script Exists
Section titled “Why the Install Script Exists”A direct pip install git+https://github.com/Aratako/Irodori-TTS currently fails because upstream packaging metadata is not pip-friendly and dacvae is not on PyPI. The install script patches the package layout and installs pinned GitHub dependencies.
Both Irodori-TTS and dacvae are installed from GitHub. The script pins both to specific commit SHAs (defined at the top of install-irodori.ps1) to prevent silent upstream changes from affecting installs.
Environment variables
Section titled “Environment variables”| Variable | Default | Purpose |
|---|---|---|
IRODORI_TTS_MODEL_ID |
Aratako/Irodori-TTS-500M-v2 |
HuggingFace model repo |
TOMORI_TTS_HOST |
127.0.0.1 |
Server bind address |
TOMORI_TTS_PORT |
8013 |
Server port |
IRODORI_MODEL_DEVICE |
cuda / cpu |
Inference device |
IRODORI_CODEC_DEVICE |
same as model device | Codec device |
IRODORI_MODEL_PRECISION |
bf16 (GPU) / fp32 (CPU) |
Model precision |
IRODORI_CODEC_PRECISION |
fp32 |
Codec precision |
TOMORI_TTS_MAX_TEXT_CHARS |
1000 |
Per-request text length cap |