Skip to content

Instantly share code, notes, and snippets.

@colinbdclark
Created October 30, 2015 23:56
Show Gist options
  • Save colinbdclark/fe3ef6f6a9456ed89ea2 to your computer and use it in GitHub Desktop.
Save colinbdclark/fe3ef6f6a9456ed89ea2 to your computer and use it in GitHub Desktop.
Leeway Halfway Quadraphonic
var lowFadeIn = {
ugen: "flock.ugen.line",
duration: 10,
start: 0,
end: 0.125
};
var midFadeIn = {
ugen: "flock.ugen.line",
duration: 10,
start: 0,
end: 0.09
};
var highFadeIn = {
ugen: "flock.ugen.line",
duration: 10,
start: 0,
end: 0.075
};
var fadeOut = {
ugen: "flock.ugen.line",
duration: 10,
end: 0
};
var synth = flock.synth({
addToEnvironment: false,
synthDef: [
{
id: "one",
ugen: "flock.ugen.sinOsc",
freq: {
ugen: "flock.ugen.xLine",
start: 60,
end: 90,
duration: 120
},
mul: {
ugen: "flock.ugen.sinOsc",
freq: {
ugen: "flock.ugen.xLine",
start: 1/120,
end: 1/2,
duration: 120
},
mul: lowFadeIn,
add: lowFadeIn
}
},
{
id: "three",
ugen: "flock.ugen.sinOsc",
freq: {
ugen: "flock.ugen.xLine",
start: 90,
end: 60,
duration: 90
},
mul: {
ugen: "flock.ugen.sinOsc",
freq: {
ugen: "flock.ugen.lfNoise",
freq: {
ugen: "flock.ugen.xLine",
start: 1/240,
end: 1/120,
duration: 90
},
mul: 1/30,
add: 1/30
},
mul: lowFadeIn,
add: lowFadeIn
}
},
{
id: "two",
ugen: "flock.ugen.sinOsc",
freq: {
ugen: "flock.ugen.xLine",
start: 270,
end: 240,
duration: 120
},
mul: {
ugen: "flock.ugen.sinOsc",
freq: {
ugen: "flock.ugen.xLine",
start: 1/120,
end: 1/2,
duration: 120
},
mul: highFadeIn,
add: highFadeIn
}
},
{
id: "four",
ugen: "flock.ugen.sinOsc",
freq: {
ugen: "flock.ugen.xLine",
start: 210,
end: 180,
duration: 90
},
mul: {
ugen: "flock.ugen.sinOsc",
freq: {
ugen: "flock.ugen.lfNoise",
freq: {
ugen: "flock.ugen.xLine",
start: 1/240,
end: 1/120,
duration: 180
},
mul: 1/60,
add: 1/60
},
mul: midFadeIn,
add: midFadeIn
}
}
]
});
flock.environment.asyncScheduler.once(2, function () {
synth.play();
});
flock.environment.asyncScheduler.once(165, function () {
var ids = ["one", "two", "three", "four"];
fluid.each(ids, function (id) {
var path = id + ".mul",
mul = synth.get(path),
change = $.extend({}, fadeOut, {
start: mul.model.value
});
synth.set(path, change);
});
});
flock.environment.asyncScheduler.once(180, function () {
flock.environment.stop();
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment