示例#1
0
 return fluid.transform(intervals, function (interval, idx) {
     return flock.synth({
         synthDef: {
             id: "carrier",
             ugen: "flock.ugen.sin",
             freq: fundamental * interval,
             mul: ampScale
         }
     });
 });
示例#2
0
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
                    }
                }
            }
        ]
    }
});
示例#4
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
    });
});
示例#5
0
    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();