← back

the sequencer

Motif

A prompt-driven MIDI idea generator for techno, groove, bounce and house. Ask for a part, get clips you can audition and drag straight into Ableton — the model interprets and sets parameters, and a deterministic renderer writes every note. In design; the blueprint is locked.

Swift macOS Ableton Link in progress

Two things Motif has to do. Be specific: "a bassline for a remix of Miami, 138 bpm" should return one clip that actually fits. And be inspiring: "five ghetto house drum patterns" should return a batch of distinct ideas to browse, audition through your own kit, and drag out — with per-role locks so you can keep the kick and re-roll the hats.

The design decision everything else hangs off: the model never writes notes. Every AI MIDI tool draws the same complaint — patterns that sound the same whatever you asked for, stiff and grid-locked. A language model knows what "ghetto house" and "Miami" are; it cannot feel a 16th-note velocity ladder. So it emits a spec — interpretation, global parameters, a recipe and parameters per part — and the renderer turns that spec into notes. The taste lives in the recipes, tuned by ear rather than derived from papers, which also means the app degrades gracefully: with no model reachable at all, you pick a genre and it still generates.

The rest is refusals. Nothing is quantised, because off-grid is the point. Groove is applied after rendering, so the swing and microtiming sliders re-render instantly with no model round-trip. Every render passes a novelty gate before you see it. Generation is seeded, so the same spec and seed give the same notes. And every generation is logged with your verdict from day one — starred, dragged out, ignored — so a later version can learn the defaults you actually reach for.

highlights

spec

the model directs, it doesn't play

The LLM emits interpretation and parameters under a JSON schema; our own renderer writes the notes. A malformed spec never fails a generation — it falls back to the genre default.

groove

never quantised

Swing, microtiming, velocity ladders, ghost notes and flams are applied after rendering, so moving a slider re-renders with no model round-trip.

novelty

no two ideas alike

Onset and accent fingerprints reject near-duplicates against recent history and enforce diversity inside a batch — without ever failing a generation over it.

drop

straight into Ableton

Clips export as .mid and .alc, audition over a CoreMIDI virtual port through your own kit, and stay tempo- and phase-synced over Ableton Link.

crate

your library as ground truth

A track index — Traktor's collection first, Apple Music second — supplies real BPM and key, so a prompt naming a record you own never leans on model trivia.

offline

works with nothing reachable

No model, no problem: genre profiles still generate. A model on the LAN, a small one on the laptop, or an optional cloud key are all just endpoints.

under the hood