Kokoro TTS v2
Blend two voices into one, the simple way
- audio
Kokoro ships 46 built-in voices and none of them are exactly what you had in your head. KokoroTTS_v2 is the pack's answer: pick two presets, it averages them into a new voice, and you get audio out the other end. It's the simplest of the pack's blend nodes - there's a fancier one (v3) that adds a real mixing dial, but v2 is where "voice blending" starts.
Why blend at all
Kokoro's 46 presets - af_*/am_* for American female/male, bf_*/bm_* for British - cover a lot of ground, but they're fixed points, not a spectrum. If you want something between "af_bella" and "af_sarah," there's no preset for that; you have to build it. That's this whole pack's reason to exist, and it's a genuinely useful idea for a TTS model this size - Kokoro itself is small enough (around 82M parameters) and fast enough that generating a blended voice costs you almost nothing extra compared to a single preset.
How it actually blends
Per the pack's own changelog, v2 introduced what the author calls the "default" blending method: a weighted-sum average of the two voices' underlying embeddings. Practically, that means it takes both voice vectors and merges them into a midpoint - straightforward, cheap, and it works, though a plain average can occasionally sound a bit softer or less distinct than either source voice on its own, especially if the two voices are quite different. There's no mix-ratio control here - you don't get to say "80% voice1, 20% voice2." That level of control, plus a second blending method (spherical interpolation), is what KokoroTTS_v3 adds on top of this exact node.
Inputs and outputs
- text (STRING, default "Hello, world!") - what gets spoken.
- voice1 / voice2 (enum, 46 choices each) - the two presets to blend.
- speed1 / speed2 (FLOAT, 0.5–2, default 1) - playback speed for each source voice going into the blend.
One output: audio (AUDIO), ready for a Save Audio / Preview Audio node or further downstream.
Installing it
Same install as the rest of the pack:
- ComfyUI Manager - search "DJZ-KokoroTTS", install, restart.
- Manual -
cd ComfyUI/custom_nodes && git clone https://github.com/MushroomFleet/DJZ-KokoroTTS, then restart.
Portable Windows users get an install-portable.bat - close ComfyUI first, then run it; it sets up the paths and dependencies the portable build needs.
You also need the model files. Two of them belong in /comfyui/models/kokoro/. The README links directly to the ONNX weights - kokoro.onnx from taylorchu/kokoro-onnx's v0.2.0 release - but is vague on the second file's exact name; check the repo's models.json rather than guessing.
Where people get stuck
Same failure mode as every node in this pack: the model files aren't where the node expects them. If voice generation fails outright rather than just sounding wrong, check /comfyui/models/kokoro/ first, exactly that path, before touching anything else.
Worth knowing generally about custom nodes: every pack drops its own requirements.txt into ComfyUI's shared Python environment, with zero isolation between packs. A conflicting dependency version from something else you've installed can quietly break this node on load, and the error you see usually won't mention Kokoro by name - it'll look like an unrelated import failure. Check the console on startup for what's actually missing or clashing.
If you find yourself blending the same two voices over and over, don't keep re-running this node for every generation - that's what KokoroTTS_SaveVoice_v1 is for: bake the blend once, save it, and pull it back in with KokoroTTS_LoadVoice_v1 whenever you need it. Faster, and you get a consistent voice across an entire project instead of a slightly different blend each run.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Hello, world! | — |
| voice1 | COMBO | 46 options: af_alloy, af_aoede, af_bella, af_heart, af_jessica, af_kore, +40 | |
| voice2 | COMBO | 46 options: af_alloy, af_aoede, af_bella, af_heart, af_jessica, af_kore, +40 | |
| speed1 | FLOAT | 1.00.5–2 | — |
| speed2 | FLOAT | 1.00.5–2 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |