ablx.directory

Super Beat Maker

v1.0.0

Automates the Super Beat Maker (SBM) game system inside Ableton Live 12. SBM is "D&D for Beat Makers" — a roguelike beatmaking system where d100 dice rolls impose random Mutations (constraints on the current track) and Curses (damage to previous tracks / the mix).

Hudsonmanifest author: boostemNo ratings yet

Unverified listing. This repo is new or has little community activity and the developer has not claimed it. Extensions run code inside Live — read the source, check the author, and only install things you trust.

README · rendered from GitHubView source

Super Beat Maker — Ableton Live Extension

Automates the Super Beat Maker (SBM) game system inside Ableton Live 12. SBM is "D&D for Beat Makers" — a roguelike beatmaking system where d100 dice rolls impose random Mutations (constraints on the current track) and Curses (damage to previous tracks / the mix).


What it does

Right-click any Audio Track, MIDI Track, Audio Clip, or MIDI Clip🎲 Roll SBM

The extension runs the full Room-entry sequence from the rulebook:

  1. Curse Check — rolls d100 to see if a Curse lands (skipped on Room 1).
    • Target Curse (71–98): rolls Start + Modifier tables to pick a previous track, then rolls the Target Curse table and applies the effect.
    • Mix Curse (99–100): rolls the Mix Curse table and applies it run-wide.
  2. Mutation — rolls the Mutation table and applies the effect to the right-clicked track.
    • Handles "Roll Twice", "Roll a Target Curse", and "Repeat Last Mutation" meta-rows.
  3. Power-Up earning — rolls d100 and credits any earned Power-Ups to run state.

A dialog pops up after every roll showing:

  • The dice rolls with exact numbers
  • ✅ What the extension automated in your Live Set
  • 📋 Conditions you must follow manually
  • The current active run-wide constraints (Mix Curses)
  • Your Power-Up bank

Install / Build / Run

Prerequisites

  • Ableton Live 12 Beta with Extensions SDK support
  • Node.js ≥ 24
  • Developer Mode enabled: Live → Preferences → Extensions → Developer Mode

Build

cd ~/Ableton/Extensions/my-extension
npm install          # if not already done
npm run build        # production build
npm run build:dev    # dev build with source maps

Run

npm start            # builds dev + launches extension in Live

Live must be open with Developer Mode enabled. Watch the terminal for [SBM] log lines. Full logs: ~/Library/Preferences/Ableton/Live x.x.x/ExtensionHost.txt


Usage

Starting a Run

  1. Make sure Live is open with at least one track.
  2. Right-click any track → 🔄 SBM: New Run to reset all state.
  3. Create your first track, then right-click it → 🎲 Roll SBM to enter Room 1.

Each Room

  1. Create a new track (that track = the Room you're entering).
  2. Right-click the new track → 🎲 Roll SBM.
  3. The dialog shows exactly what was applied automatically and what you need to do by hand.
  4. Compose the track following the Mutation (and any Curses).
  5. When done, the Room Finalizes. Repeat.

Ending a Run

Declare the Run over when you're satisfied (no more Rooms forced by the state). If maybe_force_room_on_end was triggered (Target Curse 53–56), roll d100 first — on 51+ you must add one more Room.


Run state persistence

State is saved to sbm-run.json in the extension's storage directory (printed in terminal on activation):

macOS: ~/Library/Application Support/Ableton/Extensions/Super Beat Maker/sbm-run.json
Win:   %AppData%\Ableton\Extensions\Super Beat Maker\sbm-run.json

The state includes: room count, baseline BPM, active mix curses, Power-Up bank, curse-magnet track, locked track names, last curse/mutation for re-roll rules, and a full log of every Room.

To reset: right-click any track → 🔄 SBM: New Run.


Testing with forced rolls

Set SBM_FORCE_ROLL to a comma-separated queue of d100 values before starting:

SBM_FORCE_ROLL=95,42,7,78 npm start

The extension dequeues one value per roll in order (Curse Check, then Target Start, then Target Modifier, then Target Curse, then Mutation, then Power-Up, etc.).


Notes / limitations

  • Device names: effects that insert Live devices use "Reverb", "Delay", "Gate", "Auto Filter", "Utility", "Compressor", "Flanger", "Chorus-Ensemble". If any name doesn't match your Live version, the step is reported as manual instead of crashing.
  • Volume approximation: the −6 dB curse applies value × 0.5 to the normalized mixer parameter. Live's fader is non-linear so this is approximate (marked ⚠️ in the dialog).
  • Bar length: "delete first/last bar" assumes 4/4 time (4 beats per bar).
  • MIDI only: note operations (delete every 3rd, remove half, keep first/last, pitch shift, fixed velocity) only automate on MIDI clips in the Arrangement view. Audio clips and session-view clips fall back to manual instructions.
  • No transport control: the SDK cannot play/stop/record, so real-time performance mutations are always manual conditions.
  • See SBM-IMPLEMENTATION-CHECKLIST.md for a full accounting of every table row.

Scripts

npm start              # build:dev + run in Live's Extension Host
npm run build          # production bundle
npm run build:dev      # dev bundle (sourcemaps, not minified)
npm run package        # production bundle + .ablx archive

Rulebook

SBM/Super Beatmaker 1.54.pdf — Jon Makes Beats
SBM/SB One Sheet Ref v1.53.pdf — condensed reference card

Rate this extension

One rating per account; you can change it any time.

No ratings yet — be the first

Comments

Sign in to join the discussion.Sign in

No comments yet.