Schwung module Β· Ableton Move Β· Operation Manual

Smack

Loop it. Slice it. Roll the dice.

smack v0.13.0 Β· audio_fx smack-in v0.13.0 Β· sound_generator oversmack v0.10.0 Β· overtake requires schwung

Smack grabs a quantized loop of whatever you're playing, auto-slices it on the grid, and lets seeded randomness assign glitch effects and a new play order to the slices. The pattern repeats identically every pass until you re-roll β€” chaos you can perform.

Pattern SEED 0001 hover a slice Β· click to mute β€” this is exactly how the module rolls
16 SLICES Β· 1 BAR Β· RES 1 STEPFX 65% Β· ORDER 40%
01 Β· What it is

Four moves, one loop

Smack is a performance looper-mangler in the family of Sugar Bytes Looperator and dblue Glitch, built for hands-on hardware use on the Move. It records incoming audio β€” mic, line, USB-C, or whatever is upstream in the Signal Chain β€” into a continuously running 70-second ring buffer.

Capture is retroactive: press it and the last 1 step to 16 bars you already played become the loop, aligned to the clock grid. No punch-in anxiety. Prefer to record forward? Arm does that.

The loop is sliced on the grid, then a seeded roll hands out effects and slice-order swaps at the densities you set. Seed 1234 always produces pattern 1234 β€” the Seed knob literally browses patterns by number, and Re-Roll deals a fresh hand.

A/B punches between the untouched loop and the pattern, quantized so it always lands musically. Every slice can be inspected, muted, pinned to a chosen effect, or tweaked β€” from the pads or from a browser.

STEP 1

Capture

Grab the last N bars retroactively, or arm and record forward. Clock-synced, half-step aligned.

STEP 2

Slice

Grid slicing at Β½-step to 4-step resolution. Up to 16 slices per page on the step buttons.

STEP 3

Roll

Seeded randomness assigns one of 26 effects per slice and shuffles play order, at your densities.

STEP 4

A / B

Punch between clean loop and pattern β€” instant, slice-, or loop-quantized. Re-roll until it slaps.

02 Β· Three builds, one engine

Pick your host

The same DSP core ships as three modules. Install the one(s) that match how you want to route audio.

ModuleTypeAudio sourceWhere it runs
smackaudio_fxwhatever is upstream in the chain Signal Chain slots and Master FX β€” put it on the master to glitch the entire Move mix. On Master FX there's no custom pad UI; the knob pages are the interface, and the two master LFOs can target any Smack parameter (try FX Density).
smack-insound_generatorMove's selected input (mic / line / USB-C) Standalone looper in a track slot. Gets the full pad + step UI in the component editor, plus a browser editor via schwung-manager.
oversmackovertakeMove's selected input (mic / line / USB-C) Takes over the whole Move surface: steps select slices, three pad rows become an effect palette, bottom row is transport. Launch from the overtake menu (Shift+Vol+jog-click). Play passes through, so Move's transport and clock keep running underneath.
Back β‰  exit on oversmack. Pressing Back merely hides the UI β€” the DSP keeps looping (great for tweaking the mix elsewhere while Smack plays). Re-enter from the overtake menu; full exit is Shift+Vol+jog-click again.
03 Β· Install & setup

Two minutes to first loop

1 β€” Install. In Schwung Manager, search the Module Store for Smack, Smack In, or Oversmack. For a custom install, use the matching dedicated distribution repo:

RepoInstalls
timncox/schwung-smack-fxsmack β€” chain / Master FX
timncox/schwung-smack-voicesmack-in β€” standalone input Voice
timncox/schwung-oversmackoversmack β€” full-surface editor

2 β€” Load it. smack / smack-in go in a Signal Chain slot (smack also in Master FX); oversmack launches from the overtake menu.

Swapping a loaded module. In the Signal Chain editor, a plain jog-click on an occupied component opens that module's editor β€” to swap it instead, highlight the row and Shift+jog-click: the module chooser opens even when the slot is full (pick another module, (None) to clear, or [Get more...] for the store). Mute+jog-click toggles bypass. The same gesture works inside Smack's slot editor: hold Shift (footer shows click=swap) and jog-click. The web editor's Slot-module panel does the same swap from the browser.
Sync note β€” do this once. Set Move's MIDI Clock to Out (same requirement as the Arp). That's how modules hear the transport. Without it Smack free-runs at the project tempo β€” still functional, just not phase-locked to Move's playback. Ableton Link works with zero extra setup: Move's tempo follows Link and Smack follows Move.

On-device help ships with the modules: Shift+Vol+Menu β†’ Help β†’ Modules. And with schwung's screen reader enabled, the editor announces pads, knobs, and loop state as you go.

04 Β· The surface

Every pad, mapped

Tap any pad or step below to see what it does. The two layouts share the same bottom-row muscle memory β€” oversmack adds the three-row effect palette on top.

