VoiceBridge SRT Splitter
The node that turns 'any TTS' into a real option
- texts
- srt_items
- count
VoiceBridge's headline trick is that you're not locked into its bundled Qwen3-TTS. The README is explicit: Load SRT → SRT Splitter → any 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(aVB_SRT_ITEMSobject) - 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 intoVoiceBridge Audio List Merger by SRTso 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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| srt_string | STRING | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| texts | STRING | — |
| srt_items | VB_SRT_ITEMS | — |
| count | INT | — |