Nodes/ComfyUI-VoiceBridge/VoiceBridge SRT Splitter
ComfyUI Node

VoiceBridge SRT Splitter

The node that turns 'any TTS' into a real option

By YanTianlong-01·Created 7 months ago·Updated 3 months ago· 11
VoiceBridge SRT Splitter
    • texts
    • srt_items
    • count
    srt_string

    VoiceBridge's headline trick is that you're not locked into its bundled Qwen3-TTS. The README is explicit: Load SRT → SRT Splitterany TTS node → Audio List Merger by SRT, where "any" means anything that takes a STRING and returns an AUDIO - Qwen3-TTS, VoxCPM, Fish Audio S2, LongCat-AudioDiT, CosyVoice, you name it. This node is what makes that promise technically real. It's the bridge that takes one SRT file and hands a TTS model a list of sentences, one at a time.

    How it works

    Feed it an SRT string (srt_string) and it parses the subtitle entries, then hands back three things:

    • texts (a LIST of strings) - one entry per subtitle, the actual sentence text. This is the load-bearing output. Because it's a native ComfyUI list, any downstream node connected to it gets executed once per sentence, automatically. No custom loop nodes, no batch hacks - ComfyUI's built-in list-iteration does the work. That's the mechanism behind "plug in any TTS."
    • srt_items (a VB_SRT_ITEMS object) - the metadata: (index, start_ms, end_ms, text) for every subtitle. This isn't meant to be read by you; it's a handle you feed into VoiceBridge Audio List Merger by SRT so it knows the original timing when it reassembles the per-sentence audio.
    • count (INT) - how many subtitle entries were parsed. Handy for sanity-checking that your SRT actually parsed the way you think.

    The splitter is strict where it needs to be: an empty or unparseable SRT raises a clear error rather than silently doing nothing. So it's also a decent validation node if you're hand-pasting subtitles.

    Inputs

    Just the one: srt_string, a multiline STRING that accepts pasted text or a wired connection from VoiceBridge Load SRT (or Generate SRT). That's it - no knobs, no settings, nothing to get wrong.

    Installing it

    Part of the comfyui_voicebridge pack. ComfyUI Manager search "VoiceBridge", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/YanTianlong-01/comfyui_voicebridge.git
    cd comfyui_voicebridge
    pip install -r requirements.txt
    

    Restart ComfyUI. No model downloads here - this node is pure parsing, so it's cheap and fast.

    The catch to know about

    The magic of list-iteration cuts both ways. Every TTS node downstream runs once per sentence, which means a 200-subtitle file triggers 200 TTS calls - slow on big files, and a VRAM-budget question if your TTS model is large. That's exactly why the pack also ships SRT To Audio (the bundled, batched, one-node path) for when you don't need to bring your own TTS. Start with the splitter when you want a specific third-party voice; drop back to the monolith when you just want it done. Both roads converge on Audio List Merger by SRT (or SRT To Audio's own merge step) to stitch the sentences back together in sync with the original timing.

    CategoryVoiceBridge

    Inputs (1)

    NameTypeDefaultDescription
    srt_stringSTRING

    Outputs (3)

    NameTypeDescription
    textsSTRING
    srt_itemsVB_SRT_ITEMS
    countINT