Work &Overwork

Twenty-six machines for the Ableton Move — twenty-one effects and six sources — in a source stage and two insert slots, with three FX LFOs. Overwork adds the whole surface and a 64-step sequencer that parameter-locks them.

Playing on hardware
ModuleSchwung / Move
Buildsaudio_fx · overtake
Revisionv0.7.0
01

Overview

two builds, one engine

Work is the audio_fx build. It drops into a Signal Chain slot or a Master FX slot and processes whatever is upstream.

Overwork is the overtake build. It takes over Move’s whole surface and runs the same twenty-six machines on the live input — mic, line, or USB-C — with a step sequencer driving parameter locks.

Both are eight tracks. A track is a source machine, two insert effects, a voice filter, three LFOs, a modulation envelope, level and pan — and its own lane in the sequencer, with its own trigs, its own parameter locks and its own micro-timing. The chain build hands its input to track 1; the other seven play from their own sources.

Why the surface maps so cleanly

The gesture that defines hardware step sequencing — hold a step, turn an encoder, and that step remembers the value — needs eight encoders and a row of trig keys under your fingers at once. Move has eight knobs and sixteen dedicated step buttons, so it is a 1:1 map rather than an approximation.

Correspondence
What it needsMove
8 rotary encodersthe 8 knobs
16 trig keysthe 16 step buttons
a data encoderthe jog wheel
hold trig + turn encoderhold step + turn knob
02

Signal flow

a source, then two inserts

Three stages in series, each holding one machine. The first is the source stage: it takes a sample machine, so loading one costs you no insert. The two insert slots after it take effects. The FX LFOs reach any stage parameter, and in Overwork the sequencer’s parameter locks sit between the base value and the LFOs.

A stage only accepts machines from its own family, and says so rather than substituting something near enough: you cannot put a reverb in the source stage or a sampler in an insert. That is what makes the pads predictable — the palette shows the machines the focused stage will actually take.

Work signal flow diagram Audio enters at IN, passes through the source stage and then insert FX 1 and 2 in series, then a global dry/wet mix, then OUT. A resolution chain feeds the stages: base parameter values are overridden by the sequencer's parameter locks, which are then modulated by the FX LFOs. IN mic · line · USB-C SRC 1 of 6 sources INSERT FX 1 1 of 21 effects INSERT FX 2 1 of 21 effects MIX dry / wet OUT base value p-lock FX LFO RESOLUTION ORDER, RECOMPUTED EVERY BLOCK to every stage

A lock sets the value; the LFO then moves around whatever the lock set. Pointing a lock and an LFO at the same parameter is well defined, not a fight.

03

The p-lock gesture

try it below

Hold a step button. Turn a knob. That parameter is now locked on that step. Release the step and the knob goes back to editing the base value.

Interactive — FX 1 : Clock Pitch hold a step, then drag a knob

No step held. Turning a knob edits the base value for the whole pattern.

What a trig does when it fires Each firing trig is a complete snapshot: parameters it locks take their locked value, and parameters it does not lock revert to base. A trig whose condition fails changes nothing at all. That is a deliberate choice, not an inevitability — it makes a pattern readable by looking at one step.

Also on a held step

Held-step gestures
GestureResult
hold + turn knobparameter-lock that knob
hold + Shift + turn knobescape the gesture, edit the base value instead
hold + jogset condition, micro-timing or retrig, per the active mode pad
hold + lock-clear paddrop every lock on that step
tap, no edittoggle the trig on or off
04

Surface map

pad rows numbered from the top

Step buttons 1–16 — the pattern page’s trigs

Pads — rows 1–3 are the machine palette for the focused stage; row 4 is transport, and Shift turns its last four into the step-attribute modes

Focused stage:

Select a pad to read what it does.

Changing track

Everything above — the palette, the knobs, the pattern on the step buttons — belongs to the selected track. Two ways to move:

Track selection
GestureDoes
UP / DOWNnext / previous track. Stops at the ends rather than wrapping.
MENU + step 1–8jump straight to that track. While MENU is held the step buttons show the tracks, not the pattern: bright is the selected one, lit means a source machine is loaded.

The bar under the screen title is all eight tracks at once — the selected one solid, any track with trigs underlined — so you can see where your material is without leaving the page you are on.

Palette pad colours

The palette shows one family at a time, so the two lists are coloured by different rules — each gets the one that suits its length.

What a lit palette pad is telling you
ListRule
21 effectscolour is the family: filters green, reverbs blue, modulation cyan, delays orange, destruction red, pitch violet, compressor and Tilt yellow, Flutter pink. Twenty-one machines is a list you hunt through, and “the reverbs are the blue ones” is what makes it navigable.
6 sourcescolour is the position, running as a spectrum down the list — orange, yellow, green, blue, violet. Family says nothing when every machine on screen is a source, so the hue tracks the order instead and reinforces where your fingers already are.

Bypass is grey in both, because it means the same thing in both: empty. The machine loaded in the focused stage burns brighter than the rest.

