Nodes/ComfyUI-speech-dataset-toolkit/faster-whisper List Segments
ComfyUI Node

faster-whisper List Segments

Turn a Whisper transcript into a list you can loop over

By kale4eat·Created 2 years ago·Updated about a year ago· 23
faster-whisper List Segments
  • segments
  • segments

SDT_FasterWhisperTranscribe hands you back a FASTER_WHISPER_SEGMENTS bundle - a single opaque object holding the whole transcript's worth of timestamped chunks. That's not something you can loop over or pick apart directly in a ComfyUI graph. This node is the unlock: it converts that bundle into an actual ComfyUI list of individual FASTER_WHISPER_SEGMENT items, which is what lets you fan out to per-segment processing downstream.

How it works

It's a thin conversion node - no transcription or audio processing happens here, it just takes the batched segment collection and exposes it as is_list: true on the output, which is ComfyUI's native mechanism for "run everything downstream of this once per item." Anything wired after this node runs once per segment rather than once for the whole transcript.

The inputs and outputs that matter

  • segments (input, FASTER_WHISPER_SEGMENTS) - straight from SDT_FasterWhisperTranscribe, nothing else produces this type.
  • segments (output, FASTER_WHISPER_SEGMENT, list) - feed this into SDT_FasterWhisperSegmentProperty to pull start/end/text out of each one individually. That's really the whole point of this node - it exists purely to bridge those two.

How to install it

ComfyUI Manager: search ComfyUI-speech-dataset-toolkit, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/kale4eat/ComfyUI-speech-dataset-toolkit
cd ComfyUI-speech-dataset-toolkit
pip install torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install -r requirements.txt

Nothing specific to this node - it's pure ComfyUI list plumbing, no ML dependency of its own beyond what SDT_FasterWhisperTranscribe already required upstream.

Common issues & troubleshooting

Downstream node runs once instead of once per segment. That usually means the list conversion didn't actually happen - double-check this node sits between SDT_FasterWhisperTranscribe and whatever's consuming individual segments, rather than feeding the raw FASTER_WHISPER_SEGMENTS bundle straight into something expecting a single FASTER_WHISPER_SEGMENT.

Only want the flat transcript text, not per-segment access. You don't need this node at all in that case - SDT_FasterWhisperTextFromSegments takes the same FASTER_WHISPER_SEGMENTS bundle straight from the transcribe node and gives you one joined string, no list conversion required.

Graph runs slowly with a long transcript. Once you've listed the segments, everything wired after this node executes once per segment - for a long recording with dozens or hundreds of segments, that's a lot of node executions if the downstream chain does anything heavier than reading properties. Worth knowing before you chain something expensive after this node.

It's easy to underrate how small this node's job is. There's no model, no audio math, nothing that could meaningfully go wrong on its own - the entire reason it exists is that ComfyUI's list/batch mechanism is a first-class thing nodes have to opt into, and SDT_FasterWhisperTranscribe deliberately doesn't, because most consumers of a transcript want the whole thing at once. This node is the seam between those two shapes, and once you've used it once, wiring it in becomes automatic every time you need per-segment output.

Categoryspeech-dataset-toolkit/ai/faster-whisper

Inputs (1)

NameTypeDefaultDescription
segmentsFASTER_WHISPER_SEGMENTS

Outputs (1)

NameTypeDescription
segmentsFASTER_WHISPER_SEGMENT