nemo-asr Segment Property
Pull start, end, and text off one nemo-asr segment
- segment
- start
- end
- text
The field-reader for a single nemo-asr segment - same job SDT_KotobaWhisperSegmentProperty does for kotoba-whisper, applied to the ReazonSpeech nemo-asr side of this pack. Takes one opaque NEMO_ASR_SEGMENT (from SDT_NemoAsrListSegments) and gives you back the three plain values you actually want to use.
How it works
No processing - it reads three fields off the segment object and exposes them as separate typed outputs. Like its kotoba-whisper counterpart, this exists because the pack deliberately keeps its ASR nodes' raw outputs as structured, opaque types rather than bare values, and leaves unpacking them to small dedicated nodes like this one - the README is explicit that this pack doesn't include general string/numerical processing nodes, so this kind of direct field access is as far as it goes on its own.
The inputs and outputs that matter
segment(required,NEMO_ASR_SEGMENT) - one individual segment, typically wired fromSDT_NemoAsrListSegments's list output inside a for-each loop.start(output,FLOAT) - start time in seconds.end(output,FLOAT) - end time in seconds.text(output,STRING) - the transcribed text for that segment.
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
No extra dependencies - a plain field-reader, one of the lightest nodes in the pack.
Common issues & troubleshooting
Fed in a raw NEMO_ASR_SEGMENTS bundle and got a type error. This node wants one exploded NEMO_ASR_SEGMENT, not the bundle - run it through SDT_NemoAsrListSegments first.
Using start/end to cut matching audio slices. Same pattern as the kotoba-whisper side of this pack: these values are exactly what SDT_TrimAudio or SDT_CutAudio want for their start_second/end_second inputs. Pairing this against the same original clip is a straightforward way to slice a long recording into per-sentence dataset entries.
Timestamps aren't sample-exact when used to cut audio. Expected for any ASR model's segment boundaries - pad the cut range slightly if you need clean edges at the start or end.
Wanted token-level detail instead, not sentence-level. This node only reads segment-level fields. For token-level timing, token ID, and token text, use SDT_NemoAsrSubwordProperty against an item from SDT_NemoAsrListSubwords instead - a genuinely different granularity, not something this node exposes.
Comparing this node's output against the kotoba-whisper equivalent, SDT_KotobaWhisperSegmentProperty. They're deliberately identical in shape - both expose start, end, text off a single segment - which is consistent across every ASR family this pack wraps. That consistency is worth relying on: if you've already built a per-segment audio-slicing pipeline around one ASR model's segment property node, swapping in a different model later is mostly a matter of re-pointing the loader and transcribe nodes, not rebuilding the plumbing that consumes their output.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| segment | NEMO_ASR_SEGMENT | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| start | FLOAT | — |
| end | FLOAT | — |
| text | STRING | — |