🫨 Audio Latent Wobble (S42)
Make your image or video latent throb to the music — no audio VAE required
- latent
- LATENT
Now this one's fun, and it's also the rare audio node in this pack that works with machinery you already own. AudioLatentWobble takes an ordinary image or video latent - the kind any normal VAE produces - and pulses one of its channels in time with an audio curve. No audio VAE, no silent-latent traps, just beat-reactive distortion before your sampler runs. That's the whole trick: it doesn't touch audio at all, it uses an audio-derived curve to deform visual latents.
You feed it four things:
latent- an image latent (4DB,C,H,W) or video latent (5DB,C,F,H,W) from any VAE encode.audio_curve- connect a bass, mid, or treble curve fromS42_AudioFrequencyExtractor. Bass makes the kick drum drive the wobble; treble makes it twitchy and hi-hat driven. Your choice of band changes the feel completely.intensity(0–5, default 0.5) - how hard the beat multiplies the channel. The effect ischannel *= 1 + (energy × intensity), so 0.5 is a gentle pulse and 3+ is where things visibly distort.channel_offset(0–15, default 0) - which latent channel gets hit. The tooltip's framing is right: different channels control different structural or color elements, so this is a "try each and see what moves" dial.
The mechanism adapts to your latent's shape, which is a genuinely nice touch. For a 4D image latent it takes the average energy across the whole clip and applies it once - your image latent pulses uniformly. For a 5D video latent it samples the curve per frame, so each frame gets the energy of the audio moment it lands on - that's the one that makes footage visibly breathe with the music.
Because this multiplies a channel in latent space before sampling, the result is not predictable like a filter. You won't be able to say "this channel controls brightness" with confidence - latent channels encode a messy mixture of semantics, and the tooltip admits as much. Expect to sweep channel_offset and find that one setting does something lovely and the rest do nothing visible. That's normal, not a bug.
It lives under the Experimental category for a reason. The pack author is clearly exploring audio-reactive generation, and this is the most usable fruit of that exploration: cheap, deterministic, and it doesn't require you to own any audio model beyond a waveform. It's the node I'd start a "beat-reactive music video" experiment with.
Installing it
Standard S42-CutFlow install: ComfyUI Manager → search "S42 CutFlow" → Install → restart, or:
cd ComfyUI/custom_nodes
git clone https://github.com/GeekyGhost/S42-CutFlow.git
pip install -r S42-CutFlow/requirements.txt
Only hard dependency is opencv-python-headless; the wobble math is pure torch. Look for the "[S42 CutFlow] Loaded ..." console line after restart.
Where you'll use it
Right after a VAE Encode, before the KSampler, with a Frequency Extractor's bass curve wired in. Pick a channel, pick an intensity, and let the kick drum push the latent around. It's experimental, results vary, and it's one of the few genuinely novel things in the pack.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| latent | LATENT | Image or Video latent to be modulated. | |
| audio_curve | FLOAT | Connect the bass, mid, or treble curve from the Frequency Extractor. | |
| intensity | FLOAT | 0.50–5 | How intensely the beat distorts the latent channels. |
| channel_offset | INT | 00–15 | Which latent channel to target. Different channels control different structural or color elements. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| LATENT | LATENT | — |