Nodes/ComfyUI-speech-dataset-toolkit/SileroVAD Timestamp Property
ComfyUI Node

SileroVAD Timestamp Property

Pull the actual start/end seconds out of a VAD segment

By kale4eat·Created 2 years ago·Updated about a year ago· 23
SileroVAD Timestamp Property
  • timestamp
  • start
  • end

The number-extraction node at the end of the Silero VAD chain. SDT_SileroVADLoaderSDT_SileroVADApplySDT_SileroVADListTimestamps all hand you increasingly refined but still opaque VAD objects - this is where you finally get plain floats you can wire straight into a trim node. It mirrors SDT_FasterWhisperSegmentProperty on the Whisper side of this pack.

How it works

It takes one SILERO_VAD_TIMESTAMP item - typically one iteration out of a loop driven by SDT_SileroVADListTimestamps - and returns its start and end boundaries as two separate FLOAT values, in seconds.

The inputs and outputs that matter

  • timestamp (SILERO_VAD_TIMESTAMP, required) - a single segment, not the whole collection.
  • start and end (outputs, both FLOAT) - the segment's boundaries in seconds, ready to feed straight into start_second/end_second on SDT_TrimAudio or SDT_CutAudio.

A concrete pipeline that leans on this node: SDT_SileroVADApplySDT_SileroVADListTimestamps looped → this node → SDT_TrimAudio (or SDT_TrimAudioBySample if you want sample-exact cuts) → SDT_SaveAudioWithSequentialNumbering. That's the whole "turn one long recording into a folder of individually-saved speech clips" pattern, and this node is the joint that connects a VAD detection to an actual seconds-based edit.

How to install it

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

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 dependency for this node specifically - the onnxruntime requirement from Silero VAD sits on SDT_SileroVADLoader, several steps upstream of this one.

Both outputs are plain seconds, the same unit SDT_TrimAudio, SDT_CutAudio, and SDT_SilenceAudio all use for their own start/end fields - that consistency across the pack is deliberate, and it's why this node hands back seconds rather than samples even though the underlying VAD detection works internally on model-analysis windows, not raw seconds.

Common issues & troubleshooting

Type error feeding this the whole timestamps bundle. This node wants a single SILERO_VAD_TIMESTAMP, not the full SILERO_VAD_TIMESTAMPS collection - that's what SDT_SileroVADListTimestamps is for, upstream of this.

Numbers look right but the resulting trim is off. Double-check you're trimming the original clip VAD actually ran against, not a resampled or already-edited version - these second-based boundaries were computed against one specific audio source and won't line up against another.

You actually want one merged speech-only clip, not per-segment slices. Skip the per-segment extraction entirely and use SDT_SileroVADCollectChunks instead - it goes straight from the timestamps bundle to a single concatenated clip.

Categoryspeech-dataset-toolkit/ai/SileroVAD

Inputs (1)

NameTypeDefaultDescription
timestampSILERO_VAD_TIMESTAMP

Outputs (2)

NameTypeDescription
startFLOAT
endFLOAT