Overview
two builds, one engineWork 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.
| What it needs | Move |
|---|---|
| 8 rotary encoders | the 8 knobs |
| 16 trig keys | the 16 step buttons |
| a data encoder | the jog wheel |
| hold trig + turn encoder | hold step + turn knob |
Signal flow
a source, then two insertsThree 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.
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.
The p-lock gesture
try it belowHold 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.
No step held. Turning a knob edits the base value for the whole pattern.
Also on a held step
| Gesture | Result |
|---|---|
| hold + turn knob | parameter-lock that knob |
| hold + Shift + turn knob | escape the gesture, edit the base value instead |
| hold + jog | set condition, micro-timing or retrig, per the active mode pad |
| hold + lock-clear pad | drop every lock on that step |
| tap, no edit | toggle the trig on or off |
Surface map
pad rows numbered from the topStep 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
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:
| Gesture | Does |
|---|---|
| UP / DOWN | next / previous track. Stops at the ends rather than wrapping. |
| MENU + step 1–8 | jump 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.
| List | Rule |
|---|---|
| 21 effects | colour 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 sources | colour 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
| Colour | Meaning |
|---|---|
| Dim | inside the pattern length, no trig |
| White | a plain trig |
| Green | a trig carrying parameter locks |
| Cyan | a trig with a condition on it |
| Bright green | the step you are holding |
| Red | the playhead |
Inside a Signal Chain slot, Move’s firmware keeps the pad grid and the Capture button for itself. A chain UI receives only the screen, the eight knobs, the jog wheel and Back — so Work is entirely knob- and jog-driven.
| Control | Function |
|---|---|
| Jog turn | move between pages: Machines, SRC, FX 1, FX 2, LFO 1, LFO 2 |
| Shift + jog turn | move between tracks. Stops at the ends rather than wrapping, and the page title says which track you are on. |
| Jog click | jump back to the Machines page |
| Shift + jog click | swap the module in this slot |
| Knobs 1–8 | the current page’s eight parameters |
The Machines page picks all three machines, the global dry/wet, and this track’s level and pan. Knob labels follow whichever machine is loaded — they are read from the DSP, so they always match.
Track selection is on the jog rather than a knob because it is navigation, not a parameter: changing track replaces every value on the page, exactly as changing page does. Only track 1 receives the chain’s input; the others play from their own source machines and their own sequencer lanes, which is what makes a Signal Chain slot able to hold something closer to an instrument than an effect.
The machines
26 · knob labels A–HEvery 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.
Samples
8 seconds · stereoFive 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.
| Accepts | Becomes |
|---|---|
| 8, 16, 24, 32-bit PCM and float WAV | 16-bit |
| mono | duplicated to both channels |
| more than two channels | first two kept |
| any sample rate | unchanged — see below |
| longer than 8 seconds | truncated |
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.
| Machine | Voices |
|---|---|
| One Shot | one |
| Polysample, Slicer | eight, oldest stolen first |
| Wavescan | free-running, needs no trig |
| Granulator | free-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.
Sequencer
Overwork · 64 stepsTrig conditions
Set with the jog while a step is held, in condition mode.
| Label | Fires when |
|---|---|
OFF | always |
FILL / !FIL | Fill is on / is off |
PRE / !PRE | the previous conditional trig fired / did not |
1ST / !1ST | the first pass / any later pass |
25% 50% 75% | at that probability |
1:2 … 4:4 | on pass A of every B |
Per-step attributes
| Attribute | Range |
|---|---|
| Condition | 19 options, above |
| Micro-timing | ±23 twenty-fourths of a step |
| Retrig | off, 1/4, 1/8, 1/16, 1/32 |
| Parameter locks | 36 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.
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.
| Family | Reaches |
|---|---|
| Voice LFO 1, 2 | the source stage’s eight parameters, then the seven voice-filter controls — 15 destinations |
| FX LFO 1, 2 | insert 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 | Reaches |
|---|---|
8–15 / 16–23 | FX 1 / FX 2 parameters A–H |
24 / 25 / 26 | FX 1 machine, FX 2 machine, dry/wet |
27 / 28 | track level, track pan |
32 / 40 | voice LFO 1 / 2, seven fields each |
48 / 96 | FX LFO 1 / 2, seven fields each |
56–60 | modulation envelope |
64 / 65 / 66 | sequencer, fill, live record |
80–87 / 88 | source 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.
The browser editor
edit from a phoneOverwork 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.
Install
schwung-manager- Open schwung-manager on your Move — usually
move.local:7700. - Choose Install Custom Module.
- Point it at
timncox/schwung-workfor Work, ortimncox/schwung-overworkfor Overwork. Either repo URL, or upload a release tarball directly. - Rescan. Work appears as an audio effect in the Signal Chain and Master FX; Overwork appears in the overtake menu.
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.