InvSinWave π π π
The inverse sine oscillator β your value starts low, rises, and falls like a swell
- FLOAT
- INT
InvSinWave is the inverted member of FizzNodes' sine pair. Same wave family, opposite starting direction: where plain SinWave begins its cycle mid-swing, InvSinWave starts low, rises to its peak, and settles back - a swell shape that's useful for anything that should "grow in" rather than hit the ground running. Think a zoom that starts gentle, a brightness that builds, or an effect that fades in and out on a loop.
The formula is a negated sine:
y_translation + amplitude * -(sin(-(2Ο * current_frame / phase - x_translation)))
which, negatives canceling, reads as a sine shifted by half a phase. With the defaults (y_translation 0.5, amplitude 0.5) the output starts near 0, climbs to 1, drops through 0, and repeats - the mirror of SinWave's start.
Inputs are the standard wave set: phase (frames per full cycle), amplitude (how far the value swings), x_translation (horizontal phase shift), y_translation (the center the wave oscillates around), and current_frame (your frame counter, typically wired from your animation loop). Outputs are FLOAT and INT - the same value, with INT being the truncated float. These are single values per frame, so you'd drive a per-frame parameter directly.
The honest take
The FizzNodes wave nodes are all variations on one theme, and honestly the difference between SinWave and InvSinWave is a phase shift you could do yourself with an offset. Where they shine is convenience and clarity: grabbing "start low" from the menu instead of reasoning about offsets mid-graph, and pairing them so two values peak at opposite times without math nodes. If that's your situation, this is a fine pick. If you need the standard sine phase, that's SinWave; if you want a sharper pulse, AbsSinWave gives you the rectified shape. Same console-printing quirk as the rest of the family - each run prints its output, so expect some terminal noise.
Install
cd ComfyUI/custom_nodes && git clone https://github.com/FizzleDorf/ComfyUI_FizzNodes.git
cd ComfyUI_FizzNodes && pip install -r requirements.txt
Or install "FizzNodes" via ComfyUI Manager and restart. No model downloads - it's a single numpy expression.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| phase | FLOAT | 10β9999 | β |
| amplitude | FLOAT | 0.50β9999 | β |
| x_translation | FLOAT | 00β9999 | β |
| y_translation | FLOAT | 0.500β9999 | β |
| current_frame | INT | 10β9999 | β |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| FLOAT | FLOAT | β |
| INT | INT | β |