overdub

schwung-quark

james-fish/schwung-quark Β· β˜… 0

πŸŽ›οΈ Lush pads, chord-stack wavetables & a mono synth with a chord-following arp β€” for Ableton Move via Schwung

README from GitHub, MIT

πŸŽ›οΈ Quark β€” Lush Atmos, Chord Stacks & Melody Leads for Ableton Move

Quark is a two-layer synth module for Schwung on Ableton Move. It pairs a big, warm Atmos engine with a punchy Melody synth β€” complete with a chord-following arpeggiator, multi-FX and a shimmer reverb.

Whether you're after classic string-machine swells, 90s rompler chord stabs, glassy FM keys, sampled choirs or evolving ambient drones, Quark has you covered β€” all running natively on the Move at a tiny CPU cost. πŸš€


✨ Highlights

  • 🎻 Divide-down string machine β€” phase-locked 16β€²/8β€²/4β€²/2β€² registers, just like the classics.
  • 🌊 89 wavetables β€” Quark's own 10 tables, 5 brand-new chord stacks, and all 74 Amino tables.
  • πŸ“‚ Your own wavetables β€” drop Serum/Vital-style WAV files on your Move and play them on both layers.
  • 🎹 Chord stacks β€” a whole voicing in one key: Fifths, Minor 9, Major 9, Dom 11 and Fourths. Turn Variation to stack the intervals up β€” perfect for 90s rompler stabs, ambient pads and DnB chords.
  • πŸŽ™οΈ Sampled Layer: 32 instruments β€” choirs, wine glass, bowed vibes, flutes, organ, sitar, shakuhachi, koto, duduk, erhu and more, under the synth or on their own. Blend two sets (by knob, Motion or the mod wheel), play them Clean, 90s or Lo-Fi, start into the sample, and loop them or let them ring once. All recordings are CC0.
  • πŸ”” 6 FM voices β€” E.Piano, Bells, Keys, Glass, Metal and FM Pad.
  • 🎚️ 11 filter types β€” LP12/24, HP, BP, Dual BP, Notch, two Combs and a Morph filter.
  • πŸ”₯ Drive, Detune & Bloom β€” saturate pre/post filter or across the whole chord, and let chords drift gently out of tune over time.
  • πŸŒ€ Ensemble β€” Strings, Chorus, Both and a Deep mode for drones.
  • πŸŒ€ Dual-target motion β€” point Motion at Variation, Pitch, Filter, Pan or Amp, or any pair of them: the main LFO moves the first while LFO 2 moves the second at any speed ratio from βˆ’4Γ— to +4Γ—. LFO Mode gives every voice its own LFOs, scattered (Spread) or restarted by each note (Retrig).
  • 🎸 Melody layer β€” saw, pulse, sync or any wavetable, a 4-pole ladder filter, glide, stereo spread and a synced delay. Filter and Wave envelopes decay faster than the amp for snappy plucks, and velocity shapes level, filter and wave.
  • 🎼 Chord-following arp β€” Melody can arpeggiate whatever the Atmos are holding, with 10 types, 40 patterns, 40 rhythms and smart randomisation.
  • 🌌 FX β€” chorus, flanger, phaser, tremolo, drive, delays and tape echo, plus a shimmer reverb that can freeze.
  • πŸ“Ό Vintage β€” one knob of analog-style drift for pitch, filter, envelopes and level.
  • πŸ’Ύ 86 factory presets, grouped by sound (pads, voices, chords, keys, bells, arps, splits, bass and lead, drones) β€” a quarter of them pair the Atmos with a matching Melody part.

🧭 Move Pages

Pages are laid out so you always know where you are: Presets first, then all Atmos pages, then all Melody pages, then the shared stuff at the end.

