Skip to content

v0.8.0 — Soba in your DAW, strings and clouds, and patches you can send

Latest

Choose a tag to compare

@github-actions github-actions released this 18 Oct 15:36
· 26 commits to master since this release

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 --install builds 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 Alt over 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+M nudges 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+Space plays 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+S won'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), or soba-windows.zip. For low latency through an ASIO driver, use soba-windows-asio-setup.exe or soba-windows-asio.zip.
  • macOS: soba-macos-apple-silicon.dmg or soba-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.