Step buttons 1–16 β€” slice pattern, one color per effect, white playhead chase
β€” tap a pad β€”
Colors match the actual step-LED colors on the device: reds are stutters, blues reverses, purples pitch, oranges tape, greens filters & destruction, cyans space.
⏺ CAPTURE β€” retro grab ⇧+⏺ β€” detect BPM β–Ά PLAY β€” passthrough β—Ž JOG β€” step pages

Knobs 1–8

FX
effect density
0–100%
ORD
reorder density
0–100%
LEN
loop length
1 step – 16 bars
RES
slice size
Β½ – 4 steps
WET
effect mix
0–100%
ROLL
right: re-roll
left: idle
A/B
clean loop /
pattern side
SEED
pattern number
1–9999

Hold SHIFT for layer two (oversmack) β€” PanL Β· PanR Β· Channels Β· Loop Len Β· BPM Β· Monitor. The hierarchy Setup page also keeps Loop Len and Slice Res close at hand.

LEN vs RES β€” the one people mix up. Len is how much audio the loop holds (1 step to 16 bars). Res is how finely that loop is diced for the pattern (one slice every Β½, 1, 2, or 4 steps). Long loop + fine resolution = many small slices = busy glitch; short loop + coarse resolution = a few big chunks. Both controls are live after Capture: changing Len immediately crops the playing window from its beginning, or extends it backward into retained pre-capture audio; changing Res immediately re-slices and re-rolls that same window. No recapture is needed.
05 Β· Workflow

Capture β†’ roll β†’ punch

