summaryrefslogtreecommitdiff
path: root/public/js/grain.js
diff options
context:
space:
mode:
Diffstat (limited to 'public/js/grain.js')
-rw-r--r--public/js/grain.js37
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;
+ };