overdub

schwung-munchi-wave

charlesvestal/schwung-munchi-wave · ★ 2

CHOMPI WAVE 1.0 on Ableton Move: a standalone Schwung tool (wavetable synth, sequencer, effects)

Built on Schwung

README from GitHub, MIT

Munchi Wave

CHOMPI WAVE 1.0 on Ableton Move. An eight-voice wavetable synth with a DJ filter, two LFOs, a 32-step sequencer, delay and reverb, running the actual WAVE firmware code.

Munchi Wave is a Schwung standalone tool. Launched from Schwung's Tools menu, it stops Move and runs the whole device itself (pads, knobs, buttons, lights, screen, audio). Back twice hands Move back. Its sibling is Munchi Tape, the CHOMPI's sampler and looper.

It is a port of the firmware CHOMPI Club released as open source (CHOMPI-Club/CHOMPI, MIT). It is not an official CHOMPI Club release; see Credits.

→ The manual: a first session, every control, the sequencer, presets and wavetables.

At a glance

  • 8 voices, each a wavetable oscillator (7 tables × 33 frames, crossfaded) into an envelope and the CHOMPI's DJ filter
  • Pitch and filter LFOs with depth, rate and on/off
  • 32-step sequencer, recorded by playing, with gate length, step length and tap tempo; MIDI clock out
  • Delay or reverb on one knob, an output compressor that turns into saturation
  • 14 presets plus a defaults slot; the wavetable folder, presets.json and options.json are in WAVE's own formats, so they move to and from a CHOMPI's SD card

Quick start

MoveDoes
Padsthe keyboard, two octaves as piano rows
Jog / steps 1–15presets (15 = defaults)
Knobs, page 1Table, Frame, Filter, Resonance, Attack, Release, Space, Tempo
Knobs, page 2 (Right)Pitch, Pitch LFO, P.LFO rate, Filter LFO, F.LFO rate, Delay time, Pan, Comp
Volume knobVolume
Loop / Playrecord / play the sequence
Samplea rest while recording; mute while held
Shift (hold)the CHOMPI menu: octave, gate, LFO switches, save/copy/erase
Track 1 / 2 / 3tap tempo / pitch LFO / filter LFO
Menusettings
Back ×2exit

As a Signal Chain synth

The same engine also ships as a sound generator (munchi-wave-synth): load Munchi Wave into a Schwung slot's synth and Move plays it like any other synth — its tracks, its sequencer, a keyboard on USB-A — while the knob grid edits it and the slot keeps its state. It has WAVE's sound (tables, frames, DJ filter, both LFOs, delay/reverb, compressor) and its 14 presets, but not the CHOMPI's step sequencer or keyboard pages: in a chain, Move does that. It reads the same card as the tool, so tables and presets saved there show up in both. See the manual.

Install

From a release: download munchi-wave-module.tar.gz (the tool) and/or munchi-wave-synth-module.tar.gz (the synth) from the latest release and install each with the Schwung web manager's custom-module upload. Pasting this repository's URL into the custom install installs the tool. From a build:

./scripts/build.sh      # fetches the factory card, cross-compiles in Docker
./scripts/install.sh    # copies dist/munchi-wave to the Move

Then Tools menu (Shift + Volume + Step 13) → Munchi Wave.

How it is built

PathWhat
src/engine/wave/the WAVE engine, wavetable oscillator, sequencer and clock, from the firmware. Edited files keep their originals in wave/upstream/
src/engine/munchi_wave.*the firmware's page logic (NormalPage, MenuPage, ui.h, MidiManager's input), presets, options, wavetable loading, MIDI clock
src/engine/resampler.hthe engine runs at its native 48 kHz; this converts to and from Move's 44.1 kHz
src/standalone/the SPI loop, the Move control mapping, lights and screen
src/synth/the sound generator: plugin_api_v2, its parameters, presets and state
src/engine/wave_card.*the card formats both read: presets.json and the wavetable folder
scripts/fetch-card.shfetches the factory card from the CHOMPI repo at a pinned commit
tests/render.cppoffline harness: scripted key/knob/menu events in, a WAV out
c++ -std=c++17 -O2 -Isrc/engine tests/render.cpp src/engine/munchi_wave.cpp \
    src/engine/daisysp/*.cpp -o build-host/render
./scripts/fetch-card.sh build/card
MUNCHI_CARD=/tmp/scratch ./build-host/render build/card tests/scripts/basics.txt out.wav

Credits

  • CHOMPI WAVE 1.0: CHOMPI Club / Chase Bliss. MIT. The CHOMPI name, logo and character are CHOMPI Club's trademarks and are not licensed; this port is named Munchi Wave for that reason.
  • DaisySP: Electrosmith. MIT.
  • Reverb, FX engine, limiter: Émilie Gillet, Mutable Instruments. MIT.

See THIRD_PARTY.md. Munchi Wave itself is MIT (LICENSE).