A glitch / beat-slicer / buffer-destroyer for AU and VST3. Version 1.0.0.
Loop Saboteur sits in an insert slot and watches the audio going past. It keeps a rolling recording of the last few bars in a circular buffer. When the plugin decides to fire — which it does either on a host-synced grid or a free-running clock — it reaches back into that buffer, grabs a slice, and plays it back through a chain of voice-shaping, tonal, degradation and motion effects before mixing it against the dry signal.
The creative surface is built around eight Acts (A through H), each of which is a complete snapshot of every knob plus four dedicated LFOs. Acts get stamped onto a 64-step sequencer, or fired freely based on probability. Add parameter locks, per-step ratios, ratchets, mutes and freezes on top, and you have a plugin that can turn any incoming loop into something unrecognisable — or something musical.
Channel configurations: stereo → stereo, mono → mono, and mono → stereo. The mono → stereo option lets you load the plugin on a mono track while still using stereo-widening effects (Stereo knob, stereo Output Stages). The plugin copies the mono input to both channels before processing.
That’s the loop. The rest of this manual explains the depth.
The window, top to bottom:
Dry always passes through. Every Division boundary (either a sequencer step or a free-run tick) the Slice stage opens, pulls a chunk out of the ring buffer according to Lookback / Division / Rate / Stretch / Stutter / Decay, and hands it to Play. Play shapes the pitch, direction, transient envelope (Shape) and any per-slice randomness. If Frequency Split is active, the signal is split into low and high bands at this point — only the selected band continues through the FX chain. The slice then walks through Colour/Crunch (filter + saturation + degradation) and Space (shimmer, delay blur, varispeed, stereo spread). If frequency split was active, the processed band is recombined with the untouched band. The wet result is blended against the dry via the Mix knob using an equal-power crossfade (no volume dip at the midpoint), then coloured by the per-Act Output Stage (Cassette, Reel-to-Reel, Vinyl, etc.) before hitting the output.
Feedback closes the loop by re-injecting wet audio back into the ring buffer, so subsequent slices grab content that already contains processed material.
Modulation runs per-sample alongside the voice chain. Each Act has four independent MOD slots (LFO or AHD envelope), each targeting any lockable knob. MOD offsets are summed on top of the knob’s base value (or its p-lock override). Cross-modulation lets one MOD drive another MOD’s depth, creating evolving textures that shift across the pattern.
Parameter locks are per-step knob overrides that snap in when the sequencer hits that step. They sit between the knob’s base value and the MOD offset — so a p-locked value still gets modulated.
An Act is a complete parameter snapshot:
You have eight Act slots labelled A through H. Click a letter to load that Act into the live knobs. Every time you turn a knob, the change is written back into whichever Act is currently selected.
SEQ off. Whichever Act is selected fires freely on every Division boundary, gated by its own Chance (0-100%). This is the simplest use: pick an Act, leave it running, occasionally switch Acts.
SEQ on. Which Act fires is determined by the grid. Click a cell to stamp the currently-selected Act into that step. An empty step is silent. You can stamp different Acts onto different steps and the Acts themselves don’t change — only which one happens to fire at each moment.
I/O button in the header opens a large menu covering:
.lpsbact files per Act, or full 8-Act banks.A 64-step pattern split across four pages (A / B / C / D). Each page is 16 cells. Pattern length is set by the sequence length control; lengths above 16 activate additional pages.
| Gesture | Action |
|---|---|
| Left-click | Stamp the currently-selected Act onto this step |
| Right-click | Open the full step context menu |
| Shift-click | Enter Lock Edit for this step (per-step parameter locks) |
| Cmd-click / Ctrl-click | Toggle Freeze-hold on this step |
| Alt-click | Cycle through ratio / probability options |
| Ctrl+Shift-click | Begin a range selection for copy/paste |
Each cell can carry any combination of:
Dots are rendered in the bottom info bar left-to-right so you can see at a glance what a step is doing.
A mute on its own makes the step silent every visit — it cuts any playing voice and kills any in-flight ratchet (a hard dropout). Add a ratio on top and the ratio controls how often the mute happens:
The probability dot stays visible through the strikethrough so you can see at a glance that a muted step has a condition attached. When the condition doesn’t fire, the step behaves as if un-muted for that visit — it still doesn’t stamp an Act (that’s what mute means), but it also doesn’t cut the voice, so whatever was playing continues.
Right-click a step -> Trig condition:
Available options:
Right-click a step -> Ratchet. Values: 1 (no ratchet), 2, 3, 4, 6, 8. A ratchet of 4 turns one step into four evenly-spaced retriggers across the step’s duration — like a tracker retrigger command. Each sub-hit replays the same slice that was captured on the first hit (same buffer position, same chop), not a new lookback grab. This means ratcheting a snare gives you that snare repeated, not four different slices from different moments.
On a blank step (no Act assigned), ratchet acts as a pure rhythmic stutter: it grabs the audio that just passed (lookback automatically matches the sequencer step duration), replays it at 1× speed with quantised beat-locking, and subdivides it across the step. No FX, no pitch shift — just a clean retrigger of "the beat that just happened." This makes blank-step ratchets a rhythmic tool rather than a sound-design tool: stamp Acts where you want character, ratchet where you want repetition.
Muted steps kill any in-flight ratchet immediately (hard silence). Blank steps let ratchets from the previous step play out their remaining sub-fires.
Ratchet stacks with ratio (the ratchet fires only on visits where the ratio allows).
Right-click the header PATTERN / randomise area:
Drag the seq length control to resize the pattern from 1 to 64 steps. Lengths over 16 unlock the additional pages (B, C, D).
The sequencer always starts from step 0 regardless of where the DAW transport begins. If you play from bar 2 or bar 5, the pattern starts at step 1, not partway through. DAW loops work correctly — the pattern cycles naturally within the loop region.
All knobs share the same interaction model:
Any knob being modulated shows a cyan body ring. Pointer position and the modulated value are both visible at once.
Several knobs add per-Act options to the right-click context menu, below the standard MOD assignment items:
All right-click options are stored per-Act, appear on the CHARACTER sub-tab in Tools, and are saved with presets.
| Knob | What it does | Default |
|---|---|---|
| LOOKBACK | How far back into the buffer to grab. 0 = now, higher = further into the past. | 1/16 |
| DIVISION | Slice length. Also the grid the chopper fires on. | 1/16 |
| RATE | Playback speed of the grabbed slice. Lower = longer/lower, higher = shorter/higher. | 1x |
| STRETCH | Granular time-stretch. Slows playback without changing pitch. Overlapping grains preserve tonal character. | 0 |
| STUTTER | Micro-loop repeat. Captures a tiny window and loops it — glitch-hop buffer freeze. | 0 |
| DECAY | Level of each judder retrigger as a percentage of the last. 100% = no decay. | 80% |
| Knob | What it does | Default |
|---|---|---|
| PITCH | Semitone shift. FINE mode (Tools) enables cents. | 0 |
| SLIDE | Pitch bend across the slice from start to end. | 0 |
| REVERSE | Probability that the grabbed slice plays backwards. | 0% |
| JUDDER | Number of rapid retriggers inside one slice. | 1 |
| JUDDER DIV | Rate of those retriggers. | 1/32 |
| SHAPE | Bipolar transient control. Negative values = Soft (Buchla 292 LPG — sound darkens as it decays, vactrol-style release). Positive values = Snappy (one-shot transient boost envelope — punchy attack that decays quickly). Zero = bypass. Re-pings on each judder. | 0 |
| CHAOS | Random per-slice modulation on other parameters. The wildcard. | 0 |
| Knob | What it does | Default |
|---|---|---|
| DRIVE | Soft tape saturation before the filter. | 0 |
| FOLD | Wavefolder drive. Clean at zero, metallic/harmonic as it climbs. | 0 |
| RING MOD | Multiplies the slice by a sine wave, 20 Hz to 2 kHz. Can be scale-quantised in Tools. | 0 |
| TAPE | Combined wow (0.7 Hz drift) + flutter (7 Hz wobble). Squared response curve — low settings are subtle, full clockwise is heavy cassette character. | 0 |
| FEEDBACK | Wet re-injection into the ring buffer. Thickens into resonance through the filter pair. | 0 |
| RES | Filter resonance. In Tilt mode, adds emphasis at the tilt frequency. In LP/HP/BP modes, controls resonant peak sharpness (up to near self-oscillation). | 0 |
| TONE | Filter cutoff / tilt. Behaviour depends on filter mode (right-click to change): Tilt = bipolar dark/bright EQ; LP/HP/BP = resonant filter with full-range cutoff sweep (20 Hz–20 kHz). | 50% |
| Knob | What it does | Default |
|---|---|---|
| BITS | Bit-depth reduction. 16-bit clean down to ~2-bit grit. | 0 |
| RATE | Sample-rate decimation via sample-and-hold. The knob displays the effective sample rate (e.g. "22.1k", "5.5k", "2.0k") based on your session's sample rate. Range caps at ~2 kHz to keep things usable. | 0 |
Tools has two toggles for CRUNCH: Anti-alias filter (post-S&H low-pass at Nyquist) and Mu-law companding (S950-style log quantisation). These options are also accessible by right-clicking the BITS or RATE knob. Both are on by default, which gives a warmer, more "vintage hardware" character — closer to an S950 or SP-1200 than a cheap digital converter.
For a harsher, more obviously digital sound, turn one or both off:
| Knob | What it does | Default |
|---|---|---|
| SHIMMER | Octave-up feedback halo. Shimmer-reverb style. | 0 |
| SMEAR | Short delay blur at slice boundaries. | 0 |
| VARISPEED | Per-slice DJ brake. Each slice decelerates over its own length. | 0 |
| STEREO | Per-slice stereo width. Stereo mode (Tools) picks the method: Random pan, Ping-Pong, Auto-Pan, or Haas delay. | 0 |
| Knob | What it does | Default |
|---|---|---|
| CHANCE | Per-Act firing probability. 0 = never, 1 = every slice. | 100% |
| MIX | Dry/wet balance (equal-power crossfade — no volume dip at the midpoint). | 50% |
| SEQ RATE | Clock division the sequencer advances at. | 1/16 |
| SWING | Host-synced swing. 50% = straight, 54% = Dilla, 66% = shuffle, 75% = dotted. | 50% |
Hit MOD to flip the main knob area into the modulation editor. What you see applies only to the currently-selected Act — each Act has its own independent set of 4 LFOs.
Each LFO picks one of seven shapes. Five are standard bipolar oscillators (they swing the target around its current position). The sixth is a monopolar envelope that fires once per trigger event. The seventh follows the input signal’s amplitude.
Rate is always one dropdown; only the label changes when you flip the SYNC|FREE toggle.
Sync mode (BPM-locked): Off, 1/32, 1/16T, 1/16, 1/8T, 1/8, 1/4, 1/2, 1 bar, 2 bars, 4 bars, 8 bars, 16 bars.
Free mode (plugin clock): Off, 0.05 Hz, 0.1 Hz, 0.25 Hz, 0.5 Hz, 1 Hz, 2 Hz, 4 Hz, 8 Hz, 12 Hz, 16 Hz, 20 Hz, 30 Hz.
Flipping between sync and free reinterprets the selected index, so a MOD running at “1/4” becomes “0.5 Hz” when you flip to free — same slot in the dropdown, different meaning.
Bipolar from -1.0 to +1.0. Depth 0 means the LFO does nothing even if it’s running. Negative depth inverts the shape.
Either the dropdown on the MOD page, or right-click the knob you want to modulate and pick Assign to MOD 1..4. The dropdown lists all 28 lockable knobs alphabetically. A knob with a MOD assigned shows a cyan body ring so you can spot modulation at a glance.
When Shape = Env AHD, the Rate / Sync controls disappear and three sliders appear instead:
Envelopes are monopolar — they only push the target up (or down, with negative depth), never oscillate. Each envelope needs a trigger event. That event is picked in the trigger mode dropdown:
When Shape = Env Follow, the Rate dropdown relabels to Smoothing and the Sync button is hidden. The envelope follower tracks the plugin’s input signal level using an asymmetric one-pole filter: attack is 3× faster than release, so the follower snaps to transients but releases smoothly.
Higher rate index values = faster response (less smoothing); lower values = more averaged, slower-moving output. The follower is monopolar (0 to 1) and works well for ducking effects in time with the input — for example, targeting TONE depth so the filter opens on loud hits, or targeting MIX so slices only come through when the input is quiet.
The MOD preview shows a cyan level bar representing the current follower output.
Each MOD panel also has an X-Target and X-Depth. X-Target picks another MOD slot (or None); X-Depth is the amount this MOD’s output modulates the target MOD’s depth. Use it to build slowly-evolving patches: a 4-bar sine modulating a 1/4 saw’s depth will make the saw fade in and out over four bars.
X-Mod stacks with parameter targeting. The two routes are independent — a MOD can drive its own target knob and feed another MOD’s depth at the same time. So (for example) MOD 1 -> Target SMEAR can also have X-Target MOD 2, and you’ll hear SMEAR wobbling on MOD 1’s shape while MOD 2’s amplitude envelope breathes in and out of MOD 1’s output. Nothing special has to be enabled — setting any non-zero X-Depth just activates the second route on top of whatever parameter target the MOD already has.
The MOD-page waveform preview paints cross-modulation in real time. The target MOD’s waveform amplitude is modulated per-pixel by the sum of incoming X-Mod contributions, so you see the envelope the other MOD is imposing instead of a uniform depth scale. A small <- MOD n badge pulses in the top-right of the preview when one or more sources are active, listing the source slot numbers.
Shift-click any step cell to enter Lock Edit mode. The cell shows a yellow border. While in Lock Edit, moving a knob doesn’t change the Act — it stamps that knob’s value onto this step as a parameter lock, which overrides the Act value every time the step fires. Shift-click again to leave Lock Edit.
Locks are per-step, per-knob. A step can carry locks for any number of knobs. The yellow dot on the step’s info bar tells you at least one lock exists; right-click -> Clear p-locks wipes them.
Chance is lockable too — lock Chance to 0.25 on a specific step and that step fires only a quarter of the time, independent of the Act’s Chance.
The TOOLS button in the header opens the Tools page as a full-screen overlay — same treatment as the MOD page. Click the button again (or press Escape) to dismiss. Alt-click for the debug menu.
As of v0.42 the page is split into two views selected by a tab strip along the top:
[GLOBAL] [A] [B] [C] [D] [E] [F] [G] [H]
Clicking GLOBAL shows the tools that apply to every Act. Clicking A..H shows the per-Act tools and binds the controls to that Act’s slot. Switching tabs re-lays out the page; the tab label is echoed in the hint text at the top left of the strip so you can see at a glance which scope you’re editing.
Two columns of panels. Everything here is a single value shared across all eight Acts.
Two columns. Everything here is per-Act — switching tabs reads the selected Act’s values into the controls and writes them back as you edit.
Engine (the big panel on the left)
Stereo / FX on Dry / Ring Mod (right column)
The Engine is a small bundle of character options that, as of v0.41, is stored per-Act. Where the per-Act knobs are brushes, the Engine is the frame the painting sits in — and now every Act gets its own frame. It has four parts: Output Stage, Output Mix, Interpolation, and the Crunch flags (Anti-alias + μ-law S950-style companding). The old “apply to all audio / slices only” scope toggle lives in the FX on Dry Signal panel now — it really is an FX-on-dry routing, so that’s where it belongs.
All Engine values are saved inside each Act (both in session state and in .lpsbact presets, version 2+) so a single session can stack a polished Cubic-interp Bus-Comp Act against a Drop-sample AM-Radio Act two steps later.
Act changes drive the master Output Stage through a 384-sample (~8 ms @ 48 kHz) linear A/B crossfade. The incoming Output Stage is fully re-initialised (all filter histories zeroed) before the fade starts, so mode swaps at sequencer step boundaries don’t leave discontinuities. Interpolation and Crunch flags are baked onto each voice at fire time, so a slice that started under Act A keeps its character for its whole lifetime even if the sequencer flips to Act B mid-slice.
For editing: open Tools and edit the Engine column. The controls operate on whichever Act is currently selected in the Act bar. Switch Acts, reopen Tools, edit again — each Act keeps its own values.
A global colorisation processor at the very end of the chain — after the per-Act FX, after softLimit, before the lookahead delay. The Output Mix knob blends it in. Modes:
Where the slice is read from the rolling buffer at non-unity pitch. Affects the slice itself before anything else touches it.
The two long-standing CRUNCH toggles, now part of the Engine bundle so they recall with everything else.
The Engine layers stack — you pick one Output Stage, one Interp, two Crunch flags, and the combination defines the whole sonic identity. Some that sound great:
| Stack | Recipe | Why |
|---|---|---|
| Vintage S950 | Linear + Anti-alias ON + Mu-law ON + Reel-to-Reel @ 75% | The polite-vintage rack — gritty quantisation glued by tape compression. |
| Rude SP-1200 | Drop + Anti-alias OFF + Mu-law OFF + Damaged @ 75% | Maximum grit, no apology. The hardware-eating-itself sound. |
| Polite SP-1200 | Drop + Anti-alias OFF + Mu-law ON + Reel-to-Reel @ 50% | Gritty pitched slices, glued master. The producer’s secret-sauce path. |
| Boombox loop diary | Linear + Crunch off + Boombox @ 100% + per-Act Tape high | Plastic speaker with C90 colour layered on individual Acts. |
| Voicemail | Linear + Mu-law ON + Phone Bus @ 100% | Lo-fi voicemail aesthetic. |
| Dub plate | Cubic + Anti-alias ON + Lathe @ 75% | Pre-emphasised dub master with the occasional skip. |
| VHS memory | Cubic + VHS Hi-Fi @ 30% | Dreamy, half-remembered. |
| Glue bus | Cubic + Anti-alias ON + Bus Comp @ 100% | Print-ready master with no colour. |
| Vinyl crate | Linear + Anti-alias ON + Mu-law ON + Vinyl @ 60% | The crate-dig texture — pops, hiss, gentle wobble. |
| AM drone | Linear + Mu-law OFF + AM Radio @ 50% + per-Act Stretch high | Field-recorder atmosphere. |
Presets always carry their full Engine and Character settings. Loading a factory or user preset sets the Engine (output stage, interpolation, crush AA/Mu-law, filter mode, frequency split) and all Character right-click options (drive type, fold topology, tape mode, lookback behaviour, etc.) along with the knob values and MODs.
The plugin ships with 19 factory presets: Jungle Stretch, 2am Trippy, Rubber Ducky, Whip It, Night Owl, Digital After All, Trash Can Sinatra, Snare Roll, Pad Stabber, Satan’s Organ, aye but gently, Roll Down, Cage 4’33", A Little Crispy, Pretty Machine, Seek Out Space, Cup Fungus, Pattern Gap Handler, and Loopbreaker.
Factory presets save MOD assignments as well as knob values (Pretty Machine and Loopbreaker ship with active LFOs; the rest ship with MODs off but preserve whatever you have when you save over them from your Acts).
Clicking the preset name label at the top of the plugin opens the preset browser. User presets are shown at the top level for quick access; factory presets live inside a Factory subfolder at the bottom.
ACTS menu -> Save act X as user preset… prompts for a name and an optional category. Categories create sub-folders so you can organise a large collection without breaking the UI.
~/Library/Application Support/LoopSaboteur/UserPresets%APPDATA%\LoopSaboteur\UserPresets~/.config/LoopSaboteur/UserPresetsTo create a category, just type a name in the Category field when saving — a sub-folder is created automatically. User presets (with sub-categories) appear at the top of the Load menu, with Load / Reveal / Delete per entry.
| Where | Shortcut | Action |
|---|---|---|
| Step cell | Left-click | Stamp current Act |
| Step cell | Right-click | Step context menu |
| Act button (A-H) | Right-click | Act context menu (clear, copy, paste) |
| Step cell | Shift-click | Enter Lock Edit |
| Step cell | Cmd/Ctrl-click | Toggle freeze-hold |
| Step cell | Alt-click | Cycle ratio |
| Step cell | Ctrl+Shift-click | Range select |
| Knob | Drag | Coarse adjust |
| Knob | Shift+drag | Fine adjust |
| Knob | Double-click | Reset to default |
| Knob | Right-click | MOD assign + per-knob options menu |
| Anywhere | Cmd+Z / Ctrl+Z | Undo last destructive step-grid op (clear, randomise, pattern) |
| Anywhere | Escape | Close MOD / Tools overlay if open |
| Help button | Click ? in header |
Quick Keys cheatsheet popover (scrollable) |
Not documented here — a handful hide in the plugin waiting to be found. Some are visual, some require specific knob positions, some require specific patterns, some fire on particular calendar dates, and at least one lives in the preset list. One you've probably already seen is the J Dilla tribute in the swing knob.
Loop Saboteur is licensed under the GNU General Public License v3.0. You may redistribute and/or modify it under the terms of that license. Source code: github.com/clickysteve/Loop-Saboteur
Loop Saboteur is made by steve / allmyfriendsaresynths. Bug reports and feature requests welcome.