diff --git a/packages/superdough/README.md b/packages/superdough/README.md index 4d09e7fd..ccaa1e8c 100644 --- a/packages/superdough/README.md +++ b/packages/superdough/README.md @@ -15,19 +15,31 @@ npm i superdough --save ## Use ```js -import { superdough, samples } from 'superdough'; -// load samples from github -const init = samples('github:tidalcycles/Dirt-Samples/master'); +import { superdough, samples, initAudioOnFirstClick, registerSynthSounds } from 'superdough'; + +const init = Promise.all([ + initAudioOnFirstClick(), + samples('github:tidalcycles/Dirt-Samples/master'), + registerSynthSounds(), +]); + +const loop = (t = 0) => { + // superdough(value, time, duration) + superdough({ s: 'bd', delay: 0.5 }, t); + superdough({ note: 'g1', s: 'sawtooth', cutoff: 600, resonance: 8 }, t, 0.125); + superdough({ note: 'g2', s: 'sawtooth', cutoff: 600, resonance: 8 }, t + 0.25, 0.125); + superdough({ s: 'hh' }, t + 0.25); + superdough({ s: 'sd', room: 0.5 }, t + 0.5); + superdough({ s: 'hh' }, t + 0.75); +}; -// play some sounds when a button is clicked document.getElementById('play').addEventListener('click', async () => { await init; - superdough({ s: "bd", delay: .5 }, 0); - superdough({ s: "sawtooth", cutoff: 600, resonance: 8 }, 0); - superdough({ s: "hh" }, 0.25); - superdough({ s: "sd", room: .5 }, 0.5); - superdough({ s: "hh" }, 0.75); -}) + let t = 0.1; + while (t < 16) { + loop(t++); + } +}); ``` ## Credits