OPM.js v1.10
Portable arrangements and expressive exchange
Package 1.10.0, GitHub tag v1.10. Voice format remains v6; zero runtime dependencies.
- Portable, bounded version-1 Arrangement projects: save/load authored layers, sections, named voices, tempo/meter and synthesis settings. Loading is inert; replay is an explicit musical start, not a DSP checkpoint.
- Opt-in expressive Standard MIDI file import/export with explicit bend range, channel ownership and grouped loss summaries. Default note-only conversion remains unchanged; unsupported or ambiguous export semantics reject.
- Workload/host-scoped benchmark capacity candidates with explicit p99 reserve, raw worst/misses and clean diagnostics. No automatic synthesis-quality changes or universal device limits.
- Bounded local MIDI observation downloads and matching physical-mobile/MIDI/human-listening campaign preparation, plus synchronized public lifecycle/persistence/ownership contracts.
- Matching generated HTML/API documentation, searchable guides and current-release examples.
Exact reviewed distribution
- Release commit:
25825a03638915a23a52e254a96a6e77569fa031. - Remote CI: Quality and security run 37108065658 completed successfully on this exact commit. All six Node 22/24/26 and Chromium/Firefox/WebKit jobs passed, including unchanged deadline gates, real AudioWorklet smoke/stress and Chromium's installed-package Vite/CSP scenario.
- Independent scoped static review: Release110Inputs A/B and Release110DspSupply C/D, including final documentation/generated-HTML delta; no evidence-backed blockers. Reviewers executed no runtime gates.
- Local: 403 behavioral tests; 144 matching distribution assets; strict public/DOM-free core types; numerical sound/preset matrices; isolated installed-package/asset/type security gates; unchanged isolated p99 deadline ratio 1; zero-vulnerability development/runtime/Vite tooling audits.
- Installed final archive smoke: 83-byte expressive MIDI → inert Arrangement JSON round trip → 10,560 finite deterministic stereo frames → 42,284-byte WAV. Default omission and after-gate control rejection exercised. Numerical signal is not human listening acceptance.
- Live-tree numbered generated copies were rejected by package checks, preserved and excluded. This asset was rebuilt only from the exact committed canonical tree and independently installed/verified.
Installable archive
Download opm.js-1.10.0.tgz; install it with npm install /actual/path/opm.js-1.10.0.tgz. No consumer build toolchain is required.
- Size: 1,044,341 bytes.
- SHA-256:
098d79a90c127058080210e6c973f6f2f1812f824518df1d74283690db273ec7. - 192 package entries, including 144 complete JS/map/declaration distribution assets.
- Generated distribution/documentation matches the final reviewed candidate byte-for-byte.
Acceptance boundaries
Physical iOS/Android interruption/route/long-play, physical MIDI permission/controller/hot-unplug and genuine eighteen-preset human listening findings remain unverified. Automated/desktop signal, injected MIDI, finite PCM and readiness tools do not promote those statuses or listening trims.
This is GitHub distribution only: not npm registry publication/provenance, website deployment, hardware-clone fidelity or all-device glitch-free certification. Historical tags/assets remain unchanged. See the included CHANGELOG and SECURITY records for pre-release native Edge observations and the pinned-local-Chromium launcher limitation; those observations are distinct from remote CI.