return fluid.transform(intervals, function (interval, idx) { return flock.synth({ synthDef: { id: "carrier", ugen: "flock.ugen.sin", freq: fundamental * interval, mul: ampScale } }); });
module.exports = function(enviro){ var flock = require(__dirname + "/node_modules/flocking/nodejs/index.js"); //var enviro = flock.init(); var counters= [0,0,0]; var schedule = [[0,1,0,1,0,0,0,0,1,0,1,1,0,0,0,0], [0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,1], [0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0]]; //bpm = 120; var global_interval; var drums = []; var kick = flock.synth({ synthDef: { ugen: "flock.ugen.playBuffer", buffer: { url: "./drumkit/kick.WAV" }, trigger: { id:"trig", ugen: "flock.ugen.inputChangeTrigger", source: 0, duration: 0.01 } } }); var snare = flock.synth({ synthDef: { ugen: "flock.ugen.playBuffer", buffer: { url: "./drumkit/snare.WAV" }, trigger: { id:"trig", ugen: "flock.ugen.inputChangeTrigger", source: 0, duration: 0.01 } } }); var hihat = flock.synth({ synthDef: { ugen: "flock.ugen.playBuffer", buffer: { url: "./drumkit/hi hat.wav" }, trigger: { id:"trig", ugen: "flock.ugen.inputChangeTrigger", source: 0, duration: 0.01 } } }); function drumMachine(){ drums.forEach(function(drum, index){ drum.set('trig.source', schedule[index][counters[index]]); counters[index] +=1; if(counters[index] === schedule[index].length){ counters[index] = 0; } }); } function reSchedule(){ clearInterval(global_interval); setInterval(drumMachine, (15000/bpm)); } drums.push(kick); drums.push(snare); drums.push(hihat); global_interval = setInterval(drumMachine, (15000/bpm)); enviro.start(); }
var synth = flock.synth({ id: "noise-sine-synth", synthDef: { ugen: "flock.ugen.sum", sources: [ { ugen: "flock.ugen.filter.biquad.bp", freq: { ugen: "flock.ugen.sin", rate: "control", freq: { ugen: "flock.ugen.lfNoise", rate: "control", options: { interpolation: "linear" }, freq: 0.005, mul: 200, add: 210 }, mul: 400, add: { ugen: "flock.ugen.lfNoise", rate: "control", freq: 0.05, mul: 300, add: 900 } }, source: { id: "noiseSource", ugen: "flock.ugen.whiteNoise", mul: { ugen: "flock.ugen.line", start: 0.0, end: 0.02, duration: 5.0 } }, q: { ugen: "flock.ugen.sin", rate: "control", freq: 0.01, mul: 4.0, add: 4.5 } }, { ugen: "flock.ugen.sin", freq: { ugen: "flock.ugen.lfNoise", rate: "control", options: { interpolation: "linear" }, freq: 0.25, mul: 30, add: 90 }, mul: { id: "sineVol", ugen: "flock.ugen.lfNoise", rate: "control", options: { interpolation: "linear" }, freq: 0.005, mul: { ugen: "flock.ugen.line", start: 0.0, end: 0.025, duration: 5.0 }, add: { ugen: "flock.ugen.line", start: 0.0, end: 0.025, duration: 5.0 } } } ] } });
}, freq: 1/2, mul: 10, add: 10 }, loop: 1.0, values: [0.7, 0.93333333, 1.05] } }; var s = flock.synth({ synthDef: { ugen: "flock.ugen.writeBuffer", options: { duration: 15, numOutputs: 1 }, buffer: "recording", sources: granularDef } }); enviro.asyncScheduler.once(10, function () { s.set("granulator.mul", { ugen: "flock.ugen.line", start: 1.0, end: 0.0, duration: 4 }); });
enviro = flock.init(); flock.synth({ synthDef: { ugen: "flock.ugen.playBuffer", buffer: { id: "hillier-first-chord", url: currentDir + "/../../demos/shared/audio/hillier-first-chord.wav" }, loop: 1, speed: { ugen: "flock.ugen.lfNoise", freq: 2.5, mul: { ugen: "flock.ugen.math", source: 1, div: { ugen: "flock.ugen.bufferDuration", buffer: { id: "hillier-first-chord" } } }, add: 1.0, options: { interpolation: "linear" } } } }); enviro.start();