Nodes/ComfyUI-Keyframed/KfSinusoidalGetAmplitude
ComfyUI Node

KfSinusoidalGetAmplitude

The sine-curve attribute reader you didn't know you needed

By dmarx·Created 3 years ago·Updated 2 years ago· 92
KfSinusoidalGetAmplitude
  • curve
  • FLOAT

This node does one thing: it takes a SINUSOIDAL_CURVE and hands you its amplitude as a plain FLOAT. That's it. No curve comes out, no magic - a number in, a number out. It's the least glamorous node in the ComfyUI-Keyframed pack, and also the one that quietly unlocks the curve arithmetic system for you.

Here's the situation where it earns its keep. You have a sine curve driving a conditioning weight, and you want to know what its peak value actually is - either to sanity-check your design or to feed that number into another node. Or you want to scale a curve by a factor relative to its own amplitude, and to do that you need the number first. The keyframed library keeps curves as opaque objects; this node is how you reach inside one and pull out a plain float that any vanilla ComfyUI math can use.

How it works

Straightforward under the hood. In the keyframed library a SinusoidalCurve stores three attributes - wavelength, phase, and amplitude - and this node just returns curve.amplitude as the output float. No copy, no recalculation, nothing to get wrong.

It's one of a family of four attribute readers in the pack (the others pull out wavelength, phase, and frequency), and they're the bridge between the curve world and the rest of ComfyUI: once a value is a float, you can pipe it into anything that takes a float - batch math, a float-to-int, a comparison, a switch. The frequency reader computes 1/wavelength for you; this one is the most literal of the bunch.

Inputs and outputs

  • curve - a SINUSOIDAL_CURVE, forced as an input.

The single output is FLOAT. In practice: wire a sinusoidal constructor (or the output of an adjust node) into curve, then feed the float wherever you need a number. A natural use is checking your math - the entangled curve nodes deliberately keep individual amplitudes below their [0,1] name, and this node is how you confirm a specific curve's actual peak before you trust it in a conditioning mix.

Installing it

It ships with ComfyUI-Keyframed. ComfyUI Manager: search "ComfyUI-Keyframed". Or:

cd ComfyUI/custom_nodes
git clone https://github.com/dmarx/ComfyUI-Keyframed

Restart ComfyUI after. No models to download - the only dependency is the keyframed Python library, which the pack auto-installs on first launch (give it a minute; if pip is blocked, pip install keyframed by hand). It sits under keyframedsinusoidal. You won't build a workflow around this node - it's a helper you reach for when you need a number, and now you know it's there.

Categorykeyframed/sinusoidal

Inputs (1)

NameTypeDefaultDescription
curveSINUSOIDAL_CURVE

Outputs (1)

NameTypeDescription
FLOATFLOAT