Pre-solved Plumbing
Working pages that already handle the three phone gotchas — audio unlock, iOS motion permission, HTTPS — so build days are spent on instruments, not on plumbing.
Pocket Theremin
Open it — on a phone, ideally. The Day 6 reference build: vanilla Web Audio, a sawtooth through a lowpass, x = pitch, y = brightness. Read its source (it is one short, commented file) after you've built your own from the Day 6 notes, and compare choices.
Instrument Starter — the A3 fork base
Open the live demo — a scale-locked multitouch pad, which is the template running its placeholder instrument. To make it yours:
- In the p5.js editor: File → New.
- In the editor's index.html,
replace the p5.sound script line with
<script src="https://unpkg.com/tone@14.7.77/build/Tone.js"></script>— p5.sound and Tone conflict; a sketch uses one or the other, never both. - Open the raw template — sketch.js — select all, and paste it over the editor's sketch.js. Save, run.
- Edit only the sections marked >>> YOUR INSTRUMENT: makeSound() (what it sounds like), gestureStart / Move / Tilt / Shake (the mappings), faces() (what it looks like).
- Deploy by the Day 6 ritual: Share → Fullscreen → QR → phone.
The plumbing beneath the marked sections — the START screen, the permission incantations, the return-false hygiene, mouse fallbacks for laptop testing — is commented. Read it once so it isn't magic; edit it rarely so it keeps working.
Sample Library
An acoustic guitar, chromatic G3–B5, one mp3 per note, at
assets/strings/ — recorded for a previous
edition of this workshop. Wire it to Tone.Sampler exactly as on
Day 5. Filenames: g3_Pick1.mp3 …
b5_Pick1.mp3, sharps as as4, cs5.