overdub

schwung-surge

charlesvestal/schwung-surge · ★ 4

Surge XT hybrid synthesizer module for Move Anything

README from GitHub, GPL-3.0

Surge XT for Schwung

Hybrid synthesizer module based on Surge XT by the Surge Synth Team.

Wavetable, FM, subtractive, and physical modeling synthesis with 600+ factory presets.

Features

  • All Surge XT oscillator types: Classic, Wavetable, Window, Sine, FM2, FM3, String, Twist, Alias, S&H Noise
  • Dual filters with multiple filter types
  • 3 LFOs per scene with sine, triangle, square, ramp, noise, S&H, envelope, and step sequencer shapes
  • Amplitude and filter envelopes
  • 6 modulation slots for routing LFOs and Envelopes to various synth parameters
  • Auto BPM Sync automatically locks the synth to the host tempo via MIDI clock (manual override available)
  • Full state saving ensures your exact preset choice and parameter tweaks are perfectly restored
  • 600+ factory presets across 15 categories
  • Works standalone or as a sound generator in Signal Chain patches

Limitations

  • Lua/Formula Modulator not supported - Surge's Formula Modulator LFO shape requires LuaJIT, which is not included in this build. Patches that use Formula Modulator LFOs will still load and produce sound, but the formula-driven modulation will not be active. The Tutorials preset folder (which relies heavily on Formula Modulator) is excluded.
  • Scene B not exposed - Only Scene A parameters are accessible. Scene B exists internally but is not routed to the UI.
  • No FX section - Surge's built-in effects of presets applied but are not exposed (use Signal Chain audio FX for further effects).

Prerequisites

Install

  1. Launch Schwung on your Move
  2. Select Module Store from the main menu
  3. Navigate to Sound Generators > Surge XT
  4. Select Install

Build from Source

Requires Docker (recommended) or ARM64 cross-compiler.

git clone --recursive https://github.com/charlesvestal/schwung-surge
cd schwung-surge
./scripts/build.sh
./scripts/install.sh

Controls

ControlFunction
Jog wheelBrowse presets / navigate menus
Knobs 1-8Adjust parameters for current category

In Shadow UI / Signal Chain, parameters are organized into navigable categories: Oscillators 1-3, Mixer, Filters 1-2, Amp Envelope, Filter Envelope, LFOs 1-3, and Scene settings.

Preset Categories

Basses, Brass, Chords, FX, Keys, Leads, MPE, Pads, Percussion, Plucks, Polysynths, Sequences, Splits, Vocoder, Winds

Adding User Presets

You can add your own .fxp patches to the device. Surge XT will automatically scan them and expose them in the preset selection list.

Place your presets in the following directory on the Move device: /data/UserData/schwung/surge-config/Documents/Surge XT/Patches/

Note: You can organize your presets into subdirectories within the Patches folder, e.g. "Keys" or "Private/Keys", and Surge XT will categorize them accordingly. A large amount of 3rd party patches is available even within the mainline repository.

License

GPL-3.0 - See LICENSE

Based on Surge XT by the Surge Synth Team, which is also GPL-3.0 licensed.

AI Assistance Disclaimer

This module is part of Schwung and was developed with AI assistance, including Claude, Codex, and other AI assistants.

All architecture, implementation, and release decisions are reviewed by human maintainers.
AI-assisted content may still contain errors, so please validate functionality, security, and license compatibility before production use.