A schwung module for the Ableton Move

Mark

Five-track loop station

NEW Β· v0.4.0 Host your installed Schwung Audio FX inside any loop track
5 stereo loop tracks record Β· play Β· overdub 16 save sessions built-in + Schwung track FX web mixer RC-505 workflow

Mark turns the Move into a performance looper in the spirit of the Boss RC-505: five independent stereo tracks, each with its own record β†’ play β†’ overdub cycle, level, pan, reverse, one-shot and insert effect. Loops snap to whole measures, everything lands in sync, and one press of undo takes back the layer you regret. Move keeps playing underneath β€” its tracks are your rhythm section.

Named after Marc Rebillet β€” the RC-505's most famous pilot.

01 Β· Quick start

Loop in four presses

1
Tap a top-row pad
The track starts recording whatever Move is listening to β€” mic, line-in, or USB-C.
2
Tap it again
The loop closes on the measure and plays. Your first loop sets the grid.
3
Tap once more
Overdub β€” layer on top as it loops. Tap again to drop back to play.
4
Next column
Record track 2 β€” it waits for the measure and lands in time. Build all five.
Launching Mark: open the overtake menu with Shift+Vol+jog-click and pick Mark. Back hides the UI while the audio keeps running; Shift+Vol+jog-click exits for real.
02 Β· The track cycle

One pad, five states

Each track's top-row pad walks the RC-505 cycle. The pad's color always tells you where you are:

EMPTY Β· dimβ†’ REC Β· redβ†’ PLAY Β· green⇄ DUB Β· yellow Β· STOP Β· white

Blinking pad = scheduled. With quantize on, presses land on the next measure boundary β€” the pad blinks red (record coming) or green (play coming) until it fires. Press again to cancel.

Stop (row 2) stops the track on the spot; it restarts from the top, on the grid. Hold stop to clear the track entirely.

Record length is quantized to the nearest measure. Stop a hair late and it trims back; stop early and Mark keeps recording to the measure β€” exactly how the RC does it.

Undo / redo (top right) takes back the last recording or overdub. Press again to bring it back. One level, always the most recent gesture, on any track.

Reverse (row 3) flips playback; reversed tracks refuse overdub (RC rule). One-shot (Shift+row 4) plays the loop once and stops β€” phrases, risers, hits.

All start/stop fires every non-empty track together from the top, or stops everything at once.

03 Β· The surface

Every pad, mapped

Columns 1–5 are the five tracks; the right three columns are global. Tap any pad below to see what it does. Rows are counted from the top, the way you actually look at the device.

Step buttons 1–16 β€” loop-length bar + playhead Β· tap a step to set the length (N/16 of a measure)
β€” tap a pad β€”
Pad colors match the device: red records, green plays, yellow overdubs, white is stopped, dim is empty or off.
β–Ά PLAY β€” passthrough β—Ž JOG β€” master ⇧ SHIFT β€” layer 2 β—€ β–Ά β€” trim loop

Knobs 1–8

T1
track 1 level
0–200
T2
track 2 level
0–200
T3
track 3 level
0–200
T4
track 4 level
0–200
T5
track 5 level
0–200
MST
master level
0–200
FX
built-in or installed
Schwung FX
AMT
amount / first
module parameter

Hold SHIFT β€” Pan 1–5 Β· Monitor Β· Transport follow Β· BPM override (49 = off, project tempo)

"Current track" for the FX knobs is simply the last track whose pads you touched β€” shown in the screen footer as T3 LPF 40.
04 Β· Track FX

One insert per track

Each track carries one insert effect, toggled from the row-4 pad and shaped by knobs 7–8. Knob 7 moves through Off, LPF, HPF, Crush, Delay, Phaser, Ring, then every installed chainable Schwung Audio FX v2 module. Hold that track's FX pad for 0.6 seconds to open the module's root page: knobs 1–8 follow the same map it advertises to Schwung. Hold again to return. The web mixer builds the same controls automatically.

Native Schwung hosting. The module loads off the audio thread, swaps in at a block boundary, processes post-loop / pre-fader, receives Move's MIDI clock, and keeps tails running after the track stops. Sessions restore both the module and its settings.
Low-pass
Darkens the track; resonant sweepable cutoff.
AMT = cutoff Β· 60 Hz β†’ 11 kHz
High-pass
Thins the track β€” make room for the next layer.
AMT = cutoff Β· 40 Hz β†’ 10 kHz
Crush
Sample-rate + bit mangling, gets nastier as it rises.
AMT = destruction depth
Delay
Tempo-synced 8th-note echo riding the loop's grid.
AMT = feedback + mix
Phaser
4-stage swirl, slow tape-warble to fast wobble.
AMT = LFO rate Β· 0.05 β†’ 2.5 Hz
Ring mod
Metallic carrier from sub-thump to alien bell.
AMT = carrier Β· 30 Hz β†’ 1 kHz
05 Β· Sessions

