Supertonic Text-to-Speech ๐ฃ๏ธ
Supertonic-3 TTS Inside ComfyUI
- model
- audio
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 plusna(an unknown/fallback catch-all). Defaults toen.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.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| model | SUPERTONIC_MODEL | โ | |
| text | STRING | Hello! <laugh> This is Supertonic-3 speaking. | โ |
| language | COMBO | en | 32 options: en, ko, ja, ar, bg, cs, +26 |
| speed | FLOAT | 1.000.5โ2 | โ |
| steps | INT | 85โ12 | Diffusion steps. Higher = smoother, slower. 8 is a good default; 5 is fast, 12 is max quality. |
| voice_style | COMBO | M1 | 10 options: M1, M2, M3, M4, M5, F1, +4 |
| custom_style_pathopt | STRING | Absolute path to a custom voice style .json. If set, overrides the preset voice_style dropdown. | |
| verboseopt | BOOLEAN | false | โ |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | โ |