Speech-God Emotion Blend
70% happy, 30% excited — mix two deliveries on one character
- emotion_blend
A character's tone dropdown gives you twelve discrete emotions, but real performances live in between them. That's what Speech-God Emotion Blend is for: a tiny utility node that mixes two tones into one blended delivery and hands it to a Character via its emotion_blend socket. "Nervous but trying to sound brave." "Giddy and a little scared." You can't type those into the tone dropdown, but you can blend your way there.
It's deliberately simple - four inputs, one output, nothing hidden:
- emotion_a (default
happy) and emotion_b (defaultexcited) - pick from the same twelve tones the Character node offers. - weight_a (default 70) and weight_b (default 30) - the mix. The code normalizes the pair, so 70/30 and 90/10 both work; they don't need to sum to 100.
The output is a SPEECHGOD_EMOTION wire that you plug into the emotion_blend socket on a Speech-God Character node. That's the only place it goes.
How the blend actually works
Under the hood it's a linear interpolation over each tone's delivery recipe. Every emotion in the pack maps to a small table of concrete values - pitch in semitones, a tempo multiplier, gain, an inline marker for fish-speech, and a natural-language style fragment like "a bright, warm, smiling delivery." The blend node takes the two recipes, weights them, and produces a single synthetic profile: blended pitch, blended tempo, blended gain, the marker from whichever tone is heavier, and a combined style string that literally reads "70% happy and 30% excited: …".
One behavior worth knowing: when a Character has an emotion blend connected, the blend replaces the character's base tone entirely - it doesn't stack on top of it. So don't set tone: happy and then blend happy+excited; pick a neutral base or just leave tone alone and let the blend own the emotion.
Installing
Same pack as everything else here. ComfyUI Manager (search "Speech-God") or:
cd ComfyUI/custom_nodes
git clone https://github.com/realTNEU/ComfyUI-SpeechGod
Then pip install -r requirements.txt into the ComfyUI venv, restart, and the ten Speech-God nodes land under the Speech-God category. It's a thin node, so there's not much that can break that isn't the pack's general install story (wrong venv, slow first cold start, the f5-tts dependency train) - if the pack loads, this node just works.
Worth one aside, since it's the same trap as the tone dropdown: extreme blends still stack with age and gender pitch, so "excited child" stays your responsibility. The blend gives you nuance, not a license to ignore the chipmunk gradient.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| emotion_a | COMBO | happy | 12 options: neutral, happy, sad, excited, angry, scared, +6 |
| weight_a | INT | 700–100 | — |
| emotion_b | COMBO | excited | 12 options: neutral, happy, sad, excited, angry, scared, +6 |
| weight_b | INT | 300–100 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| emotion_blend | SPEECHGOD_EMOTION | — |