Docs
Templates
Tutorial
Sequence & Rhythm
s(name, pattern)
Play samples using an array (0/1).
Samples: kick, snare, hh, clap, tom.
Samples: kick, snare, hh, clap, tom.
euclid(k, n, sound)
Euclidean rhythm: K hits in N steps.
every(n, fn)
Run a function once every N beats.
Synths & Melody
bass(note, dur)
Filter-swept sawtooth bass.
lead(note, dur)
Bright square wave lead synth.
note(n, dur, wave)
Basic synth note (sine, square, saw).
Globals
bpm(val)
Set tempo (Beats Per Minute).
setDelay(time, mix)
Set global delay effect.
Genres
Acid House
Driving 303-style basslines.
Techno Fast
Trap / Hip-Hop
808 Bass and fast Hi-Hats.
70 BPM Heavy
Dub Techno
Deep chords and delay textures.
Atmospheric
Glitch Chaos
Randomized beats and bleeps.
Experimental
Techno Rumble
Dark, off-beat driven techno pattern.
Polyrhythms
Complex overlapping Euclidean rhythms.
Melodic Synth
Simple sequencing with melody lines.
Classic House
Standard 4/4 dance floor rhythm.
The Basics
1. The Grid
Everything runs on a synchronized clock.
stack([...]) groups your patterns together to play at once.
Everything runs on a synchronized clock.
stack([...]) groups your patterns together to play at once.
2. Writing Beats
Use s(name, pattern).
Pattern [1,0,1,0] means: Play, Rest, Play, Rest. It stretches to fit 1 bar.
Use s(name, pattern).
Pattern [1,0,1,0] means: Play, Rest, Play, Rest. It stretches to fit 1 bar.
3. Melodies
Use every(steps, function) to sequence notes.
E.g., every(4, () => bass('C2',0.5)) plays a note every 4 beats.
Use every(steps, function) to sequence notes.
E.g., every(4, () => bass('C2',0.5)) plays a note every 4 beats.
4. Effects
Add polish with setDelay(time, feedback) to create spatial depth.
Add polish with setDelay(time, feedback) to create spatial depth.
Oscilloscope
Console
> System Ready.