Irodori-TTS Ref Connector
The adapter that hands your crafted voice to Irodori-TTS
- persona_ref_audio
- irodori_ref_config
- irodori_v2_ref_config
So you've run PersonaPalette and gotten a persona_ref_audio you actually like. Now what? If your downstream is Irodori-TTS, the answer is: it won't plug in directly. The Irodori sampler nodes want a config object, not raw audio. This node is the adapter between the two.
Irodori-TTS is the open Japanese TTS (Aratako's 500M model, v1 and v2 on Hugging Face) aimed squarely at character voices - the people using it are visual-novel and game folks building Japanese voices for non-Japanese-speaking audiences. It's niche in the English-speaking community (barely a whisper of reddit signal), but if you're doing Japanese character voice work it's one of the few open models that's actually designed for voice design rather than just narration. This connector is why the PersonaPalette pack ships at all: PersonaPalette makes the voice, this hands it to Irodori in the shape Irodori expects.
How it works
Deceptively simple under the hood. It takes your persona_ref_audio (AUDIO), saves it to a temporary WAV file, and builds the reference config dict Irodori's samplers want: the WAV path, optional normalization, and a max reference length. The same dict is returned under two custom types - irodori_ref_config (for the v1 IrodoriTTS Sampler from jupo-ai/comfy_IrodoriTTS) and irodori_v2_ref_config (for the v2 Sampler from the same author's kantan-kanto/ComfyUI_IrodoriTTS-v2_Wrapper). Both outputs fire on every run; you wire whichever one matches the sampler you installed.
That last bit is the catch: the custom output types only exist if you've already installed one of those Irodori wrapper packs. This connector is glue, not a standalone - skip the wrappers and there's nothing on the other end to plug into.
The three inputs
persona_ref_audio(AUDIO, required) - connect PersonaPalette'spersona_ref_audiooutput. Don't feed it thedsp_preview_audio; that's the un-naturalized intermediate, and it'll sound like it.normalize_ref_audio(BOOL, defaultFalse) - when on, setsref_normalize_dbto -16.0 andref_ensure_maxto true in the config. Useful if your TTS wrapper is picky about reference loudness; leave off if the sample's own level is fine.max_ref_seconds(FLOAT, default 30, range 1–120) - caps how much reference audio gets passed to Irodori. TTS references don't need to be long; if your source clip is a couple minutes of dialogue, keep this at 30 so the sampler doesn't chew on a wall of audio.
Installing it
Same pack as PersonaPalette - one clone covers all three nodes:
cd ComfyUI/custom_nodes
git clone https://github.com/kantan-kanto/ComfyUI-PersonaPalette
pip install -r ComfyUI-PersonaPalette/requirements.txt
Or just search "PersonaPalette" in ComfyUI Manager. Restart after. Then install the Irodori wrapper pack for whichever model version you run (comfy_IrodoriTTS or ComfyUI_IrodoriTTS-v2_Wrapper) and grab the Irodori 500M weights from Hugging Face. Note this connector pulls in the same transformers/huggingface-hub pins as the rest of the pack, so treat dependency installs with the usual care - audio node packs are where ComfyUI's dependency conflicts live.
Gotchas
- Nothing to plug into? You installed the connector but not the Irodori wrapper. The
IRODORI_REF_CONFIGtype doesn't exist in your graph until that pack is present. - Both outputs always fire - unused ones just dangle. That's fine; only wire the one for your sampler.
normalize_ref_audioisn't a magic loudness fix - it sets a specific -16 dB reference target. If the source is wildly quiet or clipped, fix it upstream with proper gain, not by toggling this.
It's a small node, honestly - a compatibility shim that does one job. But it's the piece that makes PersonaPalette's output actually usable, and without it you'd be hand-crafting config dicts or re-recording references. For anyone running Japanese character TTS off a PersonaPalette voice, it's the difference between "nice audio" and "nice audio that talks."
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| persona_ref_audio | AUDIO | — | |
| normalize_ref_audio | BOOLEAN | false | — |
| max_ref_seconds | FLOAT | 301–120 | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| irodori_ref_config | IRODORI_REF_CONFIG | — |
| irodori_v2_ref_config | IRODORI_V2_REF_CONFIG | — |