AM Drum Fill Generator
v1.0.0Ableton Live extension: rule-based, but random drum/percussion fill generator
AM Drum Fill Generator
At a glance
- Select a time range in the arrangement, right-click, and generate a rule-based, but random drum/percussion fill into it.
- Works with any sample set: define your own named elements (not just Kick/Snare/Hi-Hat) and map each to its MIDI note(s).
- Cluster, Layer, and Flam add texture on top of the base pattern.
- Not limited to classic fills: with the right settings it can just as well produce percussion loops, glitchy textures, or other FX.
- Save your element setup and full texture as presets, and generate several candidate fills at once to pick from.
An Ableton Live extension that builds drum and percussion fills, short rhythmic bursts that lead into a new section, directly in the Arrangement, on a MIDI track, from a time selection.
Why I built this
From my experience, if a loop is solid and the structure makes sense, the next step is a transition with an interesting fill into the next section. There are ways to do this, like the MIDI generators or the Seed method in Ableton's MIDI editor. Programming one by hand (picking notes, spacing them, working in some velocity ramp so it didn't sound flat) is fine, but I wanted a generator focused on my own style, especially for electronic music with a focus on rhythm.
I came across RBLD's Drum Fill Generator and liked the idea a lot, but wanted it to work the way I actually produce: with sample chains and freely named, arbitrarily pitched elements, not a fixed Kick/Snare/Hi-Hat/Tom/Crash vocabulary.
A note on how this got built: I have a background in media technology and some programming experience from that, but not enough to have built something this complex on my own. I'm generally skeptical of AI in a lot of areas, music production very much included. I've only recently started working with Claude, and this felt like a fitting use case: Ableton Extensions are a new feature, which let me build something for myself, and hopefully for others, that simply wouldn't have been possible for me a few years ago.
Why not Ableton's Seed mode in the MIDI editor?
Live's built-in random-note generation in the MIDI editor is exactly that: random. Over longer passages, and especially with very short notes, it tends to slide into off-beats that just don't sit right. This tool focuses specifically on drum and percussion fills, and tries to keep the rhythm audibly held together through a set of background rules, rather than generating from pure chance.
It's also not only meant for classic fills. Depending on the settings, it works just as well for generating a percussion loop or a glitchy texture. It isn't perfect, and since I use my own Drum Rack in a fairly untypical structure, I tried to keep the tool as universal as possible, though every approach has its limits. I come from a House/Techno background; it may not fit every genre or workflow equally well.
Step by step
1. Define your elements. No fixed roles, add as many named elements as you like, each mapped to one or more MIDI notes (matching whatever's loaded in your Drum Rack or sample chain). Optionally mark one element Accent (reserved for accent hits, never part of the normal rotation) and any number Ending (a fill can end on several elements at once, e.g. a cymbal + kick).
2. Select a time range and generate. In the Arrangement, select a range on a MIDI track, right-click, and choose "AM Drum Fill Generator…". Set Intensity (Simple to Complex), pick which Rhythmic Figures are in play (1/4 down to 1/64), dial in Density, Layer, Flam, and General velocity/humanize to taste, then hit Generate Fill(s).
3. Iterate. Not quite right? Generate again: the same seed reproduces the exact same fill, a new one (via the 🎲 seed button) gives you a fresh variation. The global 🎲 Random button in the header randomizes Intensity, Rhythmic Figures, Density, Layer, Flam, and velocity settings in one click, for when you want a fresh starting point rather than just a new variation. Set Fill count above 1 to generate several candidate fills back-to-back in one go, all collapsing into a single undo step, so you can pick the best one and undo the rest together.
4. Save what works. Once an element setup and texture feels right, save it as a preset. Elements, mapping, Accent/Ending, and the entire texture come along, so presets can sound completely different from each other by design.
Further notes
- The base grid is the smallest selected rhythmic figure among 1/4, 1/8, and 1/16. 1/32 and 1/64 only add texture on top (via Cluster), they never set the grid themselves.
- Density (0-100) controls how many of the grid's active slots are filled, independent of Intensity, so a section is never left completely empty.
- A fill longer than one bar repeats its first bar's pattern for later bars at low-to-medium Intensity, rather than re-randomizing every bar from scratch. This is what keeps a fill sounding coherent instead of disintegrated.
- Presets persist to disk (element setup + full texture); Seed, Fill count, and a few session-only toggles reset when Live restarts but survive reopening the dialog in the same session. See NOTES.md for the exact breakdown.
- There's no audio preview inside the dialog. The Extensions API has no way to trigger a note directly, so generate onto the track and listen back there.
Requirements
Requires Ableton Live's Developer Mode (Preferences → Extensions), a Set open in Arrangement View, and a MIDI track with a time selection to generate into.
Build & run
cd extensions/am-drum-fill-generator
npm install
npm run build:dev # typecheck + bundle
npm start # build + extensions-cli run (only ONE extension can connect at a time)
More
Implementation details, design rationale for Intensity/Cluster/Layer/Flam, persistence tiers, and a couple of debugging war stories live in NOTES.md.
Rate this extension
One rating per account; you can change it any time.
Comments
No comments yet.