Capture (retro). Play something. Press Capture β€” pad 68 or the hardware Capture button on oversmack, jog-click in a slot editor (slots don't receive pads or the Capture button β€” firmware keeps them). The last Loop-Length of audio becomes the loop instantly β€” Smack was already listening. The ring keeps recording while the loop plays, so capturing again grabs whatever you played since.

Arm (forward). Press Arm; recording starts on the grid and loops automatically when Loop-Length is reached. The pad burns bright red while armed/recording.

A/B. Tap to flip between the clean loop (A) and the pattern (B). On oversmack, hold the pad for a momentary punch β€” it flips while held and snaps back on release. Flips use the A/B Quantize setting: Instant, next Slice, or next Loop boundary.

Re-Roll. Deals a new pattern from the current seed stream. Same knobs, new dice. The SEED knob browses patterns by number instead β€” seed 1234 is always the same pattern for the same loop settings, so you can write your favorites down.

Steps. The 16 step buttons show the pattern β€” one color per effect family, white playhead chasing through. In the chain UI a step press mutes that slice's effect (press again to restore the roll). On oversmack a step press selects the slice for editing with the palette. Loops with more than 16 slices page: jog wheel (oversmack) or pad 72 (chain).

Clear. Drops the loop and returns to idle. The ring keeps recording; nothing else is touched.

Deterministic by design. The pattern β€” effects, their parameters, and slice order β€” is locked to the seed. It repeats bit-identically every loop pass until you re-roll, change the seed, or change a density. Randomness you can rehearse.
06 Β· The palette

26 effects + clean

Each rolled slice gets one of these, with a rolled parameter. Colors below are the actual LED colors on the step buttons. The lists under each card are the variant options you can dial in per slice from the pads or the web editor β€” and in the web editor every effect also has a Depth slider (its own meaning per effect: feedback on the delays, resonance on the filters, drive on Distort, grain size on Freeze/PShift, decay on the stutters…) plus a universal per-slice Mix that blends the effected slice against the clean one. The dice never touch Depth or Mix β€” they're yours.

stutter reverse pitch/speed tape shape filter space destruction texture
07 Β· Pinning & punch

Bend the dice

On oversmack, the upper three pad rows are the effect palette, grouped by family and lit in family colors. The arrangement is yours to change β€” Arrange pads in the web editor swaps pads, replaces a pad's effect entirely (duplicates welcome β€” two Delay pads at different times), and pins a variant to a pad ("Buzz β€” Massive" as a pad of its own). Variant pads assign, pin, and punch with that exact setting. The hardware follows instantly and the layout persists in presets. With a slice selected on the steps:

Tap a palette pad β†’ assign that effect to the slice.
Re-tap the same effect β†’ lock it exactly as it currently sounds (keeps the rolled parameter).
Hold β‰₯ Β½ s β†’ pin it. Pins survive Re-Roll β€” build a skeleton of moments you love, then re-roll everything around them.
Unlock (top-right pad) β†’ hand the slice back to the dice.

Pinning never disturbs its neighbors: unlocked slices roll identically with or without pins, so a pattern you save today restores exactly tomorrow.

Global punch. Hold a palette pad with no slice selected and that one effect takes over the whole loop, in original order, for as long as you hold β€” pad pressure bends its parameter while you lean in. Release, and the pattern comes back untouched. Instant fills: hold Buzz, lean, release.

Mute vs clean. In the chain UI, a step press mutes a slice's effect (temporary, roll preserved). On oversmack, assigning Clean from the palette does the equivalent β€” and Unlock restores the roll.

Pad play (smack-in). In a slot's component editor the Move grid stays a note grid β€” so smack-in listens: with Pad Play on (the default), every pad triggers a pattern cell (note % slices) on the next Pad Rate boundary β€” the beat, by default β€” and repeats it while held, velocity as volume, newest pad winning. Release, and the loop is exactly where it would have been. MPC-style slice juggling with zero setup, on the stock pad grid.

08 Β· Web editor

The loop, in a browser

smack-in and oversmack ship with a full browser editor, served by schwung-manager from the Move itself β€” open move.local:7700 β†’ Remote UI. smack-in appears in its slot; oversmack under the Tool tab. Live sync both ways: pad moves show up in the browser, browser edits hit the pads instantly.

Per-slice tweaking. Click any slice, pick any effect, and set its parameter from a menu of musical options (the same lists as above) β€” finer control than the pad palette, same engine.

Depth & Mix. Every slice gets two more dials: a per-effect Depth (delay feedback, filter resonance, distortion drive, retrig decay, pitch glide, scatter chaos…) and a Mix that blends the effect with the clean slice β€” parallel crush, subtle stutters, 20%-wet reverbs. Both save into pins, presets, layouts, and even palette pads: a pad can be "Delay β€” Ping-pong, feedback 80, mix 50".

Effect presets. Save a favorite effect + parameter combo ("Buzz β€” Massive") and stamp it onto slices with a click.

Arrange pads. Reorganize the effect palette: click a pad to edit it β€” pick any effect (duplicates OK) and any variant β€” or click a second pad to swap positions. The Move's pad LEDs re-light as you go, and the layout is saved with presets. Factory layout is one click away.

Layouts. Save the entire pattern β€” seed, densities, resolution, pins β€” as a named layout. Applying one re-rolls the current loop into that exact pattern; the audio is untouched. Export/import as text to share.

Version note. The Tool tab and live sync need a schwung release newer than v0.11.4. On older releases the smack-in slot editor still works β€” reload the page to see pad-side changes.
09 Β· Dual mono

Two synths, one Smack

Running two mono synths into Move's stereo line-in? Flip Channels to Dual Mono (pad 74, or the Shift knob layer) and Smack treats left and right as two independent signals β€” each with its own effect pattern, own slice order, own pins β€” then places them in the stereo field with Pan L / Pan R (equal-power, LFO-targetable from Master FX).

Lane select (pad 75) picks which lane the steps and palette edit β€” cyan for left, orange-red for right. Hold it and turn knobs 1–2 to set the pans. Both lanes share one seed stream, so dual-mono patterns are just as reproducible as stereo ones, and the A side always plays the raw stereo input untouched.

10 Β· Extras & guardrails

The small print that isn't

FeatureWhat it does
BPM detectShift+Capture analyses the last 8 s of input and sets the free-run tempo (60–180, octave candidates biased toward the project tempo; title bar shows @BPM). Only used when no MIDI clock is present β€” real clock always wins. Pads and drones with no clear pulse politely report "no clear tempo" instead of guessing.
Feedback guardsmack-in / oversmack monitor their input. If Move's speaker is on with no line-in cable (mic β†’ speaker = squeal), Smack auto-mutes input monitoring β€” the ring keeps recording and loop playback stays audible. The Monitor pad (73) shows green/red and overrides manually.
Transport followMove's stop pauses the loop and play restarts it. Switch to Free from the parameter list.
PresetsFull settings snapshot via schwung's module-preset system β€” loop settings, densities, seed, pins, channel mode all restore. (Audio is not saved; capture is the performance.)
AccessibilityWith schwung's screen reader on, the UIs announce pads, knob values, slice selection, and loop state in plain words. Master FX knob pages announce via the host.
Punch pressureGlobal punch responds to pad aftertouch β€” pressure sweeps the held effect's parameter (Pitch punches bend Β±24 st).
Pad playsmack-in maps incoming MIDI notes to pattern cells β€” in a slot editor the stock pad grid becomes beat-quantized slice-repeat pads (note % slices, velocity as volume, rate 1/16–1 bar). Release returns to the still-running loop.
11 Β· Spec sheet

Numbers, for the curious

Ring buffer
70 s continuous, records even during playback
Loop length
1 step – 16 bars, 4/4, 16th-note steps
Slice resolution
Β½ / 1 / 2 / 4 steps per slice
Clock
MIDI clock 24 ppqn; free-run fallback at project tempo
Effects
26 + clean; per-slice variant, depth & mix
Seeds
1–9999, fully deterministic patterns
Pitch
Β±24 st varispeed (linear interp β€” lo-fi is the charm)
Channels
Stereo or dual-mono with independent lanes
Capture align
retro grabs align to the last half-step boundary
Source
Framework
schwung by Charles Vestal
License
MIT Β· heavily written by coding agents, human-supervised