Step LED colours

What the step buttons are telling you
ColourMeaning
Diminside the pattern length, no trig
Whitea plain trig
Greena trig carrying parameter locks
Cyana trig with a condition on it
Bright greenthe step you are holding
Redthe playhead
05

The machines

26 · knob labels A–H

Every machine belongs to a family, and a family decides which stage will take it. Twenty-one effects process what reaches them and load into either insert. Six sources load into the source stage; five of them replace the input with a sample instead of treating it, which is what lets Work originate audio rather than only colour it. Bypass belongs to both, because every stage needs a way to be empty.

Each card below says where its machine loads. Machine order is the preset format and is append-only. Loading a machine installs its own defaults, and switching machines clears that stage so no reverb tail leaks into whatever loads next.

06

Samples

8 seconds · stereo

Five machines read a sample rather than their input, and all five live in the source stage. One sample is loaded at a time and every one of them shares it, so switching between One Shot, Slicer and Wavescan auditions the same audio three ways — and none of it costs you an insert.

Loading one

In Overwork, hold Shift and press the stage pad (row 4, third from the left). The jog scrolls, a jog click loads, and the same Shift + stage pad closes the browser.

The browser walks UserLibrary/Samples and UserLibrary/Recordings, four levels deep — deep enough to reach Schwung’s own resampler and skipback folders, which file by date.

What loads
AcceptsBecomes
8, 16, 24, 32-bit PCM and float WAV16-bit
monoduplicated to both channels
more than two channelsfirst two kept
any sample rateunchanged — see below
longer than 8 secondstruncated

Sample rate is not converted. A 48 kHz file plays about a tone sharp, because playback follows the file rather than resampling it. That is what a sampler does, and what TUNE is for.

What a source machine is

An effect treats what arrives at it. A source machine replaces it. Load one into the source stage and Work stops being an insert and starts being an instrument, with both inserts still free to process what it makes.

With no sample loaded a source machine is silent rather than noisy — an empty source stage makes no sound, it does not pass its input through. Granulator is the exception, and deliberately: with no sample it granulates the live input, so it works as either a source or an effect on whatever is upstream.

Triggering

A full trig fires the voice; a lock trig deliberately does not — that is what makes it a lock trig. An incoming note fires it too, so the machines are playable from a keyboard or Move’s pads with the sequencer stopped.

Notes set pitch, with note 60 as unity — C3 plays the sample as recorded and everything else transposes from there.

Voices
MachineVoices
One Shotone
Polysample, Slicereight, oldest stolen first
Wavescanfree-running, needs no trig
Granulatorfree-running grains, needs no trig

Where the source machines stop

All five read the one loaded sample, and that single buffer is the limit worth knowing about. Polysample is polyphonic and has real vibrato, but there are no multi-sampled instruments — every note plays the same buffer transposed. Slicer gives you the playback controls, not eight sample tracks; Work is one source stage and two inserts, not a multitrack sampler. Wavescan has no wavetable library, so the loaded sample is the wavetable, read as a series of 2048-frame waves — load a wavetable file and it behaves as one, load a drum loop and you get something else.

07

Sequencer

Overwork · 64 steps

Trig conditions

Set with the jog while a step is held, in condition mode.

Conditions
LabelFires when
OFFalways
FILL / !FILFill is on / is off
PRE / !PREthe previous conditional trig fired / did not
1ST / !1STthe first pass / any later pass
25% 50% 75%at that probability
1:24:4on pass A of every B

Per-step attributes

Attributes
AttributeRange
Condition19 options, above
Micro-timing±23 twenty-fourths of a step
Retrigoff, 1/4, 1/8, 1/16, 1/32
Parameter locks36 lockable parameters

Lockable parameters

Twenty-four stage parameters — eight each for SRC, FX 1 and FX 2 — plus all three machine selects, the track’s level and pan, and the seven voice-filter controls. Locking a machine select swaps that stage’s machine for that step, within its own family: a lock cannot put a reverb in the source stage any more than a pad can, and the step still fires — you hear the machine you locked.

The global dry/wet is deliberately not lockable. It belongs to the whole chain rather than to this track, and LEVEL is the per-step control that replaces it.

Retrig, precisely Retrig restarts the FX LFOs and the filter envelope. It does not stutter the audio — the Decimator’s FREZ parameter is the machine for that.

Feedback protection

Overwork reads the mic and puts the result on the speakers, which is a feedback loop waiting to happen. schwung’s own guard only walks Signal Chain slots, so it never sees an overtake module at all — Overwork carries its own.

Whenever the speakers are live with nothing plugged into the input jack, the live input is muted automatically and the screen says so. Shift + the Fill pad overrides it, and the override stands until the jack state itself changes, so the guard never fights you.

The input is muted at the input, not the output — so reverb tails and delay repeats ring out and decay naturally instead of being cut dead.

Pattern bank and song mode

Sixteen patterns; Shift + a step button selects one, the way it works on the hardware. Song rows chain patterns with a repeat count and an optional length override, and pad 83 switches between pattern and song playback. Each pattern carries its own length and page mask, so switching pattern switches those too.

