Repository navigation
Releases: chrischaps/Soba
Release list
v0.8.0 — Soba in your DAW, strings and clouds, and patches you can send
Soba reaches past its own window now. A patch can be sent as a link that plays in the browser, play your hardware synths through MIDI Out, and run inside a DAW as a CLAP or VST3 instrument. Two new sources are new ways to make a sound from scratch: the Resonator, a plucked string or struck bell that rings by itself, and Cloud, a granular source that turns a sung syllable into a held chord. Scenes keeps a patch's knobs and glides between them, and the new Lessons teach patching inside the app, one step at a time.
If you have v0.4.0 or later, Soba offers this update itself: the dot after the version number lights up, and Install puts it in place.
New modules
- Resonator: a physical model. It plays a Karplus-Strong string, or a bell, bar, glass or wood body of tuned modes, struck by a gate or by any sound. A pluck rings and fades by itself, and no two plucks are quite alike.
- Cloud: granular. It plays clouds of grains from a WAV, MP3, FLAC or Ogg file, or from the last six seconds of live audio, which Freeze holds. With a chord patched in, each voice gets a cloud of its own.
- Scenes: keeps the knobs as scenes A to H, and Morph glides every knob from one scene to another at once. Put one inside a group and it holds only that group's knobs.
- MIDI Out: plays a hardware synth, a drum machine or a soft synth from Gate and Pitch cables, or chords from a poly cable, plus four CCs. Send Clock sends the patch's tempo, start and stop as well.
- Note In: one module for playing a patch, in place of Keyboard, MIDI Note and Poly MIDI. It takes the computer keys, the piano on its face and any MIDI device, as one voice or as chords. Patches that use the old modules open with a Note In in their place.
- Link Out: plays Seoul, a music visualizer, from eight CV lanes and four gates. Orrery now plays Seoul from its "To Seoul" frame.
Sharing
- 🔗 Share copies a short link,
soba.chaps.dev/s/…, that opens the patch in the browser, ready to play. - The browser app has moved to soba.chaps.dev. Old links forward there.
In a DAW
- Soba builds as a CLAP instrument, for Bitwig, REAPER and other DAWs that load CLAP, and as a VST3 for Ardour. The node graph is the plugin's window, the track's notes play it, a Clock can follow the DAW's tempo and transport, and the patch is saved with the project. It isn't a download yet:
python tools/plugin_bundle.py --installbuilds and installs it (see The plugin).
Learning and exploring
- 🎓 Lessons (in the Help menu): five short tutorials inside the app. A caption sits beside the part of the patch it's about, a ghost pointer shows each move, and the lesson moves on once you've made it.
- Cable Probe: hold
Altover a cable to hear what it carries, with a small scope beside the pointer. The rest of the patch ducks beneath it. Control cables play as a sine that follows the value, and gates play as clicks. - Mutate:
Ctrl+Mnudges the selection's knobs a random step. Hold it to wander further, and pick a variation you liked from the strip of chips underneath.
Knobs and keys
- Knobs take the keyboard, accept a typed-in value, and have a Reset item.
Shift+Spaceplays and stops the patch. The file, bypass and record shortcuts use Command on a Mac.- Computer-key notes no longer stick when a modifier is held as you let go, or when the window loses focus.
- MIDI Learn: mapping a CC to a new knob takes the badge off the knob it was mapped to before.
Sound
- One bad sample (NaN or infinity) no longer silences the patch until Stop.
- LFO: Square and Saw stay clean at audio rates.
- Sampler: a Forward loop crossfades its seam, so it doesn't click. Samples change rate more cleanly.
- Delay: a synced Delay keeps time down to 20 BPM.
- Slicer: more patterns, grouped by feel.
- A stopped patch idles near 0% CPU, and the CPU meter shows the slowest callback as well as the average.
Devices and files
- Soba follows the default output when it changes, and comes back to the device when it returns. Choosing a lost output again restarts audio.
- Mono devices hear both sides, and surround devices get silence in the rear channels.
- Patches are written atomically, so a crash mid-save can't leave half a file.
Ctrl+Swon't overwrite a patch that opened with parts dropped, and Save gathers samples dropped in since the last save. - A patch from a newer Soba says to update. An unknown parameter loads with a warning, not an error.
In the browser
- Web MIDI in and out, behind a Connect MIDI button (Chrome, Edge and Firefox).
- Audio renders in an AudioWorklet, off the page's main thread, and the status bar shows dropouts.
Everywhere else
- A refused cable puts back the cable it replaced, and dragging only offers connections the rules allow.
- Warnings in the status bar now clear, so newer ones show.
Downloads
- Windows:
soba-windows-setup.exe(an installer), orsoba-windows.zip. For low latency through an ASIO driver, usesoba-windows-asio-setup.exeorsoba-windows-asio.zip. - macOS:
soba-macos-apple-silicon.dmgorsoba-macos-intel.dmg. The app isn't signed by Apple yet: the first time, right-click Soba and choose Open. - Linux:
soba-linux.zip
The Windows downloads aren't code-signed yet either, so SmartScreen may say "Windows protected your PC". Choose More info → Run anyway.
Licence: Soba is MIT. The low-latency (ASIO) Windows builds contain Steinberg's ASIO SDK, which Steinberg offers under the GPLv3, so those builds are distributed under the GPLv3. The licence and a notice are in their zip and installer, and the exact SDK they were built from is attached here as asio-sdk-source.zip.
v0.7.0 — a dancer, a slicer, and two songs that play themselves
Soba has a dancer now, and two new songs to dance to. The Dancer is a stick figure who dances to your patch: on the Clock's beat, or, with no Clock at all, on the beat it hears in the mix. Canopy is a song in the manner of Bonobo, and Orrery is a song with no score, played by slow orbits. The effects have faces of their own now, and the new Slicer chops anything held into it into a rhythm. You can hear Canopy in the browser.
If you have v0.4.0 or later, Soba offers this update itself: the dot after the version number lights up, and Install puts it in place.
New modules
- Dancer: a stick figure who dances to the patch, harder as the music gets louder. It finds the beat by ear when there's no Clock, keeps it through a breakdown, and cocks its head while it listens.
- Slicer: chops whatever passes through it into a rhythm, like a slicer pedal. Hold a chord into it and out comes a gated sixteenth-note figure.
Two new songs
- Canopy: four minutes of F minor in the manner of Bonobo, from dawn birds to night. Kalimba and bell loops that never quite repeat, a broken beat, vocal chops that answer themselves, and an Arranger that rides the room.
- Orrery: five minutes of E minor with no Arranger. A Day rises and sets, each voice waits for it, and two clock gears meet every 35 bars in an eclipse.
- The Examples menu is now shelved as Recipes and Songs.
Faces for the effects
- Reverb: the room's decay, filled as it rings.
- Delay: the echo train, with each hit walking down it.
- Chorus: the voices braid as they sweep.
- Distortion: the bend, lit where the signal reaches.
- Compressor: the transfer curve, and the last two seconds of gain reduction.
- 3-Band EQ: the response curve over the sound it shapes, with bands you can drag, and a column of knobs to each band.
- Tape: the reels lurch with the wow.
- SVF and Ladder: the signal's spectrum under the response curve, with a trail of the last two seconds.
- Oscillator: a live trace of what Out plays.
Knobs
- Bipolar knobs have a zero mark and read a signed percent.
- Hovering a patched knob picks out the cable carrying it.
- Knobs show CV that arrives through a jack of another name.
Sampler and Chopper
- More formats: MP3, Ogg (Vorbis and Opus) and FLAC as well as WAV.
- Chopper: record a take into it, as the Sampler does, and run a pattern longer than the break (Steps).
- Both draw a take in bars against its beats.
- Sampler: hear a slice from its face. Each take is trimmed and normalized as it's kept.
- Audio Input: right-click → Record into a new Sampler, in whole bars when a Clock runs.
- Drag a file over empty canvas to hear it, with a ghost of its Sampler.
- Takes no patch names are tidied away, and a recovered autosave keeps the crashed session's takes.
Sequencers
- Chord Sequencer: patterns A–D and a Pattern CV, for songs longer than 16 chords. Hear the Strum and Velocity choices as you pick them.
- Step Sequencer: hear a note as it's written or dragged.
- A Follow toggle keeps the grid on the pattern playing.
- Keyboard: the top row of letters is a second octave, tracker style.
Groups
- A group's miniature shows its real modules before it's first opened, and the view zooms through it as you step in and out.
- Opening a group frames everything inside it, as F does.
In the browser
- On a phone: a long press or the toolbar's + adds a module, from a finger-sized menu.
- Takes survive a reload, a take downloads as a file, and a patch downloads with its takes as one zip.
- F1 opens the Keyboard Shortcuts sheet, not the browser's help.
- Right-clicking and the palette no longer crash the page.
Everywhere else
- Zooming keeps every face its size: text no longer makes parts step.
- Cables show faintly through modules and labels.
- Attenuverter: a Range switch, so an LFO can sweep far.
- Drum: a Shaker type, grains that swell in rather than strike.
- LFO and Noise keep time at very slow rates.
- Examples opened while playing start cleanly.
- A cable that would close a loop is skipped, and named.
- Afterglow's accents ring, and From One Sine broadens into its last sine.
Downloads
- Windows:
soba-windows-setup.exe(an installer), orsoba-windows.zip. For low latency through an ASIO driver, usesoba-windows-asio-setup.exeorsoba-windows-asio.zip. - macOS:
soba-macos-apple-silicon.dmgorsoba-macos-intel.dmg. The app isn't signed by Apple yet: the first time, right-click Soba and choose Open. - Linux:
soba-linux.zip
The Windows downloads aren't code-signed yet either, so SmartScreen may say "Windows protected your PC". Choose More info → Run anyway.
Licence: Soba is MIT. The low-latency (ASIO) Windows builds contain Steinberg's ASIO SDK, which Steinberg offers under the GPLv3, so those builds are distributed under the GPLv3. The licence and a notice are in their zip and installer, and the exact SDK they were built from is attached here as asio-sdk-source.zip.
v0.6.0 — a chopped break, and faces that move
Soba can chop a break now, and its modules show what they're doing. The new Chopper cuts a drum loop into slices, either evenly or at the hits, and keeps them in time with the Clock at any tempo. The Oscillator, LFO, ADSR, SVF and Ladder have new faces that move with the sound, and every knob shows where CV has moved it. The new example Cut-Up chops a two-bar break over a D minor bass. You can hear it in the browser.
If you have v0.4.0 or v0.5.0, Soba offers this update itself: the dot after the version number lights up, and Install puts it in place.
New module: Chopper
The Chopper cuts a loop into slices and starts each one on its own beat, so a break follows any tempo without changing pitch. Each step can play a different slice, reversed, repeated, pitched or left as a rest, and a Chance knob swaps in a random slice. Drag a step to choose its slice. Shuffle and Reset are in the right-click menu.
Faces that move
- Oscillator: unison voices drift over the wave, and the header shows the pitch.
- LFO: a dot with a trail rides the curve.
- ADSR: the running stage lights up, and a dot rides the envelope.
- SVF and Ladder: each output's response, at the cutoff after CV.
- Knobs under CV: an orange arc shows where the CV has taken them.
More things a song can move
- ADSR: CV on every stage, so a last chord can ring out.
- Clock: a Tempo input, to slow a song into its end.
- Mixer: Send and Return CV, to ride the reverb.
- Trigger Sequencer: a Run input, as the Step Sequencer has.
- Vocoder: an output Level knob.
Sampler
- Slices at the hits, with markers you can move.
- Hear a WAV before you drop it on a Sampler or Chopper.
Playing notes in
- Step Sequencer: step-record from a MIDI keyboard.
- Chord Sequencer: hear a chord as you pick it.
Everywhere else
- Help → Keyboard Shortcuts (or F1).
- Double-clicking a knob resets it again.
- The piano's black keys sit where a real piano's do.
- The What's New window wraps its bullets and fits inside the app.
- The Mallet voice plays quieter when it's struck softly.
- Four quiet examples now play as loud as the rest.
- Front Porch has a stomp and a shaker.
Downloads
- Windows:
soba-windows-setup.exe(an installer), orsoba-windows.zip. For low latency through an ASIO driver, usesoba-windows-asio-setup.exeorsoba-windows-asio.zip. - macOS:
soba-macos-apple-silicon.dmgorsoba-macos-intel.dmg. The app isn't signed by Apple yet: the first time, right-click Soba and choose Open. - Linux:
soba-linux.zip
The Windows downloads aren't code-signed yet either, so SmartScreen may say "Windows protected your PC". Choose More info → Run anyway.
Licence: Soba is MIT. The low-latency (ASIO) Windows builds contain Steinberg's ASIO SDK, which Steinberg offers under the GPLv3, so those builds are distributed under the GPLv3. The licence and a notice are in their zip and installer, and the exact SDK they were built from is attached here as asio-sdk-source.zip.
v0.5.0 — songs, chords and a voice
Soba can play a whole song now, and sing it. An Arranger holds the song's sections and moves the patch through them. A Chord Sequencer plays the harmony, voice-led and strummed. A Vocoder puts a voice on the chords, and a Tape machine sits on the mix. The new example Clair de Satellite uses all four: four minutes in the manner of Air, played and sung by one patch. You can hear it in the browser before you download anything.
If you have v0.4.0, Soba offers this update itself: the dot after the version number lights up, and Install puts it in place.
New modules
- Arranger: a song's timeline. Up to 32 named sections, each some bars long and played up to 16 times, and eight automation lanes the sections move. A lane can ride a fader, pick a drum pattern, open a filter over a build or press a Looper's button: hold, jump, ramp (on the curve you choose) or hit. Zoom and pan long songs, and let one Arranger follow another's sections.
- Chord Sequencer: a chord per step, sent out on polyphonic cables, so every Library voice plays it as it is. It voices chords close, open or spread, with voice leading, ties and slash basses. Write a step by playing the chord, on a MIDI keyboard or the letter keys, and hear it voiced as the step will play it. Strum rolls each chord across its strings, down or up per step, with a velocity taper.
- Vocoder: one sound speaking with another's mouth, usually a voice on a synth chord. Freeze holds a vowel for as long as you like, and Flatten evens out the carrier first.
- Tape: a tape machine for a bus, with wow, flutter, saturation, head bump and age. A Stop gate winds the tape down and back up. Afterglow and Shoreline now play on tape.
- Slope: rise and fall at rates you set, after the Make Noise Maths. One module does slew and glide, attack-release envelopes, function generators and cycling LFOs.
Sampler
- Record straight into it: In jacks and a Rec button on its face.
- Trim and Normalize a recording, and preview it from the face, even while the patch is stopped.
- Slices: play parts of one recording by note.
Sequencing
- Step Sequencer patterns A–D, chained, for melodies longer than 16 steps. A tie on the last step carries into the next pattern.
- Slide: glide into the notes you choose, legato, 303-style.
Groups
- Pin dropdowns and toggles to a group's face, not only knobs, and name them.
- Add, remove, rename and reorder a group's jacks after it's made.
Everywhere else
- F frames the view: on the selection, or on the whole patch.
- Cables run behind modules and labels, showing faintly through.
- The Looper keeps its loops with the patch, as WAVs beside it, and reloads them stopped.
- The SVF and Ladder filters have a Cutoff CV knob, for envelope depth.
- Two new Library voices: Electric Piano and String Machine.
- Every example now plays at about the same loudness, so moving between them doesn't jump.
- In the browser, example samples load when they're played, so the page opens faster.
New examples
- Clair de Satellite: an Air-style song, four minutes at 88 BPM, sung through the Vocoder. Three Arrangers are the score.
- Soba Speaks: a chord of saws says "Hello. I am Soba. I sing in sines," in a person's voice or a synthesized one, or yours.
- Held Vowels: a pad whose chords hold the vowels a singer only touches.
- Front Porch: rhythm guitar, strummed on the Electric Piano, over a walking bass.
- From One Sine grew: a 16-bar motif, its harmony on one Chord Sequencer, swells and fades in place of 4-bar steps, and a breakdown warped on tape.
Downloads
- Windows:
soba-windows-setup.exe(an installer), orsoba-windows.zip. For low latency through an ASIO driver, usesoba-windows-asio-setup.exeorsoba-windows-asio.zip. - macOS:
soba-macos-apple-silicon.dmgorsoba-macos-intel.dmg. The app isn't signed by Apple yet: the first time, right-click Soba and choose Open. - Linux:
soba-linux.zip
The Windows downloads aren't code-signed yet either, so SmartScreen may say "Windows protected your PC". Choose More info → Run anyway.
Licence: Soba is MIT. The low-latency (ASIO) Windows builds contain Steinberg's ASIO SDK, which Steinberg offers under the GPLv3, so those builds are distributed under the GPLv3. The licence and a notice are in their zip and installer, and the exact SDK they were built from is attached here as asio-sdk-source.zip.
v0.4.0 — Soba
Modular is now Soba. Blender, whose node editor this app takes after, calls the wires between nodes noodles, and soba are long, fine noodles. In Japanese, soba (傍) also means "beside": an instrument whose patches sit by you and explain themselves. It's the same instrument under a new name, and every patch opens as before. The manual has moved to docs.chaps.dev/soba, and you can try it in the browser first.
This is also the first release that keeps itself up to date, and it brings drums, sampling, looping and a proper mixer.
New
- Updates in the app. Once a day, Soba asks GitHub whether a newer release is out. When one is, the dot after the version number lights up and a note says what's new. Install puts the new version in place and restarts, bringing your patch back as you left it, unsaved changes included. Help → Roll Back returns to the version before. The check sends nothing about you or your computer, and Help → Check for Updates Automatically turns it off.
- A Windows installer, and disk images for macOS. The Windows installer is per user and needs no administrator. It adds Soba to the Start Menu, and you can remove it from Settings → Apps.
- Drum: nine analog drum voices (kick, snare, tom, clap, closed and open hat, cymbal, rim and cowbell), with accent and choke.
- Trigger Sequencer: eight lanes of 16 steps, four patterns chained bar by bar, and per-step velocity, probability and ratchets.
- Sampler: plays WAV files as one-shots, or across the keyboard as a polyphonic instrument. The sample is saved with the patch.
- Looper: records, overdubs and undoes live layers, in time with the clock. One footswitch goes Record → Play → Overdub.
- The Mixer is a console: one row per channel, showing its place in the stereo field, with Level, Pan, Width, Send, Mute and Solo. Mixers chain on a single Bus cable. Mix sums four signals into one.
- Clock Divider and Logic modules, and Swing on the Clock.
- The Library: thirteen ready-made groups (voices, basses, a drum kit, generators and effects), in the add menu and the quick-add palette.
- Step Sequencer: drag a step up or down to change its note, or right-click it and play notes in on a piano.
- Audio Input picks a channel, so a mono microphone or guitar plays on both sides.
- Six new examples: From One Sine (a whole four-and-a-half-minute song in one patch), Interlock, Roll Call, Drum Machine, Sampled Keys and Live Looper.
Coming from Modular 0.3.x
Under the new name, Soba keeps its settings in a new place. Your recent files, autosave, window size and recordings folder start fresh. To bring them along, copy the old settings folder to the new name before Soba first opens:
- Windows:
%APPDATA%\Modular Synth→%APPDATA%\Soba - macOS:
~/Library/Application Support/Modular-Synth→~/Library/Application Support/Soba - Linux:
~/.local/share/modularsynth→~/.local/share/soba
Then rename Documents/Modular and Music/Modular to Soba, to keep your saved groups and recordings where Soba looks for them.
On Windows, uninstall nothing: 0.3.x had no installer, so delete its folder once you're done with it. Soba's MIDI ports are now called Soba and Soba Input, so another app that routed MIDI to "Modular Synth" needs the new port chosen.
Downloads
- Windows:
soba-windows-setup.exe(an installer), orsoba-windows.zip. For low latency through an ASIO driver, usesoba-windows-asio-setup.exeorsoba-windows-asio.zip. - macOS:
soba-macos-apple-silicon.dmgorsoba-macos-intel.dmg. The app isn't signed by Apple yet: the first time, right-click Soba and choose Open. - Linux:
soba-linux.zip
The Windows downloads aren't code-signed yet either, so SmartScreen may say "Windows protected your PC". Choose More info → Run anyway.
Licence: Soba is MIT. The low-latency (ASIO) Windows builds contain Steinberg's ASIO SDK, which Steinberg offers under the GPLv3, so those builds are distributed under the GPLv3. The licence and a notice are in their zip and installer, and the exact SDK they were built from is attached here as asio-sdk-source.zip.
v0.3.1 — a low-latency Windows download
New download: modular_synth-windows-asio.zip, the low-latency Windows build. It runs exactly like the standard Windows build, and can also use an audio interface's ASIO driver. That takes the round trip from input to output from about 60 ms (Windows Audio) to 11–20 ms on a Focusrite Scarlett 2i2, quick enough to play a guitar or sing through Modular. Install your interface's ASIO driver, then choose ASIO under Output.
ASIO is a registered trademark of Steinberg Media Technologies GmbH.
Licence: the low-latency build contains Steinberg's ASIO SDK, which Steinberg offers under the GPLv3, so that build is distributed under the GPLv3. The licence and a notice are in its zip, and the exact SDK it was built from is attached here as asio-sdk-source.zip. Modular's own source, and every other download, stays MIT.
Everything else is as in v0.3.0: groups, live input, recording, new modules and examples. Or try it in the browser first.
Downloads
- Windows:
modular_synth-windows.zip, ormodular_synth-windows-asio.zipfor low latency - macOS:
modular_synth-macos-apple-silicon.zipormodular_synth-macos-intel.zip - Linux:
modular_synth-linux.zip
Unzip and run modular_synth. Press Play, then play the Z to M keys.
v0.3.0 — groups, live input, and Modular in the browser
Try it without installing: Modular in the browser. Every recipe in the manual can now be played on its page.
New
- Groups. Select modules and press
Ctrl+Gto fold them into one node. Open it withTab, pin knobs to its face, and save it to My Modules for reuse in any patch. - Frames and notes. Titled backdrops and text cards on the canvas. Every example is laid out with them, so it reads as a lesson.
- Live input. An Audio Input module and input device picker, with the measured round-trip latency in the status bar. For low-latency playing on Windows, get the low-latency build from v0.3.1.
- Record to WAV from the transport (
Ctrl+R). Each take is saved with the patch that made it. - New modules: Noise (white, pink, brown, smooth random), Quantizer (snap pitch to a scale), and a Stereo Mixer with pan, mute, meters and poly spread.
- Glide on Keyboard, MIDI Note and Poly MIDI. Tempo-synced LFO, and MIDI clock input.
- Three new examples: Shoreline, Backbeat (a full drum kit) and Afterglow (a chord progression), all playing themselves.
- Play the on-screen pianos. The Keyboard and Poly MIDI modules play when you hold their piano keys with the mouse or a finger.
- Knob faces: an LED ring and a menu of other styles. Trackpad pinch and
Ctrl+scroll zoom about the pointer.
Fixed
- The Keyboard plays legato and honours its Priority.
- The Mixer's soft clip eases in instead of stepping to 1.333.
- The first clock after a Reset plays step 1.
- LFO and Chorus rate knobs stay live while patched.
- MIDI Learn can be cancelled.
- The MIDI Monitor's rows no longer overlap.
- Module title bars read on every header colour.
- The toolbar fits its window, and the status reads Playing, Stopped or No audio honestly.
- The app stays dark on a light-mode system.
Downloads
Unzip and run modular_synth. Press Play, then play the Z to M keys.
v0.2.0 — the October glow-up
The October glow-up. Version 0.1 was built in a three-day sprint in January; it looked finished, but several knobs didn't do what they said. This release makes every knob keep its promise. See it and hear it at https://chaps.dev/projects/modular.
Sound
- In tune: the oscillator defaults to C4 and is measured within half a cent (it used to play a major sixth sharp).
- Oscillator v2: tune section, hard sync, through-zero FM, sub-oscillator, up to seven unison voices.
- Filters: the SVF is rebuilt as a TPT design with log-domain cutoff, a notch output and 1V/oct cutoff CV; a new four-pole ladder filter saturates and is 2× oversampled.
- Envelope v2: accurate stage times, analog-style curves, velocity.
- Reverb v2: a modulated feedback delay network; Size and Decay now do what they say.
- Distortion v2: oversampling, antiderivative anti-aliasing and a real wavefolder.
- Delay: tape mode (wow, flutter, record-head saturation, tape loss) and tempo sync.
- Chorus, compressor and EQ quality pass; a real output stage with denormal protection.
Playing
- Polyphonic cables (up to eight voices) and a Poly MIDI module; poly cables draw as bundles, one strand per voice.
- Sample-accurate MIDI on the audio thread.
- Bypass footswitch on every filter and effect (Ctrl+B).
- Cables show the last few seconds of their signal flowing from output to input (Chevrons, Dots or Comets).
Workflow
- Opens on First Sound; an Examples menu holds six patches that teach the basics.
- Undo/redo, a quick-add palette (Space or Tab), copy/paste/duplicate/delete, and right-click menus on modules.
- Autosave and crash recovery, recent files, and a save prompt before closing.
- Patches save parameters by name, so older patches keep loading.
Engine
- The audio thread never allocates, locks or blocks: edits compile into a plan that is swapped in between buffers. A CI test enforces it.
- An offline renderer (
renderbinary) renders patches to WAV; 832 tests measure pitch, filter response, reverb decay and more. - A frame-stepped capture mode (
--capture) films the app with its sound in lockstep.
v0.1.0
Full Changelog: https://github.com/chrischaps/Modular/commits/v0.1.0
