Skip to content

v1.5.0-beta.3 — engine hardening + beta-ready docs

Choose a tag to compare

@MrityunjayBhardwaj MrityunjayBhardwaj released this 11 May 11:23

v1.5.0-beta.3 — engine hardening + beta-ready docs

First public-beta cut since v1.5.0-beta.2 (Apr 10). ~30 PRs of engine
fixes, ~50 new DSL fns, full parity-comparator tooling, and the
operational docs to triage incoming beta bugs.

TL;DR — what's in this release

Engine fixes (the 2026-05 audit pass)

  • SP72: use_bpm / use_synth no longer leak from in_thread into
    nested live_loop registration (#280) — months of FX-comparator
    numbers were running web at half tempo
  • SP78–81: four hot-swap state-hygiene bugs caught by Playwright +
    WAV reproducers (#283) — empty-cycle Updates, FX-scope inversion,
    stop-tail queue drain, per-loop state leakage
  • SP70: lossless capture pipeline — Recorder.ts swapped MediaRecorder
    • opus codec for raw float32 → WAV, removing the codec damage that
      had been masquerading as "filter family broken" for weeks
  • Per-loop audio isolation via private loopBus + monitor synth (#178)
    — first Sonic Pi implementation to ship this
  • #199: nested live_loop hot-swap routes through scheduler.hotSwap()
    directly (#261)
  • Sonic Tau mixer baseline: pre_amp=0.3, amp=0.8 — calibrated for
    browser-WASM headroom, not Desktop SP driver levels

DSL coverage: ~87% of upstream (148/170 user-facing fns)

  • Tier A: 17 critical fns — recording, kill, current_*, define
    persistence (#213)
  • Tier B: 27 fns across 3 PRs — ring/spread, tuplets, defonce,
    sync_bpm, dynamic eval (run_code/eval_file/run_file),
    live_audio control, load_example (#230, #234, #238)
  • Tier C: 23 fns across 3 PRs — state wrappers
    (with_synth_defaults, with_sample_defaults, use_arg_checks
    family), sample/buffer registry, mixer + introspection helpers
    (#252, #254, #256)
  • Help panel + autocomplete entries shipped for every new fn

Parity tooling

  • A/B comparator rig (tools/capture-desktop.ts + spectrogram
    compare) — captures both engines, renders 3-panel mel-spectrograms,
    reports L2 + MFCC + per-beat metrics (#264)
  • FX A/B inspector: npm run inspect opens a single-file viewer with
    desktop ↔ web <audio> players, sync-play, MFCC sidebar, verdict
    tiers HIGH/MID/LOW/INCONCLUSIVE (#277)
  • WAV-verify sweep across 40 wired FX (#275) — current scores:
    4 HIGH / 26 MID / 8 LOW / 2 INCONCLUSIVE (composite ~89.5%)
  • Capture tool: --batch <dir> for fixture-folder runs (#224),
    engine hooks for puts/cues instead of DOM slicing (#222)

UI / app

  • Welcome buffer drop + Cm9 finale (#220)
  • Preloader pulls forward CDN deps before App mount (#284)
  • Live Mixer Pre-Amp / Amp sliders in Prefs push to scsynth on drag
  • MIDI toolbar button hidden until Tier D ships (Web MIDI input via
    the engine API still works)
  • README rebranded to "Sonic Pi Web"

Beta operational infrastructure

  • KNOWN_ISSUES.md + TRIAGE.md + bug-template gates so triage
    isn't ambiguous when users report problems
  • 8 Plausible custom events wired for beta-visibility analytics
  • SuperSonic CDN version pinned end-to-end (v0.57.0)

Numbers

  • 929 unit tests pass (was 805 at beta.2)
  • 62/66 synths working end-to-end (3 upstream WASM LOAD-FAIL)
  • 197/197 samples
  • 42/42 FX wired, 40/42 WAV-classified
  • ~148/170 DSL fns (~87%)
  • 49 community forum compositions verified end-to-end in Chromium

Compatibility notes

  • Mixer behaviour change: web output is ~0.19× Desktop SP's
    driver-attenuated level by default. Comparators should RMS-normalise
    before A/B. Override via Prefs → Audio → Mixer Amp.
  • MIDI: Web MIDI continues to work via the engine API. Only the
    toolbar dropdown UI is gated until Tier D (midi_pc, midi_raw,
    midi_sysex, device picker).
  • DSL: net additive — no upstream-compatible code that worked in
    beta.2 should break in beta.3.

Install

npm install @mjayb/sonicpijs        # latest tag now points here
npm install @mjayb/sonicpijs@beta   # beta tag — same version

Browser: https://sonicpi.cc

See KNOWN_ISSUES.md
for current beta blockers.