Nodes/TTS Audio Suite/๐Ÿท๏ธ Multiline TTS Tag Editor
ComfyUI Node

๐Ÿท๏ธ Multiline TTS Tag Editor

A smart script box for character, language and pause tags

By diodiogodยทCreated 12 months agoยทUpdated 17 days agoยท 1,098
๐Ÿท๏ธ Multiline TTS Tag Editor
    • text
    โ—„textโ–บ

    Once your TTS script grows past a couple of lines - a narrator, two characters, a language switch here, a pause there, a fixed seed on the segment you liked - a plain text box becomes a place to make typos. This node is the fix: a proper multiline editor with tag awareness built in. It's where you write the script, and it hands the finished text to a TTS Text or TTS SRT node.

    Here's the thing that confuses people looking at its inputs: the node's data contract is dead simple - text in, text out. All the intelligence lives in the editor widget itself, in the ComfyUI canvas. So don't expect a wall of parameters here; the point is what you can do inside the box.

    How it works

    The suite drives everything through inline tags in your text: [Alice] and [Bob] for characters, [de:Alice] for language switches, [pause:1s] for timing, <emotion:happy> and friends for engine-specific effects, [Alice|seed:42|temp:0.5] for per-segment parameter overrides. That's a lot of syntax to remember and get right. This editor gives you dropdowns and click-to-insert palettes for characters, languages, parameters, and native inline tags, with validation that catches broken syntax as you type. It's engine-aware, too - it has dedicated modes for Step Audio EditX, Higgs Audio v3, CosyVoice3, and OmniVoice so it inserts the right tag flavor for the engine you're targeting.

    Beyond tags, it's just a nicer place to type: resizable fonts, undo/redo history, keyboard shortcuts (Alt+L/C/P to insert tags, Alt+1/2/3 to load presets), and up to three saved presets for scripts you reuse.

    The inputs and outputs that matter

    There's exactly one field and one output, and that's the point:

    • text - your script. Everything meaningful happens in the editor UI attached to this field, not in a pile of separate inputs.
    • text (output) - the same string, ready to wire into the text input of ๐ŸŽค TTS Text, ๐Ÿ“บ TTS SRT, or any node that consumes a script.

    That's it. It's a convenience layer, not a processing node - it doesn't transform your text, it just makes it far easier to author correctly.

    Installing it

    Comes with the pack. ComfyUI Manager โ†’ search "TTS Audio Suite" โ†’ install โ†’ restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/diodiogod/TTS-Audio-Suite.git
    cd TTS-Audio-Suite
    python install.py
    

    No model downloads - it's a pure UI node, so it loads instantly once the pack is installed. Restart ComfyUI and look for it under the string utilities.

    Common issues & troubleshooting

    The fancy editor doesn't show up. This node's value is entirely in its custom frontend widget. If you see a plain text box instead of the rich editor with dropdowns, your ComfyUI frontend didn't load the pack's JavaScript - do a hard browser refresh (Ctrl+Shift+R), and if that fails, restart ComfyUI so the web assets register. Custom-node UI not loading is almost always a stale browser cache or a frontend that didn't pick up the extension.

    A tag isn't doing anything downstream. The editor helps you write valid tags, but whether a tag works depends on the engine you feed the text into - a <emotion:...> tag means nothing to an engine that doesn't support it. Match the editor's engine mode to the engine node you're actually using.

    Presets vanished. The three preset slots are per-node; they save with your workflow, so a fresh graph starts empty. Save your workflow to keep them.

    Categoryutils/string

    Inputs (1)

    NameTypeDefaultDescription
    textSTRINGโ€”

    Outputs (1)

    NameTypeDescription
    textSTRINGโ€”