// Granular synth — scatter jittered grains from a seeded source buffer into a texture cloud. // Run: node examples/granular.js 0.08 15 4 10s // Run: node examples/granular.js size=0.08 density=15 spread=4 -d 10s // Keys: q quit import { AudioContext } from 'web-audio-api' import { init } from './graphs/granular.js' import { args, sec, keys, clearLine, help } from './utils.js' help({ description: 'scatter jittered grains from a seeded source buffer', usage: ['', '[size] [density] [spread] [duration]', 'size=0.08 density=15 spread=4 dur=10s'], options: [ ['size=', 'grain length (default: 0.08)'], ['density=', 'grains per second (default: 15)'], ['spread=', 'random pitch jitter range (default: 4)'], ['-d, --duration