#Page12345678
1Presetsbrowser
2AtmosTypeVariationMotionVar EnvAttackDecaySustainRelease
3Atmos FilterCutoffResonanceFilter TypeFilter EnvMod AMod DMod SMod R
4Atmos DriveDrivePositionToneSpreadDetuneBloomAtmos LatchKeytrack
5Atmos MotionShapeRateMotionTargetLFO 2 RateLFO ModeEnsembleEns Type
6Atmos LayerLayer ALayer BBlendLevelTuneStartModeEra
7MelodyShapeVariationTuneAttackDecayEnv ModeMelody Mode
8Melody FilterCutoffResonanceVar EnvFilter EnvGlideSpreadDelayDelay Time
9Melody ArpTypeSourceRateOctavesGateSwingLatchRhythm
10Arp VariationPatternDropVelocityVel RandGate RandOct RandNote RandLoop
11Mix & EffectAtmos VolMelody VolAtmos RouteMelody RouteFX TypeFX CtrlFX Ctrl 2FX Amount
12ReverbDecaySizeToneAmountShimmer PitchShimmer AmtVintageVolume
13PlayAtmos TransposeMelody TransposeKey ModeSplitVelocityMod WheelVibratoVib Rate

πŸ’‘ Tip: Cutoff and Resonance sit on knobs 1–2 on both filter pages, so your hands always know where to go.


πŸ“‚ Your Own Wavetables

Quark plays your WAV wavetables on both the Atmos and the Melody layer! πŸŽ‰

  1. Copy .wav files to /data/UserData/UserLibrary/Samples/Schwung/Wavetables/ on your Move (for example with scp).
  2. Reload Quark (pick it again in the slot, or restart Schwung).
  3. Your tables appear at the end of Atmos Type and Melody Shape, named after the files.

What works:

  • βœ… Serum- and Vital-style wavetables β€” 2048 samples per frame, as many frames as you like (up to 64 are used, sampled evenly across the table).
  • βœ… Single-cycle waveforms of any length (AKWF and friends).
  • βœ… 8/16/24/32-bit PCM or 32-bit float, mono or stereo (the first channel is used).
  • βœ… Up to 16 files, in alphabetical order.

Variation scans through the frames, just like the built-in tables. Patches remember a table by its file name, so adding or removing files never mixes up your sounds. If a file goes missing, the patch falls back to the default type.

πŸ’‘ Tip: Tables load in the background, so the first note after picking one may take a moment to sound.


πŸš€ Getting Started

Install from the Module Catalog

Open Schwung Manager, find Quark under Sound Generators, and hit install. That's it! πŸŽ‰

Install manually

  1. Download quark-module.tar.gz from the latest release.
  2. Upload it in Schwung Manager, or run scripts/deploy.sh to install over SSH.
  3. Rescan modules and start playing.

Try it in your browser

Download dist/quark.html and open it in Chrome, Safari or Firefox β€” desktop or phone. No install needed. Play with your computer keyboard, the on-screen keys or a MIDI controller.


πŸ› οΈ Building from Source

python3 -m pip install ziglang   # or: brew install zig
scripts/build.sh                 # generate β†’ test β†’ build dsp.so β†’ package tarball + web page
scripts/build.sh --profile       # build with on-device CPU measurement
scripts/deploy.sh [move.local]   # install to your Move over SSH

Everything β€” parameters, pages, presets and wavetable recipes β€” lives in tools/gen.py. Edit it, rebuild, done.


⚑ Performance

Quark is designed to be lightweight:

  • ~1% of one core on Apple silicon with 8 Atmos voices, a Melody line and full effects (12 Atmos and 8 Melody voices available).
  • Control-rate modulation, mip-mapped wavetables and effects that switch themselves off when unused.
  • Tested on a real Move. βœ…

πŸ™ Credits

  • Amino wavetables (MIT) and AKWF-FREE waveforms (CC0)
  • Arp design inspired by Super Arp (MIT)
  • Built for Schwung by Charles Vestal

See THIRD_PARTY_NOTICES.md for full details.


πŸ“œ License

MIT β€” see LICENSE. Have fun making music! 🎢