TS Audio Preview
Audition audio in the graph before you commit to a file
- audio
The most annoying thing about audio in ComfyUI isn't generating it - it's hearing it before you save it. TS Audio Preview fixes that specific pain: you feed it an AUDIO input from anything upstream (a TTS node, a stem split, a processed voiceover) and it gives you the same waveform UI as TS Audio Loader, with playback, looping, and crop ranges, all without writing a file to disk.
It's the output node for the audio half of the pack. Run a TS Silero TTS or a music-stems split, wire the result into this, and audition it in place. It's the audio equivalent of the "preview before you spend the encode" habit - cheap to run, saves you from generating a file and discovering the pacing is wrong.
How it works
It's a preview node in the truest sense: no model, no processing. It takes the AUDIO tensor in, decodes it for the waveform display, and plays it back with the standard controls. Because the UI state persists, your crop and playback position survive across runs and reloads - you can scrub, loop a section, and come back to the same spot later. The preview_state_json input is that persisted UI state, managed by the node itself rather than something you need to touch.
The crop controls here (crop_start_seconds / crop_end_seconds) are for auditioning - they let you focus your listening on a segment. They don't rewrite the audio that flows to anything downstream, because there is nothing downstream; this node sits at the end of the line.
What you need to know
audio- required input, a standard ComfyUIAUDIOobject. Wire it from any node that emits one.crop_start_seconds/crop_end_seconds- where in the clip you're listening.-1= full length.- No outputs. This is an output node, so it runs when the graph runs and shows its result in the UI.
Installing it
It ships with comfyui-timesaver. Easiest: ComfyUI Manager → search "Timesaver" → install → restart. Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/AlexYez/comfyui-timesaver
cd comfyui-timesaver
python -m pip install -r requirements.txt
Restart ComfyUI. Like the other audio nodes, it depends on the static ffmpeg binary from imageio-ffmpeg, which comes with the pack's requirements - so if playback ever fails with an ffmpeg error, that dependency is the first thing to check:
python -m pip install --upgrade imageio-ffmpeg
Use the same interpreter ComfyUI runs with (on the Windows portable build that's python_embeded\python.exe).
One honest caveat
Because the pack's audio nodes (including Whisper and the TTS path) are built for reliability over speed - and on Mac the whisper engine deliberately runs on CPU - the first time you audition a freshly generated track can feel slow. That's the decode plus model inference, not this node being broken. If you want the quickest possible sanity check of a clip that already exists, this node is exactly the right tool; just don't mistake upstream inference time for a hang.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO | Audio input to preview and audition. | |
| crop_start_seconds | FLOAT | 0.00 | Crop start time in seconds. |
| crop_end_seconds | FLOAT | -1.00 | Crop end time in seconds. Use -1 for full length. |
| preview_state_json | STRING | Persistent preview UI state. |
Outputs (0)
No outputs