Save the whole loop set

The RC-505 has 99 memories; Mark has 16 session slots stored on the Move itself β€” loop audio and all. Levels, pans, reverse and one-shot flags, FX assignments, modes: everything comes back exactly as saved. Power-cycles, module updates, reinstalls β€” sessions survive them all.

On the pads: tap the Sessions pad (row 3, column 7). The step row becomes the slot grid β€” green slots hold a session, dim ones are empty. Tap a green slot to load (replaces your current loops, tracks come back stopped β€” hit All to start). Hold any slot to save into it. Shift+tap deletes a saved slot. Tap the Sessions pad again to go back to the playhead view.

In the web mixer: the Sessions panel shows the same 16 slots with explicit load/save buttons and overwrite confirmations.

While saving or loading (a couple of seconds for big sets), playback keeps running and Mark simply refuses new recordings until the files settle β€” you can't corrupt a take by grabbing a pad too soon.

Where they live: /data/UserData/schwung/mark-sessions/ β€” one folder per slot with a WAV per track. Copy them off over SSH for safekeeping or DAW work.
06 Β· Single mode

Tracks become song sections

Tap the Play-mode pad (row 3, column 6) and the five tracks turn mutually exclusive: starting one stops the others, quantized to the measure. Verse on track 1, chorus on track 2, bridge on track 3 β€” one pad per section, transitions always on the grid. The RC-505 calls this PLAY MODE: SINGLE.

All-start in single mode starts just the first non-empty track; tap your way through the arrangement from there. Tap the pad again for normal multi-track layering.

07 Β· Web mixer

A desk in the browser

With Mark running, open move.local on any device on the same network β†’ Remote UI β†’ Tool tab. Five channel strips with faders, pans, reverse/one-shot, FX selectors and amounts; the mode switches; a live playhead; and the full session grid. Edits sync both ways β€” turn a knob on the Move and the browser follows.

Manager version: the Tool tab needs schwung-manager newer than v0.11.4 (the last tagged release predates it). If you don't see a Tool tab, update schwung β€” the mixer degrades gracefully to a warning otherwise.
08 Β· Sync

Who owns the grid

With Move's clock (Settings β†’ MIDI Sync β†’ Out): Mark locks to the transport. Records start on Move's measures; your loops and Move's sequencer breathe together. Ableton Link tempo changes follow automatically.

Without clock: your first loop defines the grid β€” every later track quantizes to it. Free tempo, still tight.

Polyrhythms: tap a step button to set the current track's length β€” step 15 makes a 15/16 loop against the drums' 16. Or set the quantize grid finer up front (Shift+Quantize: measure β†’ beat β†’ 8th β†’ 16th) so record lengths round to it. Either way the measure grid stays anchored for the other tracks, and trimmed audio comes back when you lengthen.

Transport follow (Shift+knob 7) decides what happens when Move's transport stops: Free (default) keeps loops running β€” Mark is its own transport; Follow pauses with Move and restarts loops from their top on play.

BPM override (Shift+knob 8) pins the free-run grid to a tempo when you're not sending clock. 49 = off.

09 Β· Install & spec

Get it on your Move

Open schwung-manager at move.local:7700, open the Module Store, search for Mark, then choose Install or Update. For a manual install, paste https://github.com/timncox/schwung-mark under Install Custom Module, or upload mark-module.tar.gz from the latest release. Requires schwung on your Move.

Tracks
5 stereo, 44.1 kHz
Capacity
60 s per track (auto-shrinks on low RAM)
Input
mic / line / USB-C β€” whatever Move selects
Undo
1 level, any track, redo included
Sessions
16 slots, audio + settings, on-device
Quantize
measure grid Β· clock or first loop
Dub modes
overdub (layer) Β· replace
Module type
overtake Β· full surface
After updating the module: a suspended Mark session resumes the old code. Fully exit (Shift+Vol+jog-click from inside) and relaunch to load the new version β€” check Help β†’ Modules for the number.
Feedback guard: if the speaker is live with no line-in cable, Mark mutes input monitoring so the mic can't howl (loops stay audible). The Monitor pad (top right) overrides when you know what you're doing; plugging in headphones clears the risk entirely.