Manual
How Schwung works on your Move — concepts, shortcuts, signal chain, routing, recording, and the limitations worth knowing.
Already installed? Open Schwung Manager. Need to install? See the Install page.
1 · Concepts
Schwung adds an unofficial UI and audio layer that runs alongside stock Move firmware. Move keeps working normally; Schwung opens it up.
Four ideas are worth getting clear before anything else:
- Shadow UI — a parallel UI you summon with a gesture. Stock Move stays running underneath; you switch back by exiting Shadow.
- Slots — four instrument slots (one per Move track) plus a Master FX slot. Each slot is a self-contained signal chain.
- Modules — the synths, audio FX, and MIDI FX that load into a slot. Modules are installed from Schwung Manager in your browser, or from the desktop installer; the catalog is community-maintained.
- Overtake modules — full-screen tools (e.g. RNBO Runner, MIDI controllers) that take over Move's display and pads instead of running in a slot.
Important. Schwung is unofficial software that modifies your Move. Back up sets and samples before installing, and read up on DFU restore mode on Centercode in case you need to recover. Move itself is not damaged by Schwung — uninstall and DFU restore both return you to stock.
2 · Getting around
There are two ways to open Shadow UI: a long-press of certain buttons, or a chord with the Shift button while touching the volume knob. Pick whichever feels less accidental — or use both. Configure under Global Settings → Shortcuts → Shadow UI Trigger (Long Press, Shift+Vol, or Both, default). Shortcuts marked — are only available via the listed gesture.
Tracks & Master FX
| Action | Long-press | Shift+Vol |
|---|---|---|
| Open slot editor | Hold Track 1–4 (500 ms) | Shift+Vol + Track 1–4 |
| Open Master FX | Hold Note/Session (500 ms) | Shift+Vol + Note/Session |
| Dismiss Shadow UI | Tap Track or Note/Session | — |
Tools, settings & sets
| Action | Long-press | Shift+Vol |
|---|---|---|
| Open Global Settings | Shift + hold Step 2 | Shift+Vol + Step 2 |
| Open Tools menu | Shift + Step 13 | Shift+Vol + Step 13 |
| Open Quantized Sampler | — | Shift + Sample |
| Skipback (save last 30 s) | — | Shift + Capture |
| Switch Set Page (when enabled) | — | Shift+Vol + ←/→ |
Overtake modules
| Action | Long-press | Shift+Vol |
|---|---|---|
| Open Overtake menu / exit Overtake | — | Shift+Vol + Jog Click |
| Suspend Overtake (keep running) | — | Shift+Vol + Back |
Knob overlay
The knob parameter overlay shown in native Move mode has its own trigger setting under Global Settings → Display → Overlay Knobs: +Shift (default), +Jog Touch, Off, or Native. Switch this to +Jog Touch or Off if Move's stock Shift+Knob actions (like fine control) are getting blocked.
3 · Schwung Manager (web)
Most day-to-day management lives in the web UI rather than on Move's display. Open http://move.local:7700 from any browser on the same network while Move is on.
- Modules — browse, install, uninstall, update modules. Install custom modules from a GitHub URL or tarball.
- Files — browse, upload, download, rename, delete files on the device. Useful for managing module assets (soundfonts, patches, ROMs).
- Config — adjust display, audio, screen reader, and feature settings. Changes apply instantly.
- System — version, debug logs, upgrade Schwung.
- Help — on-device help for Schwung and installed modules.
- Screen Mirroring — quick access at
move.local:7700/mirror.
No authentication. Schwung Manager has no password — anyone on the network can access it. Settings sync between web UI and device in real time. move.local:80 remains the stock Move manager, untouched by Schwung.
Display Mirror
Streams Move's 128×64 OLED to any browser at ~30 fps — both stock Move UI and Shadow UI. Off by default. Toggle on at Global Settings → Display → Mirror Display, then open move.local:7700/mirror (or move.local:7681). Up to 8 simultaneous viewers. Setting persists across reboots.
4 · Slots & signal chain
Each instrument slot holds a fixed signal chain:
MIDI FX → Sound Generator → Audio FX 1 → Audio FX 2 → Settings
Inside a slot:
- Jog wheel — scroll between chain positions.
- Jog click — enter the selected position; on an empty position, opens the module picker.
- Back — go up one level.
- Shift + Jog click on a loaded module — swap it out without clearing the slot first.
Most modules expose a preset browser (jog to scroll, click to select), a parameter menu organized hierarchically, and assignments for knobs 1–8.
Slot settings
The last position in each slot is its settings page:
| Setting | Description |
|---|---|
| Knob 1–8 | Assign any module parameter to a knob. Works in normal Move mode too — hold Shift and turn the knob. |
| Volume | Slot volume. |
| Receive Ch | MIDI channel the slot listens on. Match this to the Move track's MIDI Out. |
| Forward Ch | MIDI channel sent to the synth module — see deep-dive below. |
| MIDI FX | Schw (default) or Schw+Move — where the slot's MIDI FX output lands. |
| LFO 1 / LFO 2 | Per-slot modulation, see §5. |
Slot presets
- Save / Save As — saves the entire slot configuration: every loaded module plus its settings.
- Load — scroll left to the slot overview, click to see saved presets.
- Delete — removes a saved preset.
Presets and per-Set state are not the same thing. Loading a preset copies it into the current Set; tweaks afterwards live in the Set, not the preset. See §9.
5 · MIDI routing
To play a Schwung synth, send it MIDI from a Move track:
- On the Move track, set MIDI Out to a channel (1–4).
- On the matching Schwung slot, set Receive Ch to the same number (usually auto-set).
- Play the Move track — its notes trigger the slot's synth.
Pitch bend, mod wheel, sustain, and other CCs from external controllers are forwarded too.
Stop the native synth doubling. Load an empty Drum Rack or Sampler preset on the Move track. The track still sends MIDI but its own sound is silenced.
MIDI clock. Some modules (e.g. Arp) need MIDI clock for tempo sync. Set Move's MIDI Clock to Out so they pick it up.
Forward Channel modes (Auto / Thru / 1–16)
- Auto (default) — remaps incoming MIDI to the slot's Receive Ch. If Receive Ch is set to All, MIDI passes through unchanged.
- Thru — passes the original MIDI channel through unchanged. Useful for multitimbral synths that respond differently per channel.
- 1–16 — forces all MIDI to a specific channel regardless of what was received.
MIDI FX output: Schw vs Schw+Move
Schw (default) — the slot's MIDI FX output goes only to the slot synth. Move's native track instrument keeps playing whatever you played on the pad.
Schw+Move — the MIDI FX output is also injected back into Move's MIDI input on the slot's forward channel, so Move's native track instrument plays the transformed stream in addition to the slot synth.
Best use: a Chord MIDI FX. Hold one pad — Move plays the root, while the chord's harmony notes also play on Move's native track.
Limitation. A generator-style MIDI FX (e.g. Arp) emitting the same pitch you're holding on the pad won't retrigger that pitch on Move — its pattern is silent on Move for a single-pad hold. This is a technical limitation of telling our injected echoes apart from your pad release on the same note. Chord works because it emits harmony pitches that are distinct from the pad's note.
6 · LFOs
Each slot has two independent LFOs. Each one can modulate any parameter of any module in the slot's chain — synth, audio FX, MIDI FX — or each other.
| Setting | Options |
|---|---|
| Target | Component + parameter to modulate. |
| Enabled | On / Off. |
| Shape | Sine, Tri, Saw, Square, S&H, Swishy (smooth random walk). |
| Sync | Free-running (Hz) or tempo-synced (16 bars to 1/32T, including triplets). |
| Depth | 0–100%. |
| Polarity | Unipolar (0 to depth) or Bipolar (-depth to +depth). |
| Phase | 0–360°. |
| Retrigger | Reset phase on the first note-on of a new phrase. |
An indicator (~1, ~2, or ~1+2) appears above any component being targeted by an LFO. LFOs can also target each other's depth, rate, or phase for compound modulation. Master FX has its own pair of LFOs that operate on the master chain.
7 · Master FX
Open with Shift+Vol + Note/Session (or long-press Note/Session). Master FX is a chain of four audio effect slots that processes the mixed output of all four instrument slots.
Master FX has its own pair of LFOs (LFO 1 and LFO 2 in the Master FX menu) that target any parameter of the loaded master effects.
8 · Routing Move audio (Link Audio)
By default, Schwung synths run in parallel to Move and are mixed in. To run Move's own track audio through Schwung effects (e.g. CloudSeed reverb on a Move drum kit), enable Link Audio. Requires Move firmware 2.0.0+; off by default.
- On Move: Settings → Link → toggle on.
- Install or update Schwung — the installer enables Link Audio support.
- In Schwung: Global Settings → Audio → toggle Move→Schwung on.
Each Move track is captured separately and routed through the matching slot's audio FX. A slot can have both a synth (triggered by MIDI) and audio FX (processing the Move track's audio) running at once.
Restart may be needed. If you don't hear Move tracks being processed after enabling routing, restart Move — the Link Audio subscriber sometimes needs a fresh boot to start capturing.
Tradeoffs: what changes when Link Audio is on
Schwung intercepts Move's per-track streams before the native mix, so it has to rebuild the mix itself. That changes the path:
- Move's native Master FX is bypassed when Link Audio is on. Schwung's Master FX still applies to the combined output.
- Pressing Play introduces a brief delay (Move syncs to the Link quantum).
With Link Audio off, Move's audio runs its normal path including native Master FX, then everything is summed into Schwung Master FX.
9 · Recording & sampling
Sampling Schwung into Move (Sample Src)
Feed Schwung's audio into Move's native sampling path so you can capture a Schwung synth, Webstream, AirPlay, Radio Garden, or any other Schwung output straight into a drum pad or sampler clip — using all of Move's normal sampling tools (Auto-Sample, count-in, slicing, drum-pad capture).
Configure under Global Settings → Audio → Sample Src:
- Native (default) — Move's sampler uses Move's normal input (line-in / mic).
- Schwung Mix — replaces the sampler's input with Schwung's master output, so anything you can hear from Schwung becomes recordable on Move.
Recommended setup to avoid feedback while Schwung Mix is selected:
- Set Sample Src to Schwung Mix.
- In Move's native Sampler, set the source to Line In.
- Set monitoring to Off.
If monitoring is on, or routing is configured differently, audio feedback may occur.
Quantized Sampler
Open with Shift + Sample. Records Move's audio output (including Schwung synths) to WAV files, quantized to bars.
- Source — Resample (Move's mixed output incl. Schwung) or Move Input (whatever Move's sample input is set to: line-in, mic, etc.).
- Duration — Until stopped, 1, 2, 4, 8, or 16 bars.
- Open the sampler with Shift+Sample.
- Use the jog wheel to choose source and duration.
- Recording starts on the next note event or when you press Play.
- Press Sample to stop early — otherwise it stops at the chosen duration.
Files save to Samples/Schwung/Resampler/YYYY-MM-DD/. Bar timing uses MIDI clock when available, else project tempo. Move's count-in works for line-in recordings.
Skipback
Schwung continuously maintains a rolling audio buffer (30 s by default, up to 5 min). Press Shift+Capture to dump the buffer to disk instantly without interrupting playback — recover happy accidents you weren't recording.
Configure under Global Settings → Audio: Skipback changes the shortcut to Sh+Vol+Cap if Shift+Capture conflicts; Skipback Len sets buffer size (30 s, 1 m, 2 m, 3 m, 4 m, 5 m). Resizing preserves whatever's currently in the buffer (oldest samples truncated when shrinking).
Files save to Samples/Schwung/Skipback/YYYY-MM-DD/ using the same source setting as the Quantized Sampler.
Feedback protection
Speaker feedback risk. When you load a module that uses line input (Line In, AutoSample) while built-in speakers are active and no line-in cable is plugged in, Schwung warns you. Press Jog to proceed (e.g. recording with the internal mic and speakers turned down) or Back to cancel. Plug in headphones or a line-in cable to bypass the warning.
10 · Sets & pages
Per-Set slot state
Each Move Set carries its own independent slot configuration. Switching Sets saves the outgoing slots and restores the incoming Set's slots — synths, effects, knob assignments, Master FX, and (if RNBO Runner is active) the current RNBO graph and its parameters. Slot audio fades smoothly during the transition. A brief Set Loaded overlay confirms the switch.
- New Sets start with empty slots.
- Duplicated Sets (name contains "Copy") inherit the source Set's Schwung state automatically.
- To carry a configuration to a brand-new Set, save it as a slot preset first, then load it in the new Set.
Set Pages
Set Pages organize your sets into 8 switchable pages. Each page has its own independent collection of sets — group by project, genre, or live performance.
- Shift+Vol + ← / → — switch page. A toast shows Loading Page X/8…; Move restarts to load the new page's sets.
- Toggle off in Global Settings → Set Pages → Set Pages. Persists across reboots; takes effect immediately.
How it works: when switching pages, Schwung saves the current set if dirty, stashes the current page's sets to a per-page directory, moves the target page's sets into Sets/, and restarts Move. Per-set slot state is preserved per-set as usual.
11 · Tools menu
Open with Shift+Vol + Step 13. Tools are standalone utilities that run outside the slot system. Overtake modules also live here, below a divider.
File Browser
Browse files and folders on Move. Two starting roots: User Library (samples, presets, recordings) and System Files (the Schwung directory — shows a warning before entry).
- Jog scrolls; jog click opens a folder or shows file actions.
- Shift + Jog click shows actions for any item.
- Back goes up a level.
- File actions: Play (WAV), Duplicate, Rename, Delete, Copy to…, Move to…, New Folder.
- Selecting Play on a .wav previews it through Move's speakers with a progress bar; jog or back to stop.
Song Mode
Sequence clips from your set's clip layout into an ordered list of steps. Each step triggers all 4 tracks simultaneously, advancing automatically by bar timing.
Building a song. Select a step with the jog or step buttons; tap pads to assign a clip per track. The first pad press on an empty step copies the previous step, so you only change what differs. Shift+Pad on steps 2+ marks a track as continue (shown with a trailing quote ") so it won't retrigger and won't contribute to step length calculation.
Playback. Play starts from the current step; Shift+Play from the beginning; Play again stops (returning to where playback started). Loop wraps back to step 1 after the last step (shows [L]); disabled during recording.
Recording. Rec records audio from the current step; Shift+Rec from the beginning; Rec again stops. Auto-stops after a configurable tail (default 2 bars) to capture reverb/delay tails — change with the Tail menu item (jog click cycles 0, 1, 2, 4, 8 bars). Files save to Recordings/Song Mode/ with the set name in the filename.
Editing. Hold a step or jog click on it to edit its settings: Repeats (1, 2, 4, 8, 16, 32, 64), Bar Length (Longest, Shortest, or Custom). Step rows show duration as 4 or 4x2 (for repeats > 1). Copy duplicates a step; Delete removes one; Shift+Delete clears the song. Shift+↑/↓ reorders steps. Up to 20 levels of Undo.
Step LEDs: green = has content, red = now playing, white = selected. Pad LEDs highlight the current step's assigned clips in red. Songs save automatically per Set.
12 · Overtake modules
Overtake modules take full control of Move's display and controls. They live in the Tools menu below a divider — open Tools (Shift+Vol+Step 13) and select one.
- Exit: Shift+Vol + Jog Click — works anytime.
- Suspend (keep running in background): Shift+Vol + Back.
Heads-up. After exiting an overtake module, Move's pad and button LEDs won't refresh automatically — change tracks or sets and they'll come back as they light back on.
RNBO Runner
Hosts RNBO for Move graphs as an overtake module, running on top of Move with full pad/knob control. Install RNBO for Move separately first (per Cycling '74 instructions), then open Tools and select RNBO Runner.
- Suspend/resume — Shift+Vol+Back suspends; reopen Tools and re-select to resume with LEDs restored.
- MIDI from Move — RNBO receives Move sequencer MIDI on Channel 16. Sequence RNBO devices from Move, use MIDI capture, etc.
- Per-set state — current RNBO graph + parameter tweaks save automatically per Schwung set.
- Resampling and Skipback include RNBO audio.
- Master FX and Volume — RNBO routes through Schwung's master chain and master volume.
- Display mirroring works with RNBO Runner.
Schwung includes a JACK shadow driver (but not JACK itself — RNBO ships JACK). The driver is available if you want to build other JACK applications for Move.
13 · Accessibility
Schwung includes an optional screen reader that announces UI elements via text-to-speech. Move is, as far as we know, the first musical instrument with an on-device screen reader.
Toggle from Global Settings → Screen Reader, or Shift + Note/Session when Shadow UI is disabled. Settings: Speed (0.5×–6.0×), Pitch (80–180 Hz), Volume (0–100%), Debounce (0–1000 ms).
The on-device help viewer (Global Settings → Help…) is read aloud automatically when the screen reader is on. To install Schwung from the command line in screen-reader-friendly mode, see the Install page.
14 · Limitations & gotchas
Things that aren't bugs, but trip people up:
- Performance overhead. Schwung is additional software on Move; even with no synths loaded there is a slight performance impact compared to stock.
- Shadow UI is a separate display layer. After exiting an Overtake module, Move's pad and button LEDs won't refresh until you change track or set.
- MIDI FX in Schw+Move mode. Generator-style MIDI FX (Arp, etc.) emitting the same pitch you're holding on the pad won't retrigger that pitch on Move's native track. Chord works because it emits distinct pitches.
- Link Audio bypasses Move's native Master FX while it's on — Schwung rebuilds the mix from per-track streams.
- Link Audio play delay. Move syncs to the Link quantum, introducing a brief delay when pressing Play.
- Link Audio capture sometimes needs a Move restart after first enabling routing.
- No authentication on web services. Schwung Manager (
:7700), the standalone File Browser (:404), and Display Mirror are all unauthenticated. Anyone on the network can access them — keep that in mind on shared networks. - On-device upgrades. If you upgraded Schwung from an older version and Schwung Manager (
move.local:7700) is unreachable afterwards, run once over SSH:ssh root@move.local "sh /data/UserData/schwung/scripts/post-update.sh && reboot". Move will reboot and the manager should come back. - Move firmware updates temporarily disable Schwung. Re-run the installer to repair — modules and settings are kept.
- Some modules require external assets (ROMs, soundfonts, .nam, .clap). Catalog entries flag this under Requires; the installer prompts at install time. We can't and won't help you obtain copyrighted material.
15 · Analytics
Schwung can send anonymous usage statistics to help prioritize development. Off by default. On first launch you're prompted to choose; nothing is sent until you opt in. Change at any time under Settings → Analytics.
| Event | When | Data |
|---|---|---|
app_launched | Schwung starts | Host version |
module_census | Schwung starts | Installed module IDs, count |
module_added | New module detected at startup | Module ID, version |
module_upgraded | Module version changed at startup | Module ID, old + new version |
module_loaded | A module is loaded | Module ID |
module_installed | A module was installed | Module ID, version |
Every event includes a randomly generated anonymous UUID v4 stored at /data/UserData/schwung/anonymous-id. It has no connection to your identity; deleting the file generates a fresh one on next launch.
Not collected: IP address (explicitly suppressed), personal information, audio, MIDI, performance data, device identifiers, or cross-device tracking.
Events are fire-and-forget HTTP POSTs to PostHog. No third-party SDK — just a background curl that doesn't block or retry. If it fails, the data is lost.
16 · Help & community
- FAQs — the short answers.
- MANUAL.md — the full upstream manual on GitHub.
- GitHub Issues — bug reports and feature requests.
- Discord — community chat and quick questions.
- Stuck? Try a repair run with the latest installer. If something's seriously wrong, DFU restore mode on Centercode flashes stock firmware back onto your Move.