AudioData to Amplitude Graph
The frequency sweep — not the time curve, despite the name
- audio
- graph_image
Careful - this node's name sounds like the rest of the pack, but it answers a different question. AudioToAmplitudeGraph doesn't give you amplitude over time; it gives you amplitude over frequency. It takes AUDIO_DATA (from AudioToAudioData), runs one FFT over the whole file, and plots how much energy sits at each frequency within a band you choose. The x-axis is Hz, not frames. It's a spectral snapshot of the track, not the time-varying envelope that BatchAmplitudeSchedule produces.
If that distinction isn't obvious yet, here's why it matters: this is the node you use to decide your band ranges. Before you ask BatchAmplitudeSchedule to track "the kick," you want to know where the kick actually lives in this particular track. Run AudioToAmplitudeGraph, look at the peaks, and set lower_band_range/upper_band_range to cover the instrument you care about - kick drum energy clusters low (roughly 50–100 Hz), hi-hats shimmer high (5 kHz and up), vocals and guitars sit mid. Guessing band ranges blind is the most common reason an audio-reactive curve comes out flat; this node removes the guessing.
Inputs
- audio (
AUDIO_DATA) - fromAudioToAudioData. - channel (default 0) - which channel to analyze; with the pack's effectively-mono handling, 0 is what you'll use.
- lower_band_range (default 500) / upper_band_range (default 4000) - the frequency window to plot. Keep lower below upper.
Output: graph_image (IMAGE) - wire it into PreviewImage.
Gotchas
The graph is a static per-file render: one FFT, one image, one run - not a live spectrum analyzer, and not frame-accurate to your animation timing. If you came looking for the time-domain curve, that's BatchAmplitudeSchedule. And since it renders the whole file's spectrum, short band windows are fine, but keep the window wide enough to actually contain your instrument or the plot will look empty.
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 - just an FFT and a matplotlib render.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| audio | AUDIO_DATA | — | |
| channel | INT | 00–24 | — |
| lower_band_range | INT | 5000–100000 | — |
| upper_band_range | INT | 40000–100000 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| graph_image | IMAGE | — |