User Manual · Kaiq Electronics · VST3
The Memory Loop Slicer (MLS) is a live loop duplicator with real-time rhythmic manipulation. It freezes incoming audio, locks it to the host's clock and transport, and plays that material back as a loop you can reorder, slice, reverse, shift and vary — without stopping the music.
The design follows a two-deck philosophy: the Main output (your input, always passing through) and the Loop output (the manipulated loop) are kept separate and raw, by design. This is not a dry/wet effect — you blend the two freely on your own mixer, the way you would blend two turntables, at any loop size.
Right-click the panel and choose Show Guide to open a panel of live, contextual help alongside the instrument; the window widens to make room for it, the same way it does for the Bank Browser (see section 10). Hover any control and the Guide explains what it does, what happens right now given the current state, what its right-click menu offers, and why it might be doing nothing if that is the case — updating as the mouse moves, with nothing to click. Choose Hide Guide from the same menu to close it.
Reading this manual and running the Guide side by side is a reasonable way to learn the instrument: this manual explains the reasoning behind a control, and the Guide answers what touching it does right now.
The Software requires a one-time online activation of your license key, provided at the time of purchase. Enter it the first time the plugin loads; from then on, the MLS works fully offline for everyday use.
In the background, the plugin periodically reconnects to confirm the license is still valid. This happens automatically and does not interrupt your work, as long as it succeeds at least once within any 7-day period.
You are warned before that ever matters. With two days left in the period, a strip appears at the top of the panel — Reconnect to verify license, 2 days left — counting down to one. It appears only when you open the plugin window, never in the middle of a performance, and a single click dismisses it. It also disappears on its own the moment a background check succeeds.
If a computer goes more than 7 days without ever reconnecting to the internet, the Loop output stops and a message appears on the panel until the next successful check — reopening the plugin does not clear this, only reconnecting does. The Main (dry) signal is never affected, so a live performance never goes silent because of this. In practice, any normal use of the same computer — email, browsing, streaming — is enough to keep this from ever becoming a problem.
Each license activates on up to 2 devices at a time. To move your license to a new machine, free a slot first:
Right-click the panel → Deactivate License → Yes - deactivate this computer.
This releases the activation immediately, and you can then activate on the new machine. Do this before formatting, selling or discarding a computer — once a machine is gone, its slot can no longer be released from the plugin.
If you reach the activation limit, the activation screen tells you which step to take. If a computer was lost or failed before you could deactivate it, write to support@kaiqelectronics.com and we will release the slot.
Lost your license key? Both your key and your invoice were emailed to you automatically at the time of purchase — check that inbox first. If you can't find it, write to support@kaiqelectronics.com from the email address you purchased with, and we'll look it up and send it back to you.
MLS checks once per session whether a newer version exists. This is a small, passive check — it does not interrupt anything, and there is nothing to configure.
When an update is available, a small red dot appears in the top strip of the panel, next to the WARM/VIVID switch. Click it to open the download page in your browser. Since the plugin file is loaded inside your DAW while you work, installing the update still requires closing your DAW first, the same as installing MLS the first time.
| OS | Windows 10 or later (64-bit), or macOS 11 (Big Sur) or later (Intel or Apple Silicon). |
| Format | VST3 (Windows and macOS). |
| CPU | Intel Core i3 / AMD Ryzen 3 or equivalent (64-bit, dual-core or better). The MLS is a lightweight plugin — dozens of instances can run simultaneously even on modest hardware. |
| RAM | 4 GB minimum, 8 GB or more recommended for your DAW and overall project (MLS itself uses only a few tens of megabytes per instance). |
| Sample rate | any rate supported by your host (44.1 kHz–192 kHz). |
The MLS is a multi-output plugin: one stereo input, and two stereo outputs — Main (input passthrough) and Loop (the manipulated loop). Both outputs need to be routed inside your host.
The Main bus arrives normally on the track hosting the plugin. To capture the Loop bus, create a new audio track and, in the Audio From selector, choose the track hosting the MLS, then Loop. Set that track's Monitor to In — on Auto, a track set up purely to receive another track's audio stays silent unless it is armed for recording. You now have two tracks — the original signal and the manipulated loop — to blend as you like.
Bitwig does not expose a plugin's extra outputs until you ask it to, so at first the Loop bus appears to be missing entirely. It is not: four steps bring it out.
1. Create the chains. Right-click the MLS device in the Device Panel and choose Add Missing Chains. The same command sits behind the double-arrow button at the top of the device, where an ordinary plugin shows a single-arrow Post FX button instead.
2. Check the result. The device now lists two chains, Main (1/2) and Loop (3/4). Nothing here needs adjusting — leave both levels as they are.
3. Receive each bus on its own track. Create two audio tracks. On the first, open the audio input chooser, select the track hosting the MLS, then MLS Chains, then Main (1/2) (PRE). On the second, select Loop (3/4) (PRE). Arm both tracks: in Bitwig, a track that takes its input from another track only passes audio while it is armed or monitoring.
4. Silence the host track. Set the output of the track hosting the MLS to No output. Without this, that track carries Main and Loop summed together and you hear the manipulated loop in the dry signal as well. The result is three tracks: the plugin's own, which produces no sound of its own, and one clean track for each bus.
Do not use the chain's M (mute) button for step 4. Bitwig applies mute before the point where the PRE signal is taken, so muting the Loop chain silences the receiving track along with it. Setting the host track's output to No output is the reliable way.
In other hosts (FL Studio, Cubase, Studio One, Reaper), the equivalent mechanism is generally called multi-output routing; consult your host's documentation if the second output is not visible by default.
Clock: the MLS follows the host's playhead (BPM and transport position) as its timing reference. Simply have the host's transport running for correct timing and quantization.
Table 1 — Panel Controls
| # | Control | Description |
|---|---|---|
| 1 | WARM / VIVID | Waveform color palette |
| 2 | Waveform display | 4-bar buffer and current read position |
| 3 | Slots 1–6 | Trigger the stored loops |
| 4 | SAVE (×6) | Saves the corresponding slot's content |
| 5 | REC | Arms slot recording |
| 6 | LOOP / RAW / LIVE | Slot trigger mode (click to cycle) |
| 7 | Size display | Current loop size (e.g. 1 BAR, 1/16) |
| 8 | REV | Reverse |
| 9 | LOCK | Pattern Lock |
| 10 | SIZE | Loop Size |
| 11 | HUM | Humanize |
| 12 | OFFSET / SHUFFLE | Offset (swing) or Shuffle — mode set by right-click |
| 13 | DECAY / GLOBAL | Per-slice decay envelope — label reads GLOBAL with Decay Mode set to Global |
| 14 | CHAOS | Chaos |
| 15 | GAPS / ECHO | Gaps — label reads ECHO with Echo Tail Mode enabled |
| 16 | PATT | Pattern Length |
| 17 | FREEZE | Freezes or stops the loop |
| 18 | REFREEZE | Recaptures without stopping |
| 19 | HALF | Loop ÷2 (tap) / Size Slide (hold) |
| 20 | DBL | Loop ×2 (tap) / Size Slide (hold) |
| 21 | NAV BCK | Step backward / free scan (hold) |
| 22 | NAV FWD | Step forward / free scan (hold) |
| 23 | MOV BCK | Move Back |
| 24 | MOV FWD | Move Forward |
| 25 | PHASE − | Phase nudge backward |
| 26 | PHASE + | Phase nudge forward |
| 27 | Step grid | Beat indicator, following the host's transport |
| 28 | PAGE A / B | Switches the visible bank of six slots (12 total) |
| 29 | BANKS | Opens the bank browser drawer |
A snap knob selecting the loop size, from 1/16 up to 4 bars: 1/16, 1/8, 1/4, 1/2, 1 bar, 2 bars, 4 bars. The internal buffer always holds up to 4 bars of audio in the background, which is what allows navigation and slice variation after freezing.
With no loop playing, Freeze captures and starts playback. With a loop playing, Freeze stops it, clearing phase, Move offset and scan state.
Recaptures over the currently running loop without needing to stop first.
Divides (÷2) or doubles (×2) the loop size. Length is tracked with floating-point precision, so Half followed by Double returns to the exact original size. Under Pattern Lock, Half/Double preserve the same number of pattern steps — only the duration of each step changes.
Hold — Size Slide. Holding either button activates a continuous size slide with no repitch; the loop shrinks or grows smoothly while held, and releasing commits the current size. Slide speed is dynamic — slower and more expressive on large loops, faster on small ones.
Undo. After releasing a size slide, the opposite button performs an undo instead of its usual function: after holding Double, tapping Half returns to the pre-slide size (not ÷2); after holding Half, tapping Double returns to the pre-slide size (not ×2). The undo is cancelled by a nav tap, any other size change, a slot recall, or a freeze.
Sub-slice mode. When Pattern Length is at its smallest detent under lock (display reads 1 SL), Half/Double pulse to indicate a secondary mode: tapping divides the current slice further (÷2, ÷4, ÷8…) without affecting loop length or chaos, and holding slides the sub-slice size continuously.
Keep dividing and the loop becomes an oscillator. Past a certain point the ear stops counting repetitions and starts hearing pitch, and the sub-slice crosses out of rhythm into note territory. At 120 BPM that starts around 1/64, and past 1/128 the loop is sounding a low, steady tone.
Two things are worth knowing when playing there. Each further division halves the period, so past the threshold every tap of Half is exactly one octave. And the pitch follows the tempo, not the key — it sits near notes without settling on them, and the offset moves with the project tempo, which is worth accounting for over tonal material.
Holding becomes a glide, and it's the only way to get there. Tapping stops at 1/128 — taps land on clean octave steps, and that is the smallest one available. Crossing past it, into genuine oscillator territory, only happens by holding Half: down here the hold stops behaving like a size control and turns into continuous pitch, sweeping down while held and climbing back with Double, landing wherever you release — including places no tap would reach. The display does not track the exact size this far down, which is expected: hold Half and listen for the tone rather than watching the readout.
The timbre comes from whatever audio is inside the window, which at this size works as a single wave shape rather than as content: different slices give different tones, and Chaos becomes, in effect, a selector between them, while Pattern Lock holds one still. The division stops at a practical limit in the upper register.
A tap, at any loop size, steps the read window through the 4-bar buffer in quantized increments, preserving grid phase. Holding — for loops of one bar or smaller — enters Free Scan: the window glides continuously through the buffer while the loop keeps playing on the clock, with pitch preserved and grid phase intact; releasing locks in the point found.
Undo. After releasing a scan, the opposite Nav button undoes it: after holding Nav Forward, tapping Nav Back returns to the pre-scan position, and vice versa. The undo is cancelled by a normal nav tap, a size change, a slot recall, or a freeze.
Step size. Right-clicking either Nav button opens Nav step, offering
1 slice (the default) or 0.5 slice. The half step reaches the middle of a
slice instead of only the next one — useful for landing on an off-grid detail, or
for pushing the whole slice grid half a slice against the beat. Both buttons share
one setting, since the step applies going forward and back alike. The window keeps
its length; only the hop changes.
Because slice addresses are measured from the window's start, a half step also shifts the Chaos slice grid by half a slice — every slice moves with it. That is intentional, and it is what makes the gesture musical rather than merely finer.
While a half step is in effect the waveform makes it visible: the display frame anchors to the slice grid, so the playing window sits offset inside the frame instead of flush at its left edge, and the offset stays put instead of sliding.
Flips the read direction as a mirror image. Toggling Reverse on and off always returns exactly to the forward position, without losing the bar, and works consistently alongside Shuffle, Chaos and Pattern Lock.
It can be armed before there is anything to reverse. Press REV with the plugin idle and the direction is set; the next Freeze starts already reversed, with no second press in the middle of a phrase. Refreeze keeps it too, since reverse is a direction of playback rather than a property of the material. Stopping clears it, so the next freeze starts forward from a known state. A slot carries its own direction and applies it on recall.
Rotates the loop's start point without altering its content, so a manipulation can be aligned to the project grid. The direction follows the step grid as you read it: Move Back brings the start point to the left, Move Forward to the right. Presses are quantized to the clock, so timing accuracy is not required — a press lands on the next beat. Move survives Nav, Half and Double; it resets on freeze, refreeze and stop, and persists with the project.
This is the control for making a Chaos or Pattern Lock phrase sit where you want it against the track. The step grid at the bottom of the panel is the reference: watch where the sequence starts and walk it into place.
How far one press travels. Short freezes move by a single grid square, for fine alignment; from 1/4 upward a press moves a whole beat, since inside a long slice a 1/16 nudge is barely audible and walking a phrase into place would take a dozen presses:
| Freeze length | Squares per press |
|---|---|
| 1/16 | 1 |
| 1/8 | 1 |
| 1/4 and longer | 4 (one beat) |
The whole sequence slides together as one block — audio, chaos slices and pattern steps — so what you see on the step grid is exactly what moves. With a short freeze, a slice that sits on square 13 walks to 14, 15, 16 and then round to 1; four presses of a longer freeze cover the same ground a beat at a time.
The grid paints steps 1, 5, 9 and 13 darker as beat references. With a 1/16 freeze it takes four presses to walk the start from one of those to the next; from 1/4 upward a single press does it.
Under Pattern Lock, Move rotates the start across the whole locked phrase instead of a single cycle — the step size from the table above is unchanged, but the wrap-around point moves to the far end of the pattern, so a full turn of presses walks the start through every slice the lock captured, not just one.
Shifts the loop's zero marker in milliseconds, with no repitch — intended to compensate for constant hybrid-setup latency. A tap applies a fixed 10 ms nudge; holding produces an accelerating scrub, from roughly 4 to 25 nudges per second over about three seconds. Phase is active only while the loop is frozen.
Processing follows a fixed order:
Humanize → Offset/Shuffle → Chaos → Gaps
Decay operates independently of this chain, as an amplitude envelope applied on top, per slice.
Across every knob in this chain, 0 is the neutral position — no humanize, no offset/shuffle, no chaos, no gaps. Decay is the one exception: its neutral position is 100, with the effect increasing as the knob comes down.
Introduces subtle timing variation for a more human feel. Because it is first in the chain, every later stage inherits this variation.
This single knob has two mutually exclusive functions, selected by right-click; the panel label reflects the active mode. New plugin instances start in Shuffle mode; projects saved before this feature existed continue to load in Offset mode, so previously finished work is never altered.
Offset is the MLS's original effect: a second, independent read pointer running on a shifted cycle, producing a swing character distinct from a simple delay.
Shuffle applies a long-short ratio between loop cycles, in the style of classic drum-machine swing — the off-beat cycle enters delayed while the pair of cycles retains the same total duration, so the grid never drifts. The delay is measured against a fixed 1/16 grid rather than the loop's own length, so the same swing feel holds at any loop size.
An amplitude envelope that rearms on every slice and shortens its tail. At 100% (the default), the loop plays at full length with no decay. Lowering the knob causes each repetition to decay progressively faster — useful, for example, to dry out a repetitive hi-hat pattern. The response follows a logarithmic curve, keeping control gradual across the full range of the knob.
The level holds up as you turn it down. Shortening a decay removes sound, which would normally leave the loop quieter the further down you go. It is compensated automatically, so the knob can be used for shape rather than for volume, and the attack of each slice keeps its weight without any risk of clipping. Some difference still remains at the very bottom of the range, and it is unavoidable: a slice that sounds for only a few milliseconds cannot carry the same loudness as one that sounds throughout.
Decay Mode: Snapshot or Global. Right-click the Decay knob, or the panel itself, to choose where the Decay value comes from when you fire a slot. Snapshot, the default, gives each slot the Decay it was memorised with, so triggering one moves the knob. Global ignores what the slot stored and leaves the knob where you put it, so a single setting covers every slot while you play — useful when the Decay is part of how you are performing rather than part of each loop. Nothing is lost either way: every slot keeps its own stored value, and switching back to Snapshot brings it straight back. The panel label reads GLOBAL instead of DECAY while that mode is active, and the choice is saved with the project.
Selects different slices from the 4-bar buffer on each cycle, producing organic rhythmic variation. At 0, slice 0 always plays — a conventional loop. From 0 to 50%, the engine introduces irregular hesitation before advancing, for a living, non-mechanical repetition; from 50 to 100%, it always advances, and the jump distance between slices grows until it spans the entire loop. The same slice is never repeated twice in a row.
Decides, last in the chain, how much of the pattern is taken away — opening breathing room and dynamic variation. At 0 every step plays; raise the knob and steps start falling silent, until at 100% none of them sound. Gaps behaves differently once Pattern Lock is engaged (see section 8).
Echo Tail Mode, enabled by right-clicking the Gaps knob, causes silenced steps to release a polyphonic decaying tail from that slice rather than silence, with up to twelve simultaneous voices. The knob label reads ECHO while active, and the setting persists with the slot and the project.
A snap knob setting how many steps the Chaos and Gaps pattern spans before repeating.
It can be engaged before there is a loop to hold. The button responds and the state is set immediately, even with nothing frozen yet — there is simply nothing for it to hold until you freeze a loop and Chaos begins reordering slices. This is the same idea as arming Reverse ahead of time (see section 6).
Right-clicking LOCK determines what gets captured when the button is pressed. Lock Played Pattern, the default, captures the pattern that just played — the variation you have just heard from Chaos and Gaps — which suits performance, since a good variation can be held exactly as heard. Lock Upcoming Pattern instead captures the pattern about to be generated, built by Chaos over the following cycles.
Engaging Lock freezes the entire chain — the chaos slice sequence, the gaps pattern, and the pattern phase — so the loop repeats an identical result, cycle after cycle. It behaves as a simple toggle.
Gaps as a subtractive layer. With Lock engaged, the Gaps knob becomes a live layer that can only drop steps currently playing; it never re-enables a silenced step. The knob's ring pulses gold while the layer is armed.
Pattern Length as a performance window. With Lock engaged, the knob no longer sets pattern length but instead defines a performance window over the locked phrase. Reducing it narrows the window — a build-up effect, without altering the captured content, and fully reversible. Increasing it past the lock point expands the pattern, capturing additional chaos slices. The display reads FULL, then fractional values such as 3/4 or 1/2, then 1 SL for a single slice, and finally ÷2, ÷4 and so on for sub-slice build-up.
The LOOP / RAW / LIVE button, next to REC, cycles the active slot's trigger mode — changing how a slot sounds, not creating a new slot.
| Mode | Behavior |
|---|---|
| LOOP | Classic auto-loop; plays continuously until stopped. |
| RAW | Free one-shot gate, firing on the exact sample of the press. |
| LIVE | One-shot gate quantized to 1/16, with a slight anti-latency look-ahead. |
In RAW and LIVE, the slot plays while the mapped control is held and stops on release, in the manner of a CDJ; repeated presses re-trigger cleanly from the start of the loop.
Twelve numbered buttons, shown six at a time across two pages, store loops for live triggering. A slot responds to the level of its parameter — holding keeps it playing, and releasing cuts it in RAW/LIVE mode; in LOOP mode, a press triggers continuous playback until stopped. This behavior applies equally to the mouse and to any control mapped through the host.
To record, press REC — it arms, with the LED blinking — and the next slot pressed records into it on the next clock quantization. Recording is always two presses: REC first, then the slot; pressing a slot on its own, without REC armed, only plays it. Recording writes over existing slots, with the exception of the one currently playing, and requires an active frozen loop.
Recording captures the exact live output — everything you hear, with any Chaos, Pattern Lock, Shuffle, Decay and other manipulation already applied. The slot becomes playable after two bars, with no interruption to the sound: whatever was already playing simply continues, now adopted as that slot's content. Capture then carries on silently in the background for up to four bars in total, purely so a longer Chaos or Pattern Lock sequence is captured in full once the slot is saved or exported — nothing about what you hear changes during this time. Arming a new recording before the four bars are complete simply ends that background capture early; saving or exporting afterward then uses whatever length was actually captured, never less than two bars.
Slots can be reordered by dragging one onto another — including across the two pages, as Slot Pages A and B describes below — and deleted by right-clicking a slot and choosing Delete Slot or Delete All Slots.
Slot LEDs indicate state: solid for playing or armed, pulsing while recording, and a faint blink for an empty slot while REC is armed.
A memorized slot is stored musically, not as a fixed piece of audio: the plugin keeps where the sequence begins on the step grid, which slice starts it, and how far you moved it — all in musical units. Change the project BPM and the slot re-stretches to the new tempo without stopping the transport, keeping the phrase in exactly the same place against the bar.
This holds in both directions and across repeated changes. The manipulation you approved is the thing that is stored, so it survives the tempo of the session it plays in.
A live freeze, not yet memorized, is a different case — it keeps the tempo it was captured at. Memorize it to a slot and it starts following.
Right-clicking a slot opens the load menu; right-clicking a SAVE button opens the save menu.
Snapshot (.mls) captures the complete state of one slot: the underlying
recorded material plus every manipulation parameter — loop position, reverse,
chaos, gaps, pattern lock, shuffle/offset, echo tail, decay, phase and
BPM. This is not a fixed audio recording; it is the exact information the
engine needs to regenerate the manipulation live, which is why a .mls file
is far lighter than the equivalent WAV. Save Snapshot writes to the default
folder with a timestamped name; Save Snapshot As lets you choose the path; Load
Snapshot loads a file into a slot.
Either way you get two files, not one: the .mls and a .wav beside it,
under the same name. They are not alternatives. The .mls rebuilds the
manipulation inside the plugin and stays editable; the .wav is the finished
result, ready for any other program.
Save Snapshot As opens with the name already started for you, in the form
MLS_###BPM_ — where ### is filled in with the tempo you are actually
working at. Keep it and type your own name after it, giving something like
MLS_###BPM_intro riff. Do not replace it.
The reason is that the tempo of a .mls is read from its filename. A snapshot
saved without the BPM tag still loads and still sounds, but it comes back at its
native size and will not follow the project tempo — and nothing on screen
announces the difference, so it is easy to miss until the loop is out of time.
The save dialog belongs to your operating system, and some versions open it with the whole name selected instead of with the cursor at the end. If your first keystroke wipes the prefix out, press End, or click at the end of the field, before typing.
Bank (.mlsbank) captures all valid slots at once, creating a folder
structure of Banks, Snapshots and Audio subfolders. Loading a bank clears the
slots and reloads each one into its original position; a slot that was playing
at the moment of the load is preserved, so switching banks does not interrupt
the sound. A .mlsbank file can also be dropped directly onto the panel to
load it.
BANKS, to the right of the SLOTS label, opens a drawer alongside the panel listing every bank found in the configured folder. The window widens to make room for it, so nothing on the panel is covered or resized.
Banks appear by name, which makes naming a bank after the song it belongs to the natural way to work: open the drawer, find the song, load its slots already prepared. Double-click loads — a single click only selects, because loading a bank replaces every slot and only the one currently playing is preserved.
The list is read when you open the drawer, so a bank saved or renamed outside the plugin appears the next time you open it — but only when the drawer opens, not while it stays open, so move or rename files with the drawer closed if you want the new contents to show right away. If the drawer is empty it says why, distinguishing a folder that could not be found from one that simply holds no banks yet.
There is only one export folder in the whole plugin, shared by WAV/bank export, the Load Bank and Save Bank As dialogs, and this drawer. Change it once (right-click on the panel → Select export folder...) and everywhere that reads or writes banks follows automatically — including a folder on an external drive.
WAV files can be loaded into a slot directly, including by drag and drop. Export writes the actual rendered audio — the same live capture described in section 10 — for up to four bars, so the complete result of a Chaos or Pattern Lock manipulation is captured in full even though the slot itself was ready to play after two. If a new recording interrupted that background capture, export simply uses whatever length was actually captured.
The filename encodes the BPM (for example, MLS_122BPM_..._Slot3); on load, the
MLS adapts the loop to the project's current BPM by that ratio. Files saved
without a recognizable BPM in the name play at their native size.
Always save with the host's transport running. Saving while stopped stamps a default 60 BPM in the filename, which will cause the loop to play too fast when reloaded at the project's actual tempo.
Every control is a plugin parameter, automatically exposed in the host's automation and mapping systems, with no additional configuration required.
Knobs (Loop Size, Humanize, Offset, Chaos, Gaps, Pattern Length, Decay) and the menu-selected modes (Offset Mode, Lock Mode, Echo Tail, Nav Half Step, Decay Mode) are all automatable parameters, recordable as automation or mappable to a physical control through the host's MIDI or key mapping.
Action buttons — Freeze, Refreeze, Reverse, Lock, Move Back/Forward and REC — are mappable parameters as well. If the mapped control sends a momentary signal (the standard behavior of most physical MIDI controllers, with a value on press and off on release), one press produces one action. If the host's mapping only offers toggle behavior, with no momentary option, these buttons respond every second press; Loop Mode is the exception, always responding to a single press regardless of mapping style.
Slots respond to parameter level rather than a discrete trigger, matching the hold/push behavior described in section 10, and therefore function correctly with momentary controllers under any host.
Save 1 to Save 12 are mappable parameters too, so a slot can be captured from the controller without returning to the mouse. They behave as single actions rather than holds: one press writes one set of files, and holding the control changes nothing. Mapping a Save next to the slot it belongs to is the arrangement that matches the panel, where each SAVE button sits under its slot.
Independently of the host, the twelve slots are natively mapped to MIDI notes, continuing up the white keys from C3 — C3 D3 E3 F3 G3 A3 for page A and B3 C4 D4 E4 F4 G4 for page B (MIDI 60, 62, 64, 65, 67, 69, 71, 72, 74, 76, 77, 79; the first six are Ableton's standard pad layout) — with genuine push behavior: hold to play, release to cut, as soon as the plugin receives MIDI on that note, with no setup required. White keys rather than a chromatic run, so the twelve fall under the hand on any keyboard and page A keeps the notes it always had.
The Save parameters are deliberately left out of this native map: they are reached through the host's mapping, like every other control. Saving is a studio gesture rather than a performance one, and giving it a key of its own would put a file-writing action a wrong note away from a slot trigger.
To use the native map, route a MIDI source to the track hosting the MLS — for example, in Ableton Live, create a MIDI track, set its output to the track running the MLS, and arm it (or simply record-enable the MLS's own track and feed it MIDI directly). Playing C3–G4 on that source then triggers slots 1–12 immediately, independently of any host parameter mapping. All other controls are mapped through the host's own MIDI system.
| Indicator | Meaning |
|---|---|
| Frozen (FREEZE lit) | Loop frozen and playing |
| Reverse | Read direction flipped |
| Lock | Pattern Lock active |
| GAPS ring, gold, pulsing | Gaps subtractive layer armed |
| REC, red, blinking | Recording mode armed |
| Slot ring, absent | Slot is empty |
| Slot ring, muted gold | Slot holds material |
| Slot ring, brighter gold + soft glow | Hovering a slot that holds material |
| Slot ring + fill + glow, pulsing gold | Slot is playing — in step with the FREEZE button |
| Slot ring pulsing on the beat | REC armed: this empty slot is a candidate |
| Slot dimmed while REC is armed | Holds material — still recordable, just not the suggestion |
| PAGE button, gold | Something is playing or blinking on the hidden page |
| Half/Double pulsing | Sub-slice build-up mode active |
| Step grid | Follows the host's bar; the lit cell marks beat one |
The slot buttons keep a dark face at all times — state is never signalled by filling them with white. What carries the information is the ring, in a ladder of three steps that can be read from across a room:
Gold therefore has three distinct shades, and the difference between them is what separates the states: muted for content, brighter on hover, vivid with fill and glow for action. The number follows along — dim when empty, clear when loaded — but it is a supporting cue, not the main one.
With REC armed, the panel points at where the recording will land: the empty slots pulse their ring, which is the invitation, while slots that already hold material dim slightly. They remain recordable — they simply stop being the suggestion. The slot currently playing is left untouched and protected.
There are twelve slots, shown six at a time. PAGE A / PAGE B, on the left of the SLOTS label, switches between them, and the numbers on the buttons follow (1–6 or 7–12) so a slot is always identified by the same number.
During performance you should never need that button: the display follows what you play. Trigger a slot on the hidden page and the panel switches to it. And whenever something is playing or blinking on the page you are not looking at, the PAGE button itself lights gold — so REC never arms somewhere you cannot see.
A slot can also be dragged across pages: drag it onto the PAGE button and hold — the panel flips to the other page without releasing the mouse — then drop it on the slot you want to swap with. The PAGE button lights fully while a drag is over it, so the flip is never a surprise.
Over MIDI there are no pages at all: each of the twelve slots has its own note, as described in section 12 — a controller reaches all twelve directly, and the notes for the first six are unchanged from earlier versions.
With REC armed, every slot blinks as a candidate, and the empty ones blink strongest — they are the natural destination, since recording there overwrites nothing. Slots that already hold material blink faintly: still reachable, but not offered.
Saving the project preserves the twelve slots in full — audio, navigation buffer, and each slot's complete snapshot, including chaos, gaps, lock state, shuffle/offset mode, echo tail, BPM and sample rate — along with global preferences such as the Pattern Lock capture mode and the waveform palette.
A live session outside of a slot (a freeze not yet saved) is treated as performance state and is not stored with the project; anything worth keeping should be saved into a slot.
Filled slots make the project file large, because each one carries its own audio — a set with several slots in use can reach tens of megabytes, where a project without them would be a fraction of that. Keep comfortable free space on the drive you save to. A host that runs out of room part-way through writing can leave the project unsaved, and that is a bad way to end a session.
Reopening a project at a different sample rate re-clamps internal indices to the current buffer size automatically, without risk of corruption.
The window comes back the size you left it, and so does the waveform zoom chosen in the panel menu. Both are stored per instance, so two copies of the plugin in the same project can be sized and zoomed differently. A window saved on a large display opens at the largest size the current screen allows, rather than opening past its edges with the resize corner out of reach.
Whether the plugin's window reopens at all is the host's decision, not the plugin's. Ableton Live, for one, restores the device but not its editor window; opening it yourself brings back the size.
The anti-click system runs automatically and requires no configuration. The plugin continuously classifies incoming material as percussive or sustained and applies the corresponding fade at every transition point — loop wraps, slice changes, navigation, Move, Shuffle, and WAV export.
Switching between slots is the deliberate exception: it is a hard cut, with no fade of any kind, so the incoming slot keeps its first transient intact. Anything still ringing from the outgoing slot is dropped at the same instant rather than being allowed to bleed across.
| Situation | Result | Recommendation |
|---|---|---|
| Host BPM changes while a live freeze is playing | The freeze keeps its captured tempo | Memorize it to a slot, which does follow (see section 10) |
| Saving with the transport stopped | A default 60 BPM is stamped in the filename | Always save with the transport running |
| Phase, Move, Half/Double or Nav used outside a frozen state | No effect | Freeze before use |
| REC pressed with no frozen loop | Recording does not occur | Freeze before recording |
| Free Scan attempted on a loop larger than 1 bar | Nav behaves as a quantized step only | Use loops of 1 bar or smaller for scanning |
| Reverse combined with a short Decay | The attack of each slice is attenuated | Expected: reversing puts each slice's attack at its end, where the decay has already taken hold. Raise Decay, or use Reverse without it |
| An action button mapped as a host toggle | Responds every second press | Prefer momentary mapping; Loop Mode is unaffected |
| Gesture | Undo |
|---|---|
| Hold Double, then release | Tap Half to return to the pre-slide size |
| Hold Half, then release | Tap Double to return to the pre-slide size |
| Hold Nav Forward, then release | Tap Nav Back to return to the pre-scan position |
| Hold Nav Back, then release | Tap Nav Forward to return to the pre-scan position |
Each undo is cancelled by a normal nav tap, any other size change, a slot recall, or a freeze.
Apply Shuffle to a hi-hat or drum loop at 1/16 for the classic drum-machine
groove, bringing the knob up gradually until the pocket locks in. Combine Decay
with Shuffle to dry out repetitive percussive elements while they groove.
The randomness of Gaps can itself become the pattern: thin that same hi-hat
with Gaps before locking, and the exact hits Chaos and Gaps happened to choose
on that pass are what Pattern Lock freezes — what sounded random becomes a
fixed, repeating groove. From there, the Gaps knob only re-engages once you
bring it back down to 0 first — think of it as a pickup: above that, the knob
is ignored and the just-locked density stays exactly as captured; returning to 0
arms it, and raising it again drops further steps on top of that new baseline.
Enable Echo Tail with Gaps raised for a reverb-like swell generated entirely by
the DSP. Use Move to
align material to the 1/16 grid and Phase to fine-tune latency in
milliseconds — the two are complementary. A .mlsbank file can be dragged onto
the panel mid-performance without interrupting a slot that is currently
playing.