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.
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.
Grab the last N bars retroactively, or arm and record forward. Clock-synced, half-step aligned.
Grid slicing at Β½-step to 4-step resolution. Up to 16 slices per page on the step buttons.
Seeded randomness assigns one of 26 effects per slice and shuffles play order, at your densities.
Punch between clean loop and pattern β instant, slice-, or loop-quantized. Re-roll until it slaps.
The same DSP core ships as three modules. Install the one(s) that match how you want to route audio.
| Module | Type | Audio source | Where it runs |
|---|---|---|---|
| smack | audio_fx | whatever 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-in | sound_generator | Move'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. |
| oversmack | overtake | Move'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. |
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:
| Repo | Installs |
|---|---|
| timncox/schwung-smack-fx | smack β chain / Master FX |
| timncox/schwung-smack-voice | smack-in β standalone input Voice |
| timncox/schwung-oversmack | oversmack β 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.
click=swap)
and jog-click. The web editor's Slot-module panel does the same swap
from the browser.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.
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.
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.
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.
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.
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.
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.
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.
| Feature | What it does |
|---|---|
| BPM detect | Shift+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 guard | smack-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 follow | Move's stop pauses the loop and play restarts it. Switch to Free from the parameter list. |
| Presets | Full 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.) |
| Accessibility | With 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 pressure | Global punch responds to pad aftertouch β pressure sweeps the held effect's parameter (Pitch punches bend Β±24 st). |
| Pad play | smack-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. |