Stolperbeats VISUALISER
A visualiser and emulator of the MSM Stolperbeats module. See and hear exactly where its Timings put each hit, program its pattern banks, and try alt timing tables on your own module with the STOLPERBEATS ULTRA flasher.
With Draw on HITS, click anywhere to place a hit on the nearest step, or hold and drag to draw several. Start on a hit to erase instead. Use the M button beside a track to mute it. Pick a Bar tab to write Kick and Snare in bars 2 to 4. RATCHET and PITCH edit the hits already there.
Pattern banks · program the module's banks and load them through its SD card
One row per track, each picking its own pattern: Kick and Snare (4 bars each), Hihat 1, Hihat 2, Perc 1 and Perc 2 (1 bar each). Click a tile to put that track on that pattern; it's the same as turning its picker in the MODULE strip above the grid. In MODULE mode, edits on the grid go straight into the bank. In SKETCH mode, Send sketch writes the beat on the grid into this bank at the numbers the rows show.
Getting banks onto the module
- Press Stop on Stolperbeats, then power off the rack. The module writes its data to the card when it stops, so never swap files while it's on.
- Take out the SD card and copy every file on it to your computer as a backup.
- Copy the downloaded PatternBank files into the same folder as the card's own PatternBank files, replacing any with the same name. PatternBank000 is Bank 1, PatternBank004 is Bank 5.
- Put the card back and power on.
- A bank number the module hasn't used yet starts switched off. Hold either Bank button for 2 seconds, turn the Kick encoder to the bank and click to switch it on.
Each file holds 24 patterns per track: Kick and Snare 4 bars each, the hats and percs 1 bar. The files store hits only, no accents or velocity. Banks you import or build here are kept in this browser until you remove them.
Half a bar up close: the firmware's 8-step cycle
Use this section to shape the grid above: drag the steps and the bar follows.Put the alt tables, or your own Timings from the creator, on the Timing buttons of your own official firmware, and add ratchets, a MIDI note per step, fill mode and a fill CV gate. It builds in your browser from the official file and flashes over USB. Timings saved here show up there under Yours, and old Firmware lab recipes open there too.
About · what everything on this page is
Pick a Timing, turn the Shuffle control, and watch each hit get pushed off the straight 16th grid, then hear it. Click or drag on the grid to write your own beat.
Stolperbeats Timings. Trip, Shake, Push and Clave, with all seven Shuffle settings, come from the step tables in firmware 163, and every hit is placed the same way the module places it. Like the module, a Shuffle or Timing change lands on the next beat; pattern, Feel and tempo changes land straight away.
Feels. Tight, Rolls, Flam and Slop, as on the module.
Linear. From the module: when tracks clash on a step, only the highest priority one plays.
Alt tables. HOPP (MPC and Linn style 16th swing), DEEP (8ths and 16ths swinging at once), SQEZ (made in the creator: the "&" and "a" squeeze toward the next beat), CLSTR (the "e", "&" and "a" cluster on a tuplet grid, leaning late) and FOLD (every beat folds in toward the "&"). Each is held in the module's own row format, whole ticks on 16 to 36 ticks per beat, so you can hear it here and then put it on a Timing button with the ULTRA flasher. DEEP, FOLD, CLSTR and SQEZ have run on a real module.
Download tables. The button by the Timings saves the selected alt table as a zip: its Stolperbeats-format rows, the step positions at 96 ticks per beat, and a one-bar MIDI groove per level for Ableton (right-click a clip, Extract Groove(s)). It's off for the four factory Timings. No firmware is included.
Four bars. Like the module, Kick and Snare run 4 bars (64 steps) and the hats and percs loop 1 bar (16 steps) under them. The Bar tabs pick which bar the grid shows and edits; each tab has a mini map of its Kick (top) and Snare (bottom). Follow keeps the grid on the bar that's playing; pick a tab while playing to stay on that bar and edit it while the loop runs. In bars 2 to 4 the hats and percs are dimmed because they're bar 1 repeating. Copy to all copies the shown bar's Kick and Snare into the other three.
SKETCH and MODULE. The switch above the grid picks what it plays. SKETCH is the presets and your own beat. MODULE plays your pattern banks the way the module does: pick a Bank, then a pattern number for each of the six tracks. Edits go straight into the bank.
Pattern banks. Import the PatternBank files from your Stolperbeats SD card, browse each track's 24 patterns, edit them in MODULE mode or send a SKETCH beat into a bank, and download the bank to copy onto the card. Files come out in exactly the module's own format, byte for byte. No banks are included with this page: bring your own from your card.
Ratchets and pitch (experimental). Not on the module today: this models a proposed firmware mod so you can hear it first. The Draw switch above the grid picks what a click edits. RATCHET gives a step 1 to 4 hits (2 is 32nds), placed on whole ticks inside the step the way the module would fire them, so they swing with the Timing. PITCH tunes a step up to 2 octaves up or down; on the module it would change the MIDI note only, since the trigger outs have no pitch. Rolls still owns Hihat 2, so its ratchets rest while Rolls is on. Both play here, export in Download MIDI, and save with your beat and your banks. A bank keeps them in a side file, PatternExtNNN.txt, so its PatternBank file stays exactly the module's format.
Firmware lab. Now the STOLPERBEATS ULTRA flasher, a separate page on the same site: give each Timing button a different table (factory, an alt table, or your own from the creator), add ratchets, pitch and fill mode, and flash it over USB. It never contains firmware. You bring the official file.
Download MIDI. The button above the grid saves all 4 bars exactly as they play, swing and all, so the groove survives on a straight DAW grid: every hit where the grid shows it, with the Timing, Shuffle, Feel and Rolls, step ratchets and pitch, accents as velocity, at the current tempo. Muted tracks and hits Linear silences are left out. It's four bars of GM drums (Kick 36, Snare 38, Hihat 1 42, Hihat 2 46, Perc 1 39, Perc 2 63) at 960 ticks per beat.
Creator. The CREATOR switch at the top swaps the Timing row for a table maker, with the same grid, kits, Feels and playback. Start from a Timing or from straight, then drag the steps in the half-bar view while it plays. The Shuffle slider picks the level you're editing, and a level you haven't touched yet starts as a copy of the one before. Every Timing made here keeps to the module's rules: whole ticks, 16 to 36 ticks per beat in steps of 4, every step at least 1 tick, and the half bar's 8 lengths adding up to 2N. Save adds it to the alt tables, Export saves its 7 rows as a file, and Import loads one back. Saved Timings stay in this browser only, so export the ones you want to keep.
See Sources below for what's read from firmware and what's matched.
Sources · what's read from the firmware, and what's matched
✓ Read from the firmware code
- Ticks per beat for each Shuffle setting: 0x08029948
- Step lengths: Trip 0x08029788, Shake 0x080297F8, Push 0x08029868, Clave 0x080298D8
- SHUFFLE is clamped to 0 to 6, and the row is shuffle + 7 × timing (0x080097E8)
- At boot, step lengths become running totals (0x0800D430)
- Tick length = 60 × 48014 ÷ (bpm × ticks per beat) timer counts, which is exactly 1/N of a beat (0x08003BB8)
- A step fires when the tick counter equals its running total. The first 8 totals replay every half bar (0x08010E58)
- FEEL is 0 to 3 (Tight, Rolls, Flam, Slop) at 0x2401738C. The firing code runs on every tick, not just on steps
- Flam fires Kick and Snare one tick after their step. Slop does the same, and also holds Hihat 1 and Hihat 2 for a tick, but only on steps where Kick or Snare hits (0x08011284)
- Linear (flag 0x24016ED2, toggled by the Linear button) is applied at each step (0x08011082): Snare silences Kick and all hats and percs, Kick silences hats and percs, Hihat 2 silences Hihat 1, Perc 2 silences Perc 1. Hats and percs don't silence each other. This matches the manual's priority list
- Rolls retrigger Hihat 2 until the next step: on every tick for Shuffle 0 and 3, otherwise on every second tick (row mask 0x01224489)
- A Shuffle or Timing change waits for the next beat: the new row is only taken at the start of a half bar or at its second beat (0x08011BC8). The player here does the same
≈ Matched, not traced in code
- Which table belongs to which button. The four tables sit in button order and match the manual's descriptions. Push and Clave are now confirmed on hardware: a private test build with DEEP and FOLD in the third and fourth tables played them from the PUSH and CLAVE buttons. Trip and Shake follow the same order.
- Feel colours come from the manual. The firmware only switches one of four LEDs per button.
- Trigger pulse length, and how the Feels appear on MIDI out, haven't been traced.
- DEEP and FOLD (test build 164), CLSTR (165), and DEEP with SQEZ (166) have been tried on a real module, by ear. Nothing has been measured with instruments.
- The 808, 909 and 606 kits are synthesised approximations, not samples.
- Changes while playing. Steps fire in order and never twice. A Shuffle or Timing change keeps the current beat as it was and takes over from the next one.
- Here Linear looks at the pattern, so a track muted with M still takes priority. The firmware's Linear reads the pattern arrays too, so this is likely the same on the module (not tested on hardware).
✓ Alt tables: HOPP, DEEP, SQEZ, CLSTR and FOLD
- Every alt table is held as the module holds its own: one ticks-per-beat value per level (16, 20, 24, 28, 32 or 36, all divisible by 4 so the Subdiv clock out stays even) and whole-tick step lengths whose half bar adds up to 2N. Level 0 is straight. Download tables gives the rows, and the ULTRA flasher writes them into a Timing button's table.
- HOPP is MPC and Linn style 16th swing: every second 16th lands late, at 55.6, 56.3, 58.3, 62.5, 66.7 and 71.4% on grids of 36, 32, 24, 32, 36 and 28 ticks per beat. The last is Linn's 71% step. Background: Linn's 54/58/62/66/71 ladder (Attack, Roger Linn interview, MPC60 manual) and breakbeat swing medians near 54.5% (Frane 2017).
- DEEP swings at two levels: each beat's 8ths split 52 to 66.7%, then each 8th's two 16ths split 52 to 60% inside it, rounded to whole ticks on 36, 24, 36, 36, 36 and 32 ticks per beat. Downbeats stay; the gaps shrink across each beat.
- SQEZ was made in the creator. It starts like CLSTR, then squeezes the "&" and "a" up against the next downbeat, on 36, 20, 36, 32, 28 and 36 ticks per beat. Levels 5 and 6 have 2-tick steps.
- CLSTR cuts each beat into n slots of 4 ticks (n = 9, 5, 9, 8, 7 and 9) and clusters the "e", "&" and "a" mid-beat, shifting right and leaning late as the level rises, until at level 6 they jam against the next downbeat.
- FOLD moves the "e" late and the "a" early, in toward the "&", every beat, on 36, 20, 28, 20, 16 and 20 ticks per beat. Downbeats and every "&" stay. Levels 5 and 6 have 2-tick steps.
- An alt table takes over one Timing's 7 rows, so on the module it keeps that button's other behaviour: its accents, and which Shuffle levels roll on every tick. The Rolls here assume the alt table sits on the Trip button.
Disclaimer. This is an unofficial, independent educational project. It is not affiliated with, endorsed by, or supported by Making Sound Machines. Stolperbeats is designed and made by Making Sound Machines, and all rights in the module and its firmware remain theirs. The timing tables used here were read from the publicly available firmware 163 purely to illustrate how the shuffle works. No firmware is included in or distributed by this page. For anything official, see the Stolperbeats manual. The alt tables are not part of Stolperbeats.

