Speech-God Voice Evolution
Age a voice over time, or morph one character into another
- character
- evolve_toward
- character
Every TTS pack will clone you a voice. Almost none will let a character grow up across episodes. Speech-God Voice Evolution is the pack's answer to the "our hero is eight in season one and fourteen in season three" problem: it takes a character and interpolates its profile toward a target - or, with no target, applies a natural aging drift - so the same reference voice changes slowly and believably over time instead of snapping between two unrelated clones.
It's one of the more surprising nodes in the suite, and mechanically clever. Two required inputs:
- character - the starting
SPEECHGOD_CHARACTER. - progress (0.0–1.0, default 0) - the blend amount. 0 is the starting character unchanged, 1 is fully transformed.
One optional input, evolve_toward - a second SPEECHGOD_CHARACTER that acts as the destination. If it's connected, progress morphs the starting character toward it: every numeric trait (energy, speed, accent, all seven micro sliders) linearly interpolates, the age snaps through the five-stage ladder (child→teen→young_adult→adult→elderly), and past 50% progress the target's voice reference takes over. Leave evolve_toward empty and you get the "natural aging" path instead: pitch falls and speech tempo slows as progress rises, no target needed.
Either way the output is a character you feed into Cast, Save Character, or straight on - and because evolved characters are just characters, you can save a mid-growth snapshot and continue from it next episode. That's the workflow the README suggests: sweep progress 0→1 across episodes for a gradual, continuous aging arc instead of a hard cut.
Where this shines (and where it's subtle)
The real power is the saved-snapshot loop. Build your young hero's profile once, evolve it per-episode, Save Character at each stage, and the next episode starts from where the last one left off. Combined with the character database nodes, this gives you genuine character continuity that most TTS setups can't touch - a voice that's clearly the same person, just older.
The subtlety to know: most of the "aging" is DSP, not the model. Pitch and tempo shift post-generation, and the micro-slider interpolation adjusts delivery. That's exactly why it sounds continuous rather than like two different people. If you want a more radical change, connect evolve_toward with a different voice reference - past halfway, the target's actual voice takes over, which is closer to a true morph.
Installing
Same pack, same drill as all ten nodes: ComfyUI Manager (search "Speech-God") or git clone https://github.com/realTNEU/ComfyUI-SpeechGod into custom_nodes, then pip install -r requirements.txt into the ComfyUI venv and restart. Voice Evolution is pure parameter math - it loads no models and adds no dependencies beyond what the pack already needs, so once the suite is in, this node just works.
One honest note: evolution interpolates the parameters, so it can't conjure a voice radically different from your starting reference. A child's voice comes from pitch-stacking a reference, and there's a ceiling to how far that convinces. For big age gaps, the smoother trick is a separate character (even one cloned from the same voice at a different age) and morphing between them - which, conveniently, is exactly what evolve_toward is for.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| character | SPEECHGOD_CHARACTER | — | |
| progress | FLOAT | 0.000–1 | — |
| evolve_towardopt | SPEECHGOD_CHARACTER | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| character | SPEECHGOD_CHARACTER | — |