Nodes/ComfyUI_Fill-Nodes/FL Audio Reactive Speed
ComfyUI Node

FL Audio Reactive Speed

Let the beat control playback speed

By filliptm·Created 3 years ago·Updated about 10 hours ago· 628
FL Audio Reactive Speed
  • frames
  • mask
  • frames
envelope_json
base_speed1.00
speed_intensity0.50
interpolationbilinear
invertfalse

The "speed-ramps on the beat" effect you see in a lot of edited music content: instead of a constant playback rate, this node time-remaps your frame sequence so moments with a strong envelope value play faster (or slower) than quiet moments - with genuine frame interpolation, not just raw frame repeats or skips, so the result doesn't stutter.

How it works

It builds a cumulative speed multiplier from envelope_json across the clip, then resamples the frame sequence along that time-warped timeline using your chosen interpolation method. Because the remapping is cumulative rather than per-frame-independent, a sustained loud section compounds into a genuinely faster stretch of footage rather than isolated single-frame jumps - closer to how a human editor would speed-ramp a clip by hand than to a simple frame-doubling trick.

The inputs and outputs that matter

Required: frames, envelope_json.

Optional: mask; base_speed (0–3, default 1 - the resting playback multiplier before any envelope is applied); speed_intensity (-3 to 3, default 0.5 - how much the envelope swings speed; negative values mean hits slow the footage down instead of speeding it up, for a "hit and hang" feel rather than a rush); interpolation (bilinear/bicubic/nearest, default bilinear - nearest is cheapest and blockiest, bicubic smoothest and slowest); invert.

Output: frames - and worth knowing up front: because this genuinely time-remaps the clip, your output frame count generally won't equal your input frame count 1:1. Plan the rest of your pipeline (audio sync, final export length) around that instead of assuming a passthrough.

How to install it

ComfyUI Manager: search ComfyUI_Fill-Nodes, install, restart. Or:

cd ComfyUI/custom_nodes
git clone https://github.com/filliptm/ComfyUI_Fill-Nodes

then restart. No extra dependency for this node - the resampling is standard torch interpolation.

Common issues & troubleshooting

Output looks jittery or warped. Try bicubic instead of nearest, or dial back how extreme speed_intensity is - large swings between successive frames' effective speed are harder to interpolate cleanly, and nearest in particular has no smoothing to hide the seams.

Video no longer matches the audio's length. That's expected, not a bug - this node deliberately changes effective playback duration. If you need the video to stay locked to the original audio's length exactly, this isn't the right tool; it's built for creative speed-ramping, not duration-preserving effects.

Effect feels backwards - quiet sections speed up instead of loud ones. Check speed_intensity's sign and invert together; with a negative speed_intensity, louder envelope values push speed down, which is the intended "hit and freeze" mode rather than a bug, but it's easy to leave that setting from a previous experiment and get confused by the result.

Category🏵️Fill Nodes/Audio

Inputs (7)

NameTypeDefaultDescription
framesIMAGE
envelope_jsonSTRING
maskoptIMAGE
base_speedoptFLOAT1.000–3
speed_intensityoptFLOAT0.50-3–3
interpolationoptCOMBObilinear3 options: bilinear, bicubic, nearest
invertoptBOOLEANfalse

Outputs (1)

NameTypeDescription
framesIMAGE