Welcome to warp
Warp is a language for writing music. You describe patterns, chords, and structure in YAML — the engine plays it back as MIDI. Notes are written as positions in the current harmony, not fixed pitches, so a pattern written once plays correctly over every chord change.
Press ▶ to hear it — then try changing the numbers, or adding notes:
How it works
A track plays a repeating pattern:
n: "1 2 3 4" picks positions from the current chord or
scale, the token count sets the rhythm, and parameters like
velocity, gate, and swing
shape how it plays. Phrases put tracks over chord
progressions; a song sequences phrases.
Modulators — LFOs and seeded randomness — change
any parameter over time. Defaults are set so a four-line file
already produces music.
Drum patterns use named hits (n: "bd hh sd hh" on the
built-in General MIDI kit), instruments are names
(instrument: tenor_sax), and everything is
deterministic: identical file, identical MIDI.
If those patterns look familiar, that's because warp's mini-notation is heavily inspired by Tidal Cycles.
Output goes to a built-in General MIDI soundfont for immediate playback, or to any MIDI output on your system — route it to a DAW, a soft synth, or hardware over Web MIDI. Choose in the editor's Output menu.
Get started
The tutorial teaches the language by building things — every example plays right on the page. Start there, then use the editor to write your own.