Input node

LFO

Deterministic low-frequency oscillator with 7 waveforms — sine, cosine, triangle, sawtooth, square, sample & hold, smooth noise. The value is a pure function of the shared patch clock: equal settings always produce identical output.

Inputs

PortTypeDefault
WaveformThe shape of the modulation: sine, triangle, sawtooth, square, sample and hold, smooth noise or cosine. Values outside the list give a sine.int0
Rate ModeWhether the speed is typed as a frequency in Hz or as a period in seconds. Anything other than Period is read as Frequency.int0
FrequencyCycles per second, used in Frequency mode. Not clamped: 0 freezes the value, negatives run the wave backwards, and past about 30 the motion is faster than the frame rate.float1.0
PeriodSeconds for one full cycle, used in Period mode. Not clamped; negatives run backwards and a period of practically zero freezes the output.float1.0
AmplitudeHow far the value swings around the Offset. Any value works; negatives simply invert the wave.float1.0
OffsetThe center the wave swings around — the value you get at rest. Any value works, so this is where you place the modulation in the target's range.float0
PhaseShifts where in the cycle the wave starts, in degrees. Any value works and wraps every 360; use 90 to turn a sine into a cosine.float0
ShapePulse width for the square, or lean for the triangle — 0.5 is symmetric. Clamped to 0.001…0.999, and only used by those two waveforms.float0.5
ModeLoop runs forever, Once plays a single one-shot and holds, Ping-Pong mirrors every second cycle. Values outside the list run as Loop.int0
RestartA rising edge replays the one-shot from the start. Only Once mode uses it; Loop and Ping-Pong never need retriggering.boolfalse
Time SourceInternal follows the shared patch clock, so identical settings always agree. External uses your own clock cable, and Free glides smoothly through live rate changes at the cost of lock.int0
TimeYour own clock in seconds, used only with Time Source set to External. Any value works — scrubbing it or running it backwards behaves correctly.float0
UnipolarOn, the wave rides from Offset up to Offset plus Amplitude instead of swinging both ways — the right choice for sizes, opacities and anything that must not go negative.boolfalse

Outputs

PortType
Valuefloat
PhaseShifts where in the cycle the wave starts, in degrees. Any value works and wraps every 360; use 90 to turn a sine into a cosine.float
Cycleint
Triggerbool

How It Works

With the default Internal time source the LFO computes cycles = patchTime × frequency and derives the waveform value from that — no per-node state, no drift. Two LFOs with the same settings agree exactly forever; a Sine + Cosine pair from two separate nodes draws a mathematically true circle. External mode uses any float as the absolute clock (audio position, EEG time — scrubbing behaves correctly); Free (Glide) opts into per-node phase accumulation for performance-style rate morphing.

Use Cases

  • Breathing visuals — drive Scale or Opacity of any generator with a slow sine.
  • Circular motion — Sine → X, Cosine → Y with identical settings: a perfect circle.
  • Rhythmic triggers — the one-frame Trigger pulse per cycle chains into Counter / Do Once / Integrator.
  • Stepped randomness — Sample & Hold and Smooth Noise levels come from per-cycle hashes, so patterns replay identically.

Open LFO in the interactive catalog →

LFO is one of 381 nodes in Grafit Pro.

Free download. Every feature for 7 days, no card. Then €99.99 once — or keep playing your projects as a Player.

More Input nodes