Nodes/ComfyUI-AudioScheduler/Normalize Amplitude
ComfyUI Node

Normalize Amplitude

Get your curve into 0-to-1 so it can drive anything

By a1lazydog·Created 3 years ago·Updated 2 years ago· 112
Normalize Amplitude
  • amplitude
  • normalized_amp
invert_normalizedfalse

Most parameters you want to drive with audio live in a 0-to-1 world - ControlNet strength, denoise, weight schedules. Raw amplitude from BatchAmplitudeSchedule does not. NormalizeAmplitude is the step that reconciles them: it divides the whole amplitude series by its maximum, so the loudest moment becomes exactly 1.0 and everything else scales proportionally. Output is the pack's NORMALIZED_AMPLITUDE type, and nearly every "drive a generation with music" workflow passes through here.

It's also the gate to the pack's fancier consumers: GateNormalizedAmplitude, NormalizedAmplitudeToNumber, NormalizedAmplitudeToGraph, and the marquee NormalizedAmplitudeDrivenString all expect normalized input. You can think of it as the pack's "make it a 0–1 signal" utility, which is why it shows up in the README's basic example before anything interesting happens.

The one knob that matters

  • invert_normalized (optional, default false) - flips the curve with 1 - value, so it's highest when the audio is quietest.

That inversion is a quiet superpower and the README's "two amplitude" example is built on it: run one normalized curve into positive conditioning and the inverted one into negative conditioning, and a single track drives two opposite animations - when the music is loud the first one pushes, when it drops the second takes over. Cheap, no extra audio analysis, and it's the kind of trick that makes audio-reactive work feel alive.

Input: amplitude (AMPLITUDE). Output: normalized_amp (NORMALIZED_AMPLITUDE).

Gotchas

Normalization divides by the global max, so one loud hit shrinks everything else on the curve. If your track has a single enormous transient and the rest is quiet, normalize and you'll get a mostly-flat signal - tame the spikes first with ClipAmplitude or smooth them with TransientAmplitudeBasic, then normalize. Also, because values land in 0–1, any downstream INT conversion truncates to zero; if you need integers, scale up before converting.

Install with the pack: ComfyUI Manager search ComfyUI-AudioScheduler, or git clone https://github.com/a1lazydog/ComfyUI-AudioScheduler into custom_nodes and restart. No models, no VRAM - it's a divide and a subtract.

CategoryAudioScheduler/Amplitude

Inputs (2)

NameTypeDefaultDescription
amplitudeAMPLITUDE
invert_normalizedoptBOOLEANfalse

Outputs (1)

NameTypeDescription
normalized_ampNORMALIZED_AMPLITUDE