Nodes/ComfyUI-DialogueTTS/IrodoriTTS-v2 Sampler
ComfyUI Node

IrodoriTTS-v2 Sampler

The plain IrodoriTTS-v2 Sampler

By kantan-kanto·Created 4 months ago·Updated 4 months ago· 0
IrodoriTTS-v2 Sampler
  • model
  • ref_audio_config
  • cfg_config
  • rescale_config
  • AUDIO
text
seed0
num_steps40
cfg_guidance_modeindependent
cfg_scale_text3.0
cfg_scale_speaker5.0
context_kv_cachetrue

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<5 and installs dacvae, torchcodec, sentencepiece, soundfile into 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.

CategoryDialogueTTS/IrodoriTTS-v2

Inputs (11)

NameTypeDefaultDescription
modelIRODORI_V2_MODEL
textSTRING
seedINT00–9223372036854776000
num_stepsINT401–120
cfg_guidance_modeCOMBOindependent3 options: independent, joint, alternating
cfg_scale_textFLOAT3.00–10
cfg_scale_speakerFLOAT5.00–10
context_kv_cacheBOOLEANtrue
ref_audio_configoptIRODORI_V2_REF_CONFIG
cfg_configoptIRODORI_V2_CFG_CONFIG
rescale_configoptIRODORI_V2_RESCALE_CONFIG

Outputs (1)

NameTypeDescription
AUDIOAUDIO