FireRedAudio 定位证据片段/剪辑清单 · T8star-Aix
47' into listenable clips
- source_audio
- 首个证据片段
- 证据片段批次
- 剪辑清单 JSON
- Manifest 路径
LongLocator is great at telling you where things are in a two-hour recording - timestamps, a timeline, structured ranges. But a timestamp is not something you can audition, and it's certainly not something you can edit. T8_FireRedAudio_EvidenceClips is the bridge: it takes that locator JSON and actually cuts the source audio at those times, giving you listenable evidence clips, a cut list, and an AudioBatch you can keep building on.
What it does
You give it the original source_audio and the structured_json from a LongLocator run. It parses the ranges, cuts clips out of the source WAV (with padding_seconds of lead/trail around each range, default 0.25s), and writes them into ComfyUI/output/<subfolder>/<project_name>/ with a manifest. If the locator only gave you timestamps rather than full ranges, default_clip_seconds (8s) supplies the length. max_clips (20) caps the batch so you don't accidentally materialize 400 cuts.
Outputs: the first clip as native AUDIO (so you can preview immediately), the full evidence_batch, a cut_list_json describing every range, and the manifest path.
The key detail: the evidence batch is a real T8_FIREREDAUDIO_AUDIO_BATCH, which means it flows into the same downstream nodes as a dubbing batch. You can AudioBatchSelect a clip, audition it, wire it into TimelineRender, or feed it into a repair chain. The README calls out the intended loop: long recording → locate → cut evidence → audition → continue production. This node is the "cut evidence" step.
Why non-destructive matters here
Cutting clips here never modifies the source - it renders new WAVs from the ranges. That matters more than it sounds: evidence clips are exactly the kind of thing you'll want to re-cut with different padding later, and if the node had touched the source you'd have a second problem on top of the first. The manifest records the source path and ranges, so a re-run with different padding_seconds is cheap.
Inputs and outputs that matter
source_audioandstructured_json- both required. The JSON is thestructured_jsonoutput of LongLocator, though the parser is tolerant of any list/object with start/end times.padding_seconds,default_clip_seconds,max_clips- the three knobs you'll tune.project_name/subfolder- output location.- Outputs:
first_clip,evidence_batch,cut_list_json,manifest_path.
Install
Part of the comfyui-fireredaudio-T8 pack:
cd ComfyUI\custom_nodes
git clone https://github.com/T8mars/comfyui-fireredaudio-T8.git
cd comfyui-fireredaudio-T8
python scripts\setup_runtime.py
No model needed - cutting is pure file work. You only need the model for the upstream LongLocator that produces the JSON.
Gotchas
If the locator JSON has no recognizable start/end times, the node raises a clear error - check that you connected the right output (it wants the structured JSON, not the free-text answer). And a warning about expectations: evidence clips carry the source's original sample rate and channel count, and the timestamps are as good as the locator's segmentation - the pack is upfront that long-audio subtitles and ranges are segment-level approximations, not word-level forced alignment. For quick verification of what happened at 12:47, they're plenty. For frame-perfect edits, cut manually.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| source_audio | AUDIO | — | |
| structured_json | STRING | — | |
| project_name | STRING | evidence-project | — |
| subfolder | STRING | fireredaudio/evidence | — |
| padding_seconds | FLOAT | 0.250–10 | — |
| default_clip_seconds | FLOAT | 8.00.5–120 | — |
| max_clips | INT | 201–100 | — |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| 首个证据片段 | AUDIO | — |
| 证据片段批次 | T8_FIREREDAUDIO_AUDIO_BATCH | — |
| 剪辑清单 JSON | STRING | — |
| Manifest 路径 | STRING | — |