diff options
Diffstat (limited to 'public/js/grain.js')
| -rw-r--r-- | public/js/grain.js | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/public/js/grain.js b/public/js/grain.js new file mode 100644 index 0000000..a0b5d2a --- /dev/null +++ b/public/js/grain.js @@ -0,0 +1,37 @@ + + +var bufferSize = 4096; // 65536 / 2; +var sampleRate = 44100; +var latency = 1000 * bufferSize / sampleRate; +var audioletReady = false; + +var samples = [ + 'KickDrum0001.wav', + 'Clap.wav', + 'Closed Hihat0001.wav', + 'Open Hihat0001.wav', + 'SnareDrum0001.wav', + 'Clav.wav', + 'Mid Tom0001.wav', + 'Rimshot.wav', +]; + + + var dev = audioLib.AudioDevice(function(buffer, ch){ + var l = buffer.length / ch, + smpl, i, n; + for (n=0; n<l; n++){ + osc.generate(); + smpl = osc.getMix() + for (i=0; i<ch; i++){ + buffer[n*ch + i] = smpl; + } + } + }, 2), + osc = new audioLib.Oscillator(dev.sampleRate); + window.onmousemove = function(e){ + var freq = e.clientY / window.innerHeight * 880, + pw = e.clientX / window.innerWidth; + osc.frequency = freq; + osc.pulseWidth = pw; + }; |
