Nodes/ComfyUI-Supertonic3TTS/Supertonic Text-to-Speech ๐Ÿ—ฃ๏ธ
ComfyUI Node

Supertonic Text-to-Speech ๐Ÿ—ฃ๏ธ

Supertonic-3 TTS Inside ComfyUI

By AnonymzxยทCreated 3 months agoยทUpdated about a month agoยท 2
Supertonic Text-to-Speech ๐Ÿ—ฃ๏ธ
  • model
  • audio
โ—„textHello! <laugh> This is Supertonic-3 speaking.โ–บ
โ—„languageenโ–บ
โ—„speed1.00โ–บ
โ—„steps8โ–บ
โ—„voice_styleM1โ–บ
โ—„custom_style_pathโ–บ
โ—„verbosefalseโ–บ

The headline number for Supertonic-3's ComfyUI port isn't the 31 languages or the 10 preset voices - it's that this runs on CPU, faster than real time, with no API key and no cloud call. That makes Supertonic Text-to-Speech the actual star of the pack: a TTS node you can park at the end of a video pipeline without budgeting a single megabyte of VRAM for it.

The other thing that sets it apart from most open TTS is multilingual coverage straight out of the box. English, Korean, Japanese, Arabic, Indonesian, Vietnamese, and two dozen more. Supertone is a Korean company, and it shows in how well the Asian languages hold up. That's the niche this fills - the fast, cheap, many-languages corner of the TTS map. It is not a cloning tool: Supertonic uses fixed preset voices, and the community's loudest complaint about it has always been the lack of zero-shot cloning. If you need a cloned voice, look at Chatterbox or Pocket TTS instead. For "narrate this video in a clean voice," this is genuinely hard to beat on CPU.

The inputs that matter

Feed it the model output from Supertonic Model Loader, then type your text. The defaults are actually usable - the text box ships with a working example (Hello! <laugh> This is Supertonic-3 speaking.), which is a nicer touch than the empty string most packs give you.

  • text - multiline. This is where the fun is: type expression tags straight into the prose. <laugh>, <sigh>, <scream>, <cough>, <yawn>, <surprise>, <angry>, <sad>, <breath>, and <throatclear> all get interpreted by the SDK during synthesis.
  • language - 31 codes plus na (an unknown/fallback catch-all). Defaults to en.
  • voice_style - ten presets: M1โ€“M5 (male), F1โ€“F5 (female).
  • speed - 0.5ร—โ€“2ร—, and this is native tempo set during synthesis, so it's model-aware and clean. It's the right way to speed a line up.
  • steps - the diffusion step count, 5โ€“12 with 8 the default. The tooltip says it plainly: 5 is fast, 8 is the sensible default, 12 is max smoothness for a longer render.

Two optional inputs worth knowing: custom_style_path takes an absolute path to a Supertonic voice-style .json (exportable from Supertone's own Voice Builder) and overrides the voice_style dropdown entirely - if the path is wrong you get a console warning and a fallback to the preset, not a crash. And verbose dumps synthesis details to the console when you're debugging.

Output and where it goes

You get a standard ComfyUI AUDIO - the same {waveform, sample_rate} contract the whole ecosystem uses - so it plugs straight into Preview Audio, Save Audio, or this pack's own Supertonic Effects for trim/pitch/chorus cleanup. Empty text is handled gracefully: instead of erroring, it returns one second of silence.

The workflow shape

The fastest loop is Loader โ†’ SupertonicTTS โ†’ Preview Audio. Add Effects between TTS and Preview when the line needs normalizing or a deeper voice, and remember the two speed knobs are different tools: TTS speed is clean and model-aware, while Effects time_stretch is a post-hoc phase vocoder that smears at extremes. Combined, effective tempo โ‰ˆ speed ร— time_stretch.

Install

Via ComfyUI Manager (search "Supertonic"), or:

cd ComfyUI/custom_nodes
git clone https://github.com/Anonymzx/ComfyUI-Supertonic3TTS.git
pip install -r ComfyUI-Supertonic3TTS/requirements.txt

restart, and it's under audio/Supertonic. First run downloads the ~400MB model, handled by the Loader.

Where people get burned

Expecting cloning - it won't, don't fight it. Expecting instant output on a toaster - it's fast on CPU but the first synthesis still takes a beat, and cranking steps costs real time. And forgetting that the weights are OpenRAIL-M (Supertone) while only the code is MIT, which matters if you ever productize a workflow built on it. Otherwise this is one of the least painful TTS-on-CPU experiences you'll find in ComfyUI.

Categoryaudio/Supertonic

Inputs (8)

NameTypeDefaultDescription
modelSUPERTONIC_MODELโ€”
textSTRINGHello! <laugh> This is Supertonic-3 speaking.โ€”
languageCOMBOen32 options: en, ko, ja, ar, bg, cs, +26
speedFLOAT1.000.5โ€“2โ€”
stepsINT85โ€“12Diffusion steps. Higher = smoother, slower. 8 is a good default; 5 is fast, 12 is max quality.
voice_styleCOMBOM110 options: M1, M2, M3, M4, M5, F1, +4
custom_style_pathoptSTRINGAbsolute path to a custom voice style .json. If set, overrides the preset voice_style dropdown.
verboseoptBOOLEANfalseโ€”

Outputs (1)

NameTypeDescription
audioAUDIOโ€”