Nodes/Speech-God/Speech-God Character
ComfyUI Node

Speech-God Character

A repeatable character voice from sliders, not just a sample

By realTNEU·Created 4 months ago·Updated 4 months ago· 0
Speech-God Character
  • voice_reference
  • emotion_reference
  • emotion_blend
  • character
◄character_nameCharacter►
◄genderneutral►
◄ageadult►
◄toneneutral►
◄energy50►
◄speech_speed1.00►
◄accent_strength0►
◄style_prompt►
◄scene_context►
◄reference_text►
◄laugh0►
◄whisper0►
◄nervousness0►
◄confidence0►
◄dramatic_intensity0►
◄sarcasm0►
◄cuteness0►

Speech-God's whole pitch is "ElevenLabs-style control, fully local" - and Speech-God Character is where that pitch actually lives. In a plain TTS setup you get one cloned voice and that's it. Here you define a full character profile - gender, age, tone, energy, delivery quirks - and every line that character speaks comes out consistent and distinct, episode after episode. It's the difference between "a voice" and "a character with a voice."

The key idea, worth internalizing early: every voice still starts from reference audio - both engines are zero-shot cloners. The profile is what layers personality on top. The character carries an optional voice_reference (any AUDIO - load it with ComfyUI's Load Audio node), and a bunch of parameter knobs that get converted into pitch shifts, tempo changes, gain, inline emotion markers and natural-language style fragments before synthesis. That's the "prompt conditioning + DSP" layer the README mentions: age, gender and tone each contribute semitones and tempo, the micro-sliders add style text and markers, and a post-pass does the pitch/gain shaping.

The inputs that actually matter

Start with these five and ignore the rest on day one:

  • character_name - must match the tag you'll use in your script ([SQUIRREL] ↔ name SQUIRREL, case-insensitive). Get this wrong and lines route to the wrong character.
  • tone - twelve choices from neutral to happy, angry, evil, narrator. Each maps to a pitch/tempo/gain recipe plus a style fragment and (for the fish engine) an inline marker.
  • age - child through elderly, which stacks pitch on top of tone. Careful: extreme combos compound (the README flags child+excited as roughly +7 semitones - that's how you get chipmunks).
  • energy (0–100, default 50) and speech_speed (0.5–2.0) - the two knobs that change a delivery most without sounding artificial.
  • voice_reference (optional AUDIO) - plug a 5–15 s WAV here for actual cloning. Leave it empty and the pack falls back to a bundled reference voice, so parameter-only characters work out of the box - just shared and neutral.

The optional extras are where this node earns its name: style_prompt (free-form delivery description), scene_context (e.g. "in a crowded market"), reference_text (the transcript of your voice reference - fill this in to skip Whisper's auto-transcription and save ~1.5 GB VRAM and a slow first run), emotion_reference (a clip whose pacing and emotion you want cloned), and an emotion_blend socket for the Emotion Blend node. Then there are the seven micro-expression sliders: laugh, whisper, nervousness, confidence, dramatic_intensity, sarcasm, cuteness, all 0–100. At 25+ a slider adds its style fragment; at 50+ it also adds a marker on fish-speech.

Output is a single character wire (SPEECHGOD_CHARACTER) - feed it into Speech-God Cast to group it with others, or straight into Save/Load Character to keep it across projects.

Installing and running

Same pack, same drill as every Speech-God node: Manager search "Speech-God", or git clone https://github.com/realTNEU/ComfyUI-SpeechGod into custom_nodes, then install requirements.txt into the ComfyUI venv and restart. The F5-TTS model (~1.4 GB) auto-downloads on first generation.

Gotchas worth knowing

  • Robotic or wrong-pitch output - your age+tone combo is stacking too much pitch. Drop the micro sliders and reduce energy before you blame the model.
  • "Cloned voice ignores emotion" - F5-TTS follows the reference's emotion; your tone sliders add delivery but the base voice stays the reference's mood. Fix: attach an emotion_reference clip, or switch to fish-speech where markers actually act.
  • "no voice reference available" - this error only means f5-tts isn't importable. If it is, the bundled default voice handles parameter-only characters; drop your own seed WAVs into assets/default_voices/ for distinct defaults.
  • License asterisk: F5-TTS weights are CC-BY-NC (non-commercial). Fine for personal work; check before this goes anywhere commercial.
CategorySpeech-God

Inputs (20)

NameTypeDefaultDescription
character_nameSTRINGCharacter—
genderCOMBOneutral3 options: female, male, neutral
ageCOMBOadult5 options: child, teen, young_adult, adult, elderly
toneCOMBOneutral12 options: neutral, happy, sad, excited, angry, scared, +6
energyINT500–100—
speech_speedFLOAT1.000.5–2—
accent_strengthINT00–100—
voice_referenceoptAUDIO—
emotion_referenceoptAUDIO—
emotion_blendoptSPEECHGOD_EMOTION—
style_promptoptSTRING—
scene_contextoptSTRING—
reference_textoptSTRINGTranscript of the voice reference (improves cloning; F5 auto-transcribes when empty)
laughoptINT00–100—
whisperoptINT00–100—
nervousnessoptINT00–100—
confidenceoptINT00–100—
dramatic_intensityoptINT00–100—
sarcasmoptINT00–100—
cutenessoptINT00–100—

Outputs (1)

NameTypeDescription
characterSPEECHGOD_CHARACTER—