An arpeggio is a chord whose notes are played one at a time instead of all at once. It's one of the most universally useful musical tools — from classical piano études to dream-pop synth lines to trap hi-hat patterns.
A chord played all at once creates a harmonic block. Spread those same notes across time and you get movement, momentum, and a rhythmic texture that can carry a whole song. Arpeggios are how a single chord fills space — think Journey's "Don't Stop Believin'" intro, Pachelbel's Canon, or every EDM breakdown that rains sparkling triangles.
Up walks the chord notes from lowest to highest — the simplest and most recognizable. Down is the reverse, often feeling more mysterious. Up-Down walks up then back down for a self-contained loop. Pedal alternates between a fixed note (the pedal tone) and the chord notes, creating a hypnotic repeat. Converge spirals inward from the outside (low-high-low+1-high-1...), Diverge spirals outward from the middle. Random removes the pattern entirely.
Rate controls how fast the notes fire relative to the beat. 1/4 = one note per beat (slow, deliberate). 1/8 = two per beat (classic arp speed). 1/16 = four per beat (bright, energetic). 1/16T = triplets (six per beat — jazzy, shuffled). 1/32 = eight per beat (rapid-fire, hi-hat-like). Combined with BPM, this controls the musical speed. At 120 BPM + 1/16, you get 8 notes per second — fast enough to feel like a cascade, slow enough to hear each note.
Gate controls how long each note sounds relative to the step. Staccato means each note is short and detached — punchy, rhythmic. Legato means notes overlap and flow — smooth, liquid, sustained. Most classical arpeggios are legato; most techno and acid arps are staccato. The same pattern sounds like a different song at different gate settings.
Naive JavaScript timing uses setInterval or setTimeout, which drift under browser load — your arpeggio sounds tight in a fresh tab and wobbly with 10 other tabs open. This tool uses a proper audio scheduler tied to the Web Audio clock, with a lookahead that pre-schedules notes milliseconds in the future. The result: rock-solid timing even on slow devices, mobile, or under heavy load. If you've ever used a browser synth that felt sluggish, this is why.