Visualizations
Audio-reactive visual effects
Visualizations react to your music in real-time. Add them to any pattern or sound.
Kaleidoscope
GPU-powered kaleidoscope with 8 distinct modes:
|> kaleidoscope(global: true)
|> kaleidoscope(mode: "spiral", arms: 4, global: true)Modes
| Mode | Best For | Description |
|---|---|---|
classic | General purpose | Psychedelic patterns with organic blobs |
spiral | Ambient, drones | Rotating logarithmic spiral arms |
prism | Leads, melodic | Geometric facets with light refraction |
bloom | Slow builds, intros | Organic flower-like expansion |
tunnel | Rhythmic, builds | Depth perspective with moving rings |
fractal | Experimental | Self-similar recursive patterns |
plasma | Bass-heavy | Fluid lava-lamp interference |
starburst | Drops, climaxes | Radiating lines from center |
Common Parameters
All modes support these parameters:
|> kaleidoscope(
mode: "classic",
segments: 8, // Symmetry (3–16)
speed: 1.0, // Animation speed (0.1–3.0)
zoom: 1.0, // Pattern scale (0.5–2.0)
sensitivity: 1.0, // Audio reactivity (0.1–3.0)
hue_offset: 0.0, // Base hue rotation (0.0–1.0)
saturation: 0.85, // Color saturation (0.0–1.0)
brightness: 0.7, // Overall brightness (0.3–1.0)
global: true
)Mode-Specific Parameters
Spiral
|> kaleidoscope(
mode: "spiral",
arms: 4, // Number of spiral arms (1–8)
twist: 2.0, // Spiral tightness (0–5)
pulse: 1.0, // Bass pulse intensity (0–2)
global: true
)Prism
|> kaleidoscope(
mode: "prism",
facets: 6, // Number of facets (3–12)
refraction: 0.5, // Chromatic split amount (0–1)
sharpness: 0.5, // Edge sharpness (0–1)
global: true
)Bloom
|> kaleidoscope(
mode: "bloom",
petals: 6, // Number of petals (3–12)
layers: 3, // Depth layers (1–5)
softness: 0.5, // Edge softness (0–1)
global: true
)Tunnel
|> kaleidoscope(
mode: "tunnel",
rings: 10, // Number of rings (3–20)
depth: 1.5, // Perspective depth (0.5–3)
warp: 0.3, // Angular distortion (0–1)
global: true
)Fractal
|> kaleidoscope(
mode: "fractal",
iterations: 5, // Recursion depth (2–8)
scale: 2.0, // Iteration scale (1.5–3)
rotation: 0.5, // Rotation per iteration (0–1)
global: true
)Plasma
|> kaleidoscope(
mode: "plasma",
frequency: 5, // Wave frequency (1–10)
distortion: 1.0, // Blob distortion (0–2)
flow: 1.0, // Animation flow speed (0–2)
global: true
)Starburst
|> kaleidoscope(
mode: "starburst",
rays: 12, // Number of rays (4–24)
glow: 0.5, // Center glow intensity (0–1)
flicker: 0.3, // High-frequency flicker (0–1)
global: true
)Other Visualizations
Piano Roll
Displays notes as bars on a piano grid:
|> piano_roll(global: true)
|> piano_roll(cycles: 4, labels: true)Waveform
Shows the audio waveform:
|> waveform(global: true)
|> waveform(color: "#00ff88", thickness: 2)Spectrum
Frequency spectrum analyzer:
|> spectrum(global: true)
|> spectrum(bars: 64, color: "#ff0088")Particles
Particle burst effects:
|> particles(global: true)
|> particles(count: 100, burst_on_note: true)Global vs Local
Use global: true for full-screen background visuals:
// Full-screen kaleidoscope
[C3 E3 G3] |> kaleidoscope(mode: "plasma", global: true)Without global, visualization appears in the pattern's track lane.
Examples
Ambient Spiral
let pad = [C3 E3 G3 B3]
|> pad
|> reverb(0.8)
|> kaleidoscope(
mode: "spiral",
arms: 5,
twist: 3.0,
speed: 0.7,
hue_offset: 0.2,
global: true
)
play padBass-Reactive Plasma
let bass = [C2 _ G2 _]
|> instrument("saw")
|> lowpass(600)
|> kaleidoscope(
mode: "plasma",
frequency: 6.0,
distortion: 1.2,
sensitivity: 1.5,
global: true
)
play bassDrop Starburst
let drop = [G5 _ E5 _ D5 _ C5 _]
|> instrument("square")
|> kaleidoscope(
mode: "starburst",
rays: 16,
glow: 0.8,
flicker: 0.5,
segments: 12,
speed: 2.0,
global: true
)
play dropLayered Visuals
Multiple patterns can have different visualizations:
let bass = [C2 _ G2 _]
|> saw
|> kaleidoscope(mode: "plasma", global: true)
let lead = [E5 G5 C6]
|> sine
|> kaleidoscope(mode: "starburst", rays: 12, global: true)
play bass
play lead