IrodoriTTS-v2 Sampler
The plain IrodoriTTS-v2 Sampler
- model
- ref_audio_config
- cfg_config
- rescale_config
- AUDIO
If the Dialogue TTS node is the pack's showpiece, this is the workhorse underneath it. The IrodoriTTS-v2 Sampler takes a loaded model, a single block of text, and an optional reference voice, and returns one AUDIO clip. It's the node you reach for when you want a line of narration or a single utterance, not a two-character scene - the dialogue node literally calls the same synthesis machinery per utterance.
At its simplest, the wiring is three nodes: Model Loader → this → SaveAudio, with a Reference Audio node feeding the optional ref_audio_config. Wire the AUDIO output into any ComfyUI audio sink (the bundled sample workflow uses a SaveAudioMP3-style node). It's not an output node - it won't save anything on its own.
The inputs that actually matter for a beginner:
text- what gets spoken. Multiline, so paragraphs are fine.ref_audio_config(optional) - skip it and the backend runs in no-reference mode; wire in a Reference Audio node and you get voice cloning. Yes, the input is optional, which is unusual and convenient for quick tests.seed- the standard ComfyUI seed widget. Same seed, same clip.num_steps(default 40) - more steps, cleaner but slower. 40 is a sensible default; you'll rarely need to push past it.
Then there's the CFG cluster, which is where IrodoriTTS-v2 differs from a diffusion sampler you already know. It has two guidance scales instead of one: cfg_scale_text (default 3) drives how hard the model follows the text, and cfg_scale_speaker (default 5) drives how hard it holds onto the cloned voice. The cfg_guidance_mode combo picks how they're combined - independent (the default, each scale applied separately), joint, or alternating. If the voice drifts off the reference, nudge cfg_scale_speaker up; if the words wander, nudge cfg_scale_text. If you've ever tuned CFG in Stable Diffusion, the mental model transfers.
context_kv_cache (default on) is worth leaving alone: it keeps the transformer's key/value cache across the generation so long text doesn't re-encode from scratch, which is why long Japanese sentences don't grind to a halt.
The two remaining optional inputs - cfg_config and rescale_config - come from the pack's Advanced CFG and Rescale Config nodes. For your first fifty generations, don't wire them. They're precision tuning for people chasing a specific artifact; the Sampler's own sliders cover the common cases.
Install, once per pack, from the repo:
cd ComfyUI/custom_nodes
git clone https://github.com/kantan-kanto/ComfyUI-DialogueTTS
pip install -r ComfyUI-DialogueTTS/requirements.txt
(Or search "ComfyUI-DialogueTTS" in ComfyUI Manager.) Remember the main checkpoint does not auto-download - drop Irodori-TTS-500M-v2.safetensors in models/checkpoints/ - while the codec (~410MB) and tokenizer fetch themselves on first load.
Common issues, grounded in how this actually runs:
- "Model not found" / empty model dropdown - you skipped the checkpoint download. See the Model Loader page.
- bf16 selected and it errors - bf16 currently requires CUDA; on CPU or Mac use fp32.
- The voice sounds nothing like the reference - check the reference clip itself: clean, single speaker, same language. The Sampler is only as good as the voice you hand it.
- Dependency errors on startup - the pack pins
transformers<5and installsdacvae,torchcodec,sentencepiece,soundfileinto your ComfyUI environment. If another pack already put you in transformers-hell, that's the first thing to untangle (audio-in-ComfyUI is always this way - the layer was bolted on, not designed in).
One more note on expectations: this is a Japanese-first model. It works for short English, but Japanese is where it's genuinely good - plan your pipeline accordingly.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| model | IRODORI_V2_MODEL | — | |
| text | STRING | — | |
| seed | INT | 00–9223372036854776000 | — |
| num_steps | INT | 401–120 | — |
| cfg_guidance_mode | COMBO | independent | 3 options: independent, joint, alternating |
| cfg_scale_text | FLOAT | 3.00–10 | — |
| cfg_scale_speaker | FLOAT | 5.00–10 | — |
| context_kv_cache | BOOLEAN | true | — |
| ref_audio_configopt | IRODORI_V2_REF_CONFIG | — | |
| cfg_configopt | IRODORI_V2_CFG_CONFIG | — | |
| rescale_configopt | IRODORI_V2_RESCALE_CONFIG | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |