Sand
- Web Audio API
- JavaScript
- Canvas
Granular synthesizer that runs from a single HTML file with no build step and no dependencies. It plays tiny overlapping grains of a sound, scattered in position, pitch and time, then pushes them through drive, three-band OTT compression and a resonant filter. Drag the waveform to move the grain cloud, hold one button to granulate the room through the mic, and record the output straight to WAV.
How-to
Every grain is its own buffer source with a Hann window, panned and pitched independently, scheduled ahead of the audio clock with enough jitter to keep the cloud from sounding metronomic. Two assignable LFOs can drive any parameter. The interface takes its finish from the Asiimov weapon skin: bone plates over a black mechanism, with orange reserved for whatever is currently live.