Nodes/FireRedAudio · T8star-Aix/FireRedAudio 局部修复范围 · T8star-Aix
ComfyUI Node

FireRedAudio 局部修复范围 · T8star-Aix

Cut out the flub without touching the rest of the take

By T8mars·Created 19 days ago·Updated 15 days ago· 21
FireRedAudio 局部修复范围 · T8star-Aix
  • audio
  • 原版 A
  • 待编辑片段
  • 局部修复计划
  • 范围报告
range_modemanual
start_seconds0.00
end_seconds5.00
range_index1
context_ms250
locator_json

Every long recording has one bad stretch - a mispronounced word, a stumble, a cough over the good line. The instinct is to re-record the whole take and lose the 95% that was fine. The local-repair chain exists so you don't: T8_FireRedAudio_LocalRepairRange cuts exactly the bad region out of the original (non-destructively), hands you the clip plus a plan that locks in the source and the exact replacement frames, and the edit/apply nodes handle the rest.

What it does

Feed it the audio, then choose where the problem is. range_mode defaults to manual: type start_seconds and end_seconds (a default of 0→5, which is really just "pick a spot"). Or switch to locator_json, paste the structured JSON from a LongLocator run, and use range_index to pick which located segment you want - useful when you found the flub by searching the long recording rather than scrubbing.

Two outputs go downstream, and the design here is the interesting part:

  • repair_clip - the cut segment, including context_ms (default 250) of audio on both sides. The context isn't decoration: the edit model needs surrounding speech to understand what it's fixing, and the whole context goes into the edit pass. The replacement later blends over the full context region, not just the flagged frames.
  • repair_plan - an immutable T8_FIREREDAUDIO_LOCAL_REPAIR_PLAN carrying the source path, the exact replacement frame range, and the source's SHA-256. This is the contract that makes the later apply step safe: it knows precisely where to splice and can verify it's splicing the same file it cut from.

You also get original_audio (A) passed through untouched and a range_report describing what was selected. From here: edit repair_clip with SpeechEdit (semantic) or AcousticEdit (knobs), then feed the edited clip + plan into LocalRepairApply.

Why context + plan beats "just crop"

A plain crop would give you a silent hole and no way to prove you didn't mangle the source. This chain does the DAW-equivalent of: mark the region, keep handles on both sides, and remember exactly what you cut from so the return trip can verify integrity. That's the difference between "I fixed a line" and "I can show the client the fix didn't touch anything else."

Inputs and outputs that matter

  • audio - the source. Required.
  • range_mode - manual or locator_json.
  • start_seconds / end_seconds (manual) or range_index (locator mode, 1-based).
  • context_ms - the side padding sent into the edit model.
  • Outputs: original_audio, repair_clip, repair_plan, range_report.

Install

Pack install:

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 for the cut itself - that comes when you wire the clip into an edit node (which wants the full model profile).

Gotchas

In locator_json mode, a blank or malformed JSON is a hard error, not a silent fallback to manual - the node would rather you notice than guess. And think about context_ms as a quality dial: too little (0) and the edit model has no idea what's around the flub; too much (5000) and you're regenerating a huge region, slower and riskier. The 250ms default is the sensible middle. Also remember the plan is keyed to the source's SHA-256 - move or re-save the source after cutting, and the apply step will (correctly) refuse to splice into a file it doesn't recognize.

CategoryT8star-Aix/Audio/FireRedAudio

Inputs (7)

NameTypeDefaultDescription
audioAUDIO
range_modeCOMBOmanual2 options: manual, locator_json
start_secondsFLOAT0.000–86400
end_secondsFLOAT5.000.01–86400
range_indexINT11–100
context_msINT2500–5000
locator_jsonoptSTRING

Outputs (4)

NameTypeDescription
原版 AAUDIO
待编辑片段AUDIO
局部修复计划T8_FIREREDAUDIO_LOCAL_REPAIR_PLAN
范围报告STRING