Sound and music made in code for a plain-JS phone game

Notes compiled 2026-11-05 for Elsewhere and the Tycho engine report. Target: plain JavaScript in a phone browser, nothing loaded, every quest a small world with its own look, and possibly its own sound. The question: how far procedural sound effects, ambience and music can go in Web Audio on a phone, and what a per-world “sound palette” (the eight-ink rule’s twin) would be.

Note on sourcing: the sfxr, jsfxr and ZzFX sources were read from their repositories; the NES APU from the NESdev wiki; iMUSE, MOD, Proteus, Koan and Super Mario World from Wikipedia or wikis; No Man’s Sky from A Sound Effect’s interview with Paul Weir; mobile browser behavior from MDN, Chromium, WebKit’s bug tracker and Paul Adenot’s Web Audio performance notes. Items marked “(search summary)” come from search-result summaries only and are less certain. Reasoning that is mine, not a source’s, is marked (inference).

What exists already

Tycho.audio (src/shell/audio.ts, docs/audio.md)

Elsewhere’s js/snd.js

Sound effects from a few numbers

sfxr (DrPetter, 2007)

ZzFX (Frank Force, 2019)

Rendered buffers versus node graphs

Footsteps, doors, ambient beds

Hardware limits as a style

Music that follows play

Mobile web audio

A sound palette per world (inference throughout)