Undo, redo, memorize

Pad 81 undoes the last destructive edit and Shift+tap redoes it; pad 82 recalls on a tap and memorizes on a hold. Every transform, clear and recall takes a snapshot first.

Trig types

A full trig applies its locks and restarts the LFOs and modulation envelope. A lock trig applies its locks and nothing else. With no voices to place notes for, that is the distinction that carries over.

Live recording

Shift + Play arms it. With the sequencer running, turning a knob writes a parameter lock onto whichever step is playing and arms a trig there — the same path a MIDI CC takes, so an external controller records locks too. The play pad turns red while armed.

Probability

Every step carries its own probability, 1–100, separate from its trig condition — both gates must pass. Shift + the pattern-page pad selects probability mode, then hold a step and turn the jog.

Modulation

Four LFOs in two families, plus an AHD modulation envelope that restarts on every firing trig. Resolution order is base → parameter lock → envelope → LFOs, so each stage rides the one before it.

The two LFO families
FamilyReaches
Voice LFO 1, 2the source stage’s eight parameters, then the seven voice-filter controls — 15 destinations
FX LFO 1, 2insert 1 A–H, then insert 2 A–H — 16 destinations

A voice LFO cannot be pointed at an insert, and that is the point rather than a limitation: a single flat destination list would be twice as long to page through on one encoder, and most of it would be somewhere you did not mean. The two ranges both count from zero and mean different things, so the destination readout always names what it found — SRC C, F.RESO, FX2 A.

MIDI

Track N listens on channel N. Channel 1 drives track 1, channel 8 drives track 8, and the map below is the same on every one of them — so eight tracks come off one external sequencer without anything new to learn. A channel above the eighth reaches nothing at all, rather than falling through to whichever track you happen to be looking at.

External CC only — Move’s own encoders arrive as internal CCs and are ignored, and a duplicate inside two blocks is dropped.

CC map, per channel
CCReaches
8–15 / 16–23FX 1 / FX 2 parameters A–H
24 / 25 / 26FX 1 machine, FX 2 machine, dry/wet
27 / 28track level, track pan
32 / 40voice LFO 1 / 2, seven fields each
48 / 96FX LFO 1 / 2, seven fields each
56–60modulation envelope
64 / 65 / 66sequencer, fill, live record
80–87 / 88source parameters A–H, source machine

The source stage sits at 80 rather than continuing after 26, because 27–31 is not eight controls wide — and because 8–26 was published meaning the inserts and the dry/wet, which is still exactly what it means.

Presets

Shift + jog click opens the preset browser. The jog scrolls, a click loads, and the top entry saves a new one; the clear pad deletes the selected preset. Presets are stored outside the module directory, so reinstalling Overwork does not remove them.

Pattern length runs to 64 steps across four pages. The sequencer also exists in the chain build, where it defaults to off — a sequenced FX in a Signal Chain slot is a real use, not an accident.

08

The browser editor

edit from a phone

Overwork and Work In carry a full editor you reach from any browser on the same network. Open move.local:7700, go to the Tool tab with Overwork running, or to a chain slot holding Work In. Nothing to install — the page ships inside the module.

It shows all eight tracks at once, which the Move’s screen cannot: each track’s source machine and level along the top, then the selected track in full — the three stages under their loaded machines’ own knob names, the voice filter, four LFOs, the modulation envelope, and the pattern. Clicking a track changes the selection on the device too. It is the same instrument, not a copy of it.

Every parameter shows two numbers when they differ: what the knob is set to, and what the sound is actually using once a parameter lock or an LFO has moved it. A modulated parameter otherwise looks like a stuck one.

Edits go both ways. Turn a knob on the Move and the browser follows; change something in the browser and the Move’s screen follows within a fraction of a second. The device notices by polling a cheap revision counter rather than re-reading its whole state, so nothing slows down while you play.

The Work chain-slot build has no page of its own — schwung only serves a custom editor for a slot’s instrument, not its effects. It gets schwung’s own generated controls instead, with the knob names of whichever machines are loaded, which needs schwung 0.11.7 or newer.

09

Install

schwung-manager
  1. Open schwung-manager on your Move — usually move.local:7700.
  2. Choose Install Custom Module.
  3. Point it at timncox/schwung-work for Work, or timncox/schwung-overwork for Overwork. Either repo URL, or upload a release tarball directly.
  4. Rescan. Work appears as an audio effect in the Signal Chain and Master FX; Overwork appears in the overtake menu.
If you are on schwung v0.11.4 or older Overwork declares audio_in, which on those versions can raise a launch-gate confirmation the tool cannot answer once it owns the surface (schwung issue #158). Remove that flag from its module.json, or keep line-in or headphones plugged in, which clears the condition entirely.

After updating a module already on the device, fully exit it — Shift + Volume + jog click from inside — and relaunch. Pressing Back only suspends the session, which resumes the old code.