notepat/gm: wire General MIDI as default sound + digit-buffered patch picker master
GM bank served from assets.aesthetic.computer/gm/<NNN>/<note>.mp3, baked on lith from a FOSS SoundFont (GeneralUser GS). The disk-side wiring falls back to a sine oscillator while GM is loading or unavailable, so nothing breaks before the packs land on Spaces. - lith/scripts/gm-bake.mjs: SoundFont→per-instrument MP3 bake (128 melodic patches + GM standard drum kit, manifest.json + LICENSE.txt) - system/public/aesthetic.computer/lib/gm.mjs: lazy AudioBuffer player — loadManifest / loadPatch / loadDrumKit / prefetchPatch - system/public/aesthetic.computer/lib/midi.mjs: forward 0xC0 program-change through acSEND so notepat can react to it - notepat.mjs: "gm" prepended to wavetypes (default); top-row 0-9 picks GM programs live like menuband, with 700ms auto-clear; wave button shows GM:078 while typing; legacy oscillators stay reachable via Tab; deferred GM init waits for window.audioContext after first user gesture - plans/notepat-gm-integration.md: full integration plan + decision log Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>