Firmware

schwung-303

Hype15/100

TB-303 emulator for Schwung on Ableton Move — Open303 + Devilfish + GuitarML neural overdrive

schwung-303 is custom firmware for the Ableton Move, by @charlesvestal. Open source under GPL-3.0, latest release v0.3.3 (August 2026), 9 stars on GitHub.

forAbleton Move·by@charlesvestal

Unclaimed. Is this yours? Sign in with GitHub as @charlesvestal to claim it.

Downloads
0
Stars
9
Fork
1
Commits
21
Last commit
Download v0.3.3

303-module.tar.gz· 55 KB

GPL-3.0· charlesvestal/schwung-303·downloads come from the creator’s GitHub releases

21
Commits
6
Releases
21 commits and 6 releases in the last year
Activity · last 12 months

303 — TB-303 Emulator for Schwung

A monophonic TB-303 emulator sound generator for Schwung on Ableton Move. Open303 DSP core, Devilfish-inspired modifications, and a lightweight two-model drive stage (Soft tanh + ProCo RAT port).

No built-in sequencer — drive it with any MIDI source. Pairs naturally with schwung-tb3po for generative acid basslines.

Install

From the Schwung Module Store, or manually:

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

MIDI

Notes — standard note-on / note-off drive pitch and gate.

Accent — velocity ≥ 100 triggers Open303's accent envelope. Matches TB-3PO's emission (velocity 118 = accent, 72 = normal).

Slide — a new note-on arriving before the previous note-off (legato overlap) is detected as slide. Open303 handles this natively; no CC 65 / portamento toggle needed. Also matches TB-3PO.

CC map — honors GM2/MPE conventions where they exist:

CCParameter
74Cutoff
71Resonance
75Decay
70Env Mod
16Accent
7Volume
12Drive
13Mix
123All Notes Off

Drive

Two selectable saturation models under the Drive submenu:

  • Soft — tilt-EQ + 2x oversampled asymmetric tanh. Generic warm softclip, neutral flavor. Good for gentle thickening.
  • RAT — ported from davemollen/dm-Rat (GPL-3.0). Distortion-modulated 3rd-order op-amp IIR → algebraic waveshaper x/(1+x⁴)^(1/4) around 2x oversampling → fixed-mid tone stack. Aggressive, gritty, distinctively ProCo RAT.

Drive = 0 fully bypasses the stage (zero CPU cost). Mix blends with the clean synth signal.

Devilfish Mods

Six Devilfish-inspired parameters, implemented inside the Open303 engine by jc303:

  • Normal Decay and Accent Decay split the single stock decay into two (30 ms – 3 s)
  • Feedback HPF cuts low end from the filter's self-feedback
  • Soft Attack slows the envelope attack for non-accented notes
  • Slide Time extends the slide range
  • Shaper Drive controls a pre-filter tanh waveshaper inside the square-wave wavetable (distinct from the post-synth Drive stage above)

Toggle off to restore stock 303 values.

Credits

This module is a port, not original work. All DSP lineage acknowledged:

  • Open303 engine — Robin Schmidt (RobinSchmidt/Open303), MIT license. Original license preserved at src/dsp/open303/LICENSE.
  • JC-303 — midilab (midilab/jc303), GPL-3.0, source of the Devilfish extensions to the Open303 engine.
  • dm-Rat — Dave Mollen (davemollen/dm-Rat), GPL-3.0. The RAT drive model (src/dsp/drive.h, namespace drive::rat) is a direct port of the Rust DSP in rat/src/{clipper,op_amp,tone}.rs — op-amp s-domain coefficients, bilinear transform, 3rd-order IIR, algebraic clipper, and tone stack. Oversampling reduced from 8x FIR to 2x biquad to fit the embedded CPU budget.

Schwung port and glue code: Charles Vestal.

License

GPL-3.0 — inherited from jc303 (Devilfish extensions) and dm-Rat (RAT drive model). The Open303 engine core itself remains MIT (Robin Schmidt's original licensing is preserved in src/dsp/open303/LICENSE).

See LICENSE for the full GPL-3.0 text and NOTICE for copyright holders.