Get the App
Changelog
VERSION HISTORY
What shipped in each version, and why. Newest first.
2.1
AUGUST 2026
Three new modules. All three are free.
CC Control: your synth’s own knobs, on the phone. Pick your machine from the built-in library and its real control map loads, ready to turn. No MIDI learn, no hunting CC numbers on a forum. Every map was read out of the manufacturer’s own manual and then checked a second time against it, row by row.
51 machines at launch, 3,487 individual controls, across Elektron, Moog, Arturia, Waldorf, Korg, Sequential, Novation, Erica Synths, UDO, Torso and Gamechanger.
Arm the red R, turn a knob while the pattern is playing, and that movement becomes a loop, locked to the bar along with everything else. Your hand always outranks the loop, so the moment you touch a knob the recording steps aside and gives it back when you let go. Every control picks its own MIDI channel, so a single module can address a whole multitimbral groovebox.
Live Performer: one pad that plays the whole rack. Move your finger and every module answers at once. More density, new variations, a fill, a break, a return home. Two axes, material and motion, and the whole rack responds together instead of you editing one part at a time.
Turn on RIDE and it plays itself, walking its own path through the performance while you do something else. BREAK is a momentary button: the drop lasts exactly as long as you hold it.
Euclid: three rings that drift apart and land together. Each ring carries its own length, its own number of hits, its own rotation, and its own note in the project key. A 12-step ring running against a 16-step ring separates and comes back bars later.
The rings can follow a Chords module, taking its root, third and fifth. Each one can address its own MIDI channel, so three rings can be three different synths.
Bigger libraries. Chords ships a library of 417 authored progressions, in your project key. Piano gained 240 authored techno phrases, with new choices for how a melody you drew follows project key changes. Changing key and changing back no longer damages what you wrote.
Drums grew Hip Hop from 48 to 98 grooves and added a Glitch style, for 1,112 grooves across 19 styles, each with the swing that genre actually has. Acid’s pattern bank went from 62 lines to 268. Bass gained a 16th genre, Groovy.
The menu was rebuilt. Projects, help, settings and the subscription each have their own place instead of one long list. Undo and redo now cover the whole rack, and a shake undoes the last step. A knob drag counts as one step, not fifty.
The Stabs plate was rebuilt to read like the Bass plate: round dots, the whole loop visible at once, and a column lighting several rows at a time because a stab is a chord. It no longer pages itself bar by bar while you watch.
Fixed. A module could display one sound and play another. The Live Performer’s ride would not switch back to manual. Typing a name could stall the app. Menus could be clipped at the bottom of the screen. Euclid’s Wander control moved notes so little that it read as broken.
2.0
JULY 2026
The app makes sound on its own.
Built-in sound engine. 87 sounds: 12 acid voices on a real 303-style emulation, 67 polyphonic presets and 8 drum kits. Free, not behind the paywall.
Sound picker in every module. Pick a family, pick a preset, and it switches live while the pattern plays so you choose by ear. Every module opens on a sound that suits it.
New module: Stabs. Chord hits from skank to rave. 12 styles plus Random, with a preset library and a chord-slab visual that shows every voice at its own pitch.
Drums grew to 984 grooves across 18 genres. Techno, house, trance, psy, disco, dub, synthwave, pop, rock, lo-fi, funk, hip hop, reggaeton, R&B, UK garage and trip-hop. Each genre carries its own swing.
Piano writes in a genre. Pick the genre and the phrasing follows it.
Acid slides actually glide. They never did. The app wrote slides and the gates went legato, but the pitch never moved, on hardware or in the export. Now a slide bends pitch on your 303-style gear, in the exported MIDI and in the built-in sound.
Background playback. The pattern keeps running when you leave the app, with controls on the Lock Screen and in the Dynamic Island.
Better starting points. Every styled module lands on something usable the moment you add it, and Arp follows a Chords module by default.
Fixes. Bass Mutate did nothing on 8 of its 15 styles and now works on all 15. Rain drops trigger exactly the note you see hit. Onboarding and the in-app Manual were rewritten around the built-in sound.
1.0.3
JULY 2026
The Bass module.
New module: Bass. A generative bassline that speaks in genres. 15 styles, from house, trance and disco through techno, acid and psy to funk, dub, DnB, upright and EBM. It writes the line in the idiom of the style you pick, from a one-note groove to a full melody.
Range, Humanize and Follow Chords. Set how far the line roams from the root, loosen the timing so it breathes, and lock it to a Chords module.
Preset library. Save a bassline you like and recall it in any key.
1.0.2
JULY 2026
Rain, the Manual, and Pro.
New module: Rain. A generative texture of note drops, drizzle to downpour, always in key. It never loops: every bar falls differently.
Generative export. Rain exports as many unique bars as you ask for rather than one repeated loop, so what you bounce is what you heard.
In-app Manual. A page per module in Settings, with every control described.
Sequentia Pro. Drum styles, pattern and preset libraries, unlimited projects, send to DAW and MIDI export.
1.0
JUNE 2026
First release.
A generative MIDI sequencer that streams to hardware over USB-C, Bluetooth MIDI and Wi-Fi.
Modules on one shared tempo, key and transport: Acid, Drums, Chords, Arp, Mod, Mixer and Piano.
Local and deterministic. The same seed gives the same pattern, every time, with no internet and no cloud.
DEV LOG · 2.1
What 2.1 actually cost
Notes from building it. Mostly about the things that were wrong.
A knob that did nothing
Euclid has a control called Wander: how far each ring strays from its note, up and down the key. A user reported that it did not seem to work.
It was wired correctly and it did move notes, which is the annoying kind of bug. So we replicated the algorithm outside the app and ran it over 4,000 random seeds to see what it actually produced. Two things came out.
The knob’s value was not part of the random seed. That meant every position of the knob read the same stream of random numbers and the knob only shifted the thresholds those numbers were compared against. With only a handful of decisions per loop, most of those shifts flipped nothing at all: moving the knob from 50% to 77% produced bit-identical notes in 30% of projects. The control was, a third of the time, literally inert.
Worse, the walk only took a step when a ring played a hit. A four-hit ring therefore got three decisions per loop, and it restarted from home on every pass. A random walk that is pulled back toward home cannot travel anywhere in three steps. Measured: the average stray at maximum wander was two thirds of one scale degree, against the algorithm’s own limit of five.
The fix was structural in both halves. The walk now advances on every step of the ring and the hits sample it, and the knob is folded into the seed. Dead knob positions went from 30% to zero, and the peak finally reaches the range the design always allowed.
The general lesson is worth writing down: if a knob shapes a seeded, repeatable figure, the knob belongs inside the seed. Otherwise it can only move thresholds against a fixed stream, and with few decisions per pass it will read as a dead control.
Solo was gagging the controllers
Late in the release we removed the Solo button from controller modules. Solo means “hear only this”, and a controller makes no sound of its own, so soloing one could only silence everything else for nothing.
That was right, and it created a trap. The rules that decide what solo silences still treated controllers like any other module. Since a controller could no longer be soloed, soloing anything else silenced CC Control and every Mod LFO completely, with no indication of why and no way back except releasing the solo. You would solo a part to work on it and your filter sweeps would quietly stop.
The cause was not the rule, it was that the rule existed in seven different places, each spelling out “is it one of these six module types” by hand. One copy got updated and the others did not. Two of them had already drifted apart on which types they listed.
There is now one predicate and every site asks it. Then we ran an adversarial review pass over that fix, and it found a seventh copy we had missed: the mixer’s Mod strip, which derived the same rule from the solo set without naming a single type, and so survived every search we did by type name. It would have shown the LFO as silenced while it kept transmitting.
The lesson: a rule written as a list of types will be written more than once and the copies will drift. Name the concept.
The stop that ate your sound
A user reported a module showing “Kalimba” in its label while an acid bass came out of it.
Patches are not set directly on the audio engine, they are queued, and the queue is only drained by the render callback. Stopping the preview queued an “all off” message and then stopped the graph on the very next line, so that message sat at the head of the queue while the engine was down. Every patch chosen in the meantime queued up behind it. On the next start the “all off” fired and cleared the entire rest of the queue, so the slot kept whatever it had, which for a slot the engine had never been told about is patch zero: the first acid patch.
A memo on the sending side then made it permanent. It recorded what each slot had been told at the moment of queueing, so nothing was ever re-sent.
The fix is that a stop now cancels only what was already scheduled when it arrived, and leaves alone whatever was queued after it. Positional, not “empty the list”. Anything pushed into an audio queue is a promise, and a promise is only kept while the renderer is running.
The plate that paged itself
The Stabs plate used to show a 16-step window of the pattern and flip to the next bar on its own while playing. It answered the wrong question. A plate exists to say how long the loop is and where the hits sit inside it, and a page that swaps under your eye says neither.
It now draws the whole loop, in the same language the Bass plate uses: same dot, same spacing, same greys, same playhead. A longer loop gets smaller dots rather than a slideshow. The one difference that stays is the one the module actually has, which is that a column lights several rows at once, because a stab is a chord and the shape of that column is the voicing.
Reading 51 manuals
The CC library was the largest single piece of work in the release, and almost none of it was code.
Every machine’s control map was extracted from its manufacturer’s manual, then independently re-read and compared row by row against the first pass. That second pass is where the value is. It caught a vendor typo in one manual where two envelope parameters carried the same printed name, a control that the manual documented on a page belonging to a different MIDI channel, and several tables where the printed numbers simply did not match the text beside them.
We also turned machines away. If a synth has no real control map in its documentation, a couple of stray CC numbers is not an instrument, and shipping a guess is worse than shipping nothing. Several well-known machines are absent for exactly that reason, including a few whose entire control scheme is assigned by the user rather than fixed by the factory.
One finding changed the app itself. Two Moog synths document every switch as “0 = off, 64 = on”, and nothing above 64 is defined. Our buttons had been sending 127 to everything, because that is the obvious value. It is not always the right one. A switch now carries the value its own manual prints for “on”.