
schwung-303
Hype15/100TB-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.
303-module.tar.gz· 55 KB
GPL-3.0· charlesvestal/schwung-303·downloads come from the creator’s GitHub releases
v0.3.3Latest1 file
Corrects a mistake in v0.3.2.
-
Knobs 7 and 8 are Drive and Mix. v0.3.2 changed the help to say Waveform and Tuning, replacing a correct statement with an incorrect one.
The root level declares both a
paramslist and aknobsarray.knobsis the knob assignment:planPagestakesknobKeys(lvl)first and chunks it into the leading knob page, then appends the leftoverparamsonto later pages. So the first page is exactly[cutoff, resonance, env_mod, decay, accent, volume, drive, drive_mix], and waveform/tuning are the overflow that lands on the page after it. v0.3.2 read theparamsdeclaration order instead. -
Also now says where Waveform and Tuning actually live — jog on past knob 8 — which is the one thing the original text never covered, and notes that Drive and Mix are the same two values you see in the Drive submenu.
-
v0.3.21 file
Correction: the knob-list change in this release was wrong. Use v0.3.3.
This release claimed knob 7 is Waveform and knob 8 is Tuning. They are Drive and Mix, as the help said before this release. The root level declares both a
paramslist and aknobsarray, andknobsis the knob assignment —planPageschunks it into the leading knob page and pushes leftoverparams(waveform, tuning) onto a later page. I read theparamsorder. v0.3.3 restores Drive and Mix and says where Waveform and Tuning actually live.- On-device help now works at all. The
help.jsonused asectionsschema the Help viewer discards — it only reads a top-levelchildrenarray — so the module had always shown "No help content available for this module". This part of the release stands. - Help covers accent (velocity ≥ 100), slide (overlapping notes), the CC map, the Devilfish mods and both drive models.
- Corrects the Module Store description, which still advertised the GuitarML overdrive that was replaced by the Soft/RAT drive stage.
- On-device help now works at all. The
v0.3.11 file
- Add short_name to parameters for the Schwung knob grid
v0.3.01 file
Replaces LSTM overdrive with Soft + RAT drive models
The GuitarML 40-unit LSTM overdrive was ~25-30% of an ARM core per instance at 44.1 kHz. Two 303s with OD on (a normal setup) combined with Link Audio publish load reliably tipped Move's audio threads over budget. This release drops the LSTM entirely and ships a 2-model drive stage:
- Soft — tilt-EQ + 2x oversample + asymmetric tanh. Generic warm softclip, ~1-2% CPU.
- RAT — ported from davemollen/dm-Rat (GPL-3.0). 3rd-order op-amp IIR with distortion-modulated coefficients → algebraic waveshaper
x/(1+x⁴)^(1/4)around 2x oversampling → 1-pole tone stack. Classic ProCo RAT grit, ~2-3% CPU.
Drive = 0fully bypasses the stage (zero CPU cost).drive_modelparam selects Soft/RAT. CC 12/13 are unchanged on the wire (now labeled Drive/Mix instead of Overdrive Level/Dry-Wet).Housekeeping
- Removed
src/dsp/guitarml/,deps/RTNeural/,deps/Eigen/,src/models/ - Tarball: ~5MB → 55KB
- Attribution for dm-Rat added to README, LICENSE, and drive.h SPDX header
Compatibility note
Pairs with schwung-tb3po v0.2.3+ which updates the T1 secondary page to show "Drive"/"Mix" labels and queries the new param keys. Old TB-3PO (v0.2.2 and earlier) still sends CC 12/13 correctly but won't populate K7/K8 on initial sync.
v0.2.01 file
Changes since v0.1.0
- State save/restore: the Shadow UI can now persist all params (including overdrive model and devilfish toggle) across reboots and preset recalls, via the standard
stateget/set key that other Schwung modules use.
From v0.1.0
- Open303 engine + jc303 Devilfish mod params + GuitarML neural overdrive (37 bundled amp/pedal models)
- MIDI CC map: 74 cutoff, 71 resonance, 75 decay, 70 env_mod, 16 accent, 7 volume, 12 overdrive level, 13 overdrive dry/wet
- Accent = velocity ≥ 100, slide = overlapping notes — matches tb3po's emission exactly
- State save/restore: the Shadow UI can now persist all params (including overdrive model and devilfish toggle) across reboots and preset recalls, via the standard
v0.1.01 file
Initial release.
TB-303 emulator for Schwung on Ableton Move.
What's in it
- DSP: Robin Schmidt's Open303 engine, extended with jc303's Devilfish-inspired mod parameters (separate normal/accent decay, feedback HPF, soft attack, slide time, tanh shaper drive)
- Overdrive: 37 neural-network amp/pedal models (TS9, RAT, Big Muff, Princeton, Mesa Mini Rec, Dumble, …) via RTNeural. Toggle off to bypass.
- MIDI: notes drive pitch and gate. Accent = velocity ≥ 100. Slide = overlapping notes (matches tb3po). CC map honors conventions — 74=cutoff, 71=resonance, 75=decay, 7=volume, plus 70/16/12/13 for env-mod/accent/drive/mix.
- No built-in sequencer — pair with schwung-tb3po or any MIDI source.
Credits
Ported from midilab/jc303 (GPL-3.0). Open303 engine by Robin Schmidt (MIT). Neural overdrive from GuitarML via RTNeural.