Nodes/KJNodes for ComfyUI/NormalizedAmplitudeToFloatList
ComfyUI Node Runs on cloud

NormalizedAmplitudeToFloatList

Turning a soundtrack into numbers ComfyUI can use

By kijai·Created 3 years ago·Updated about 18 hours ago· 2,930
NormalizedAmplitudeToFloatList
  • normalized_amp
  • FLOAT

This node is a bridge, and the pack says so directly: it exists to connect KJNodes to a separate, smaller pack called ComfyUI-AudioScheduler (by a1lazydog), which analyzes an audio file and produces amplitude data per frame. AudioScheduler's output type is NORMALIZED_AMPLITUDE - a custom type that nothing outside that pack understands. This node's whole job is to take that value and turn it into a plain FLOAT list any node in ComfyUI can consume - a strength schedule, a per-frame parameter, whatever you're driving with the beat.

The genre this belongs to is real but niche: audio-reactive generation, the kind of thing live-visual/VJ people have wanted out of ComfyUI as an open-source alternative to TouchDesigner-style reactive rigs. It's not mainstream tooling - you won't find it in most workflow tutorials - but if you're building something that pulses, zooms, or morphs to music, this is the on-ramp.

The input and output that matter

There's exactly one input and one output:

  • normalized_amp - a NORMALIZED_AMPLITUDE value, which only exists if you have AudioScheduler installed and wired up to analyze an audio source. Nothing native to ComfyUI or KJNodes alone produces this type.
  • Output: FLOAT - a plain float list, ready to feed into anything that accepts a numeric schedule.

How to install it

You need two packs, not one. KJNodes itself: ComfyUI Manager → search "KJNodes for ComfyUI" → install, or cd ComfyUI/custom_nodes && git clone https://github.com/kijai/ComfyUI-KJNodes, pip install -r ComfyUI-KJNodes/requirements.txt, restart. Then separately, a1lazydog/ComfyUI-AudioScheduler (also installable via Manager, or the same manual clone-and-restart pattern into custom_nodes) - without it, you'll never have a valid source to plug into normalized_amp in the first place. If the NORMALIZED_AMPLITUDE type isn't showing up as a connectable output anywhere in your graph, that's the tell that AudioScheduler isn't installed.

Common issues & troubleshooting

Nothing to connect to normalized_amp. This is almost always the missing-AudioScheduler problem above, not a bug in this node. Confirm the other pack is actually installed and its nodes are producing the amplitude analysis before troubleshooting anything downstream.

The float values feel too jumpy or too flat. That's tuned upstream, in AudioScheduler's own analysis node (frequency range, smoothing, and so on) - this bridge node doesn't do any shaping of its own, it just passes the numbers through in a format ComfyUI can use. If your reactive effect looks wrong, go fix the amplitude source first.

This is offline/pre-rendered audio, not a live mic feed. If you want your generation reacting to sound live rather than to a pre-analyzed audio file, you want a different node in this pack - Sound Reactive - which reads straight from your browser's microphone input instead of going through AudioScheduler at all.

CategoryKJNodes/audio

Inputs (1)

NameTypeDefaultDescription
normalized_ampNORMALIZED_AMPLITUDE

Outputs (1)

NameTypeDescription
FLOATFLOAT