Skip to content

    These docs are a work in progress. The software can already be useddownload WavePhase.

    Documentation

    Docs for WavePhase v0.9.3 · reviewed 2026-08-10

    A newer app release may have shipped since this review. These pages describe the latest public WavePhase release. If something looks different in your build, check for an app update.

    Nodes & Signals

    Logic, Math & Utility

    Between your sources and outputs sit the nodes that do the thinking — comparisons, gates, arithmetic, switches, and timing helpers that turn raw values into exactly the behaviour you want.

    Math

    Arithmetic

    Add, subtract, multiply, and divide values (F32 and I32). Scale a level, offset a position, mix two signals.

    Clamp

    Constrain a value to a min/max range so it never drives a fixture or visual out of bounds.

    Combine these to remap ranges — for example multiply a 0..1 level then clamp it to keep a fixture between a floor and ceiling brightness.

    Logic & comparison

    • Compare nodes test values (equals, not-equals, <, ≤, >, ≥) and output a Bool. Available for numbers, strings, and keys.
    • And / Or / Not combine boolean signals into gates and conditions.
    • If/Else picks between two inputs based on a boolean — available per type, so you can switch floats, ints, strings, or bools.

    Example

    "When a kick transient fires AND the high band is above 0.6, fire the strobe." That's a Pulse/Compare on the transient, a Compare (high > 0.6), an And, and a gate into the strobe.

    Worked gate

    Transient pulse AND high band > 0.6 into a strobe channel is a complete, deterministic accent.

    Switching & fan-out

    Switch

    Select one of several inputs by an integer index — route different values through depending on a counter, MIDI note, or button.

    Crossfade

    Smoothly blend between several float inputs using an index plus a fade amount, instead of hard-switching.

    Spread

    Fan one float out to many outputs with a staggered phase offset — the basis of chases and waves across fixtures.

    Counter

    Count up or down on rising-edge triggers, with min/max and optional wrap — perfect for stepping through cues or patterns.

    Timing & utility

    • Pulse Trigger — convert any rising edge (beat, transient, key change) into a clean pulse with an optional hold time.
    • Timer — fire on a regular interval with a hold duration.
    • Hold — keep a boolean high for a set time after it fires, so brief triggers stay on long enough to be seen.
    • Time Gate — rate-limit a value so it only updates at most every N milliseconds (available per type).
    • Lag / smoothing — ease a jumpy value into a smooth one, so fixtures glide instead of snapping.
    • Beat Counter — cycle 1..N over a bar to drive step patterns musically.

    Smoothing is your friend

    Raw audio is twitchy. A little lag/smoothing between a source and an output is often the difference between a nervous rig and a smooth, professional-looking one.

    Next: shape it over time

    For movement and modulation that runs on its own clock — LFOs and custom curves — continue to Animators & Curves.

    Was this page helpful?