Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (
- SynthDef(\perc, {
- arg car=440, mods=1660, modf=666, rel=0.01, pan=0, gain=0.3;
- var sig, env;
- sig = SinOsc.ar(car) * SinOsc.ar(Line.kr(mods, modf, rel)) * SinOsc.ar(Line.kr(modf, mods, rel), mul: 2);
- env = EnvGen.kr(Env.perc(0.0001, rel), doneAction: 2);
- sig = sig * env;
- sig = Compander.ar(sig, sig, 0.4, 0.3, 1.3);
- sig = Pan2.ar(sig, pan);
- Out.ar(0, sig * gain)
- }).add;
- SynthDef(\kick, {
- arg mod = 5885;
- var sig, env;
- sig = SinOsc.ar(EnvGen.kr(Env([24000, 60, 60], [0.01, 1], \exp)));
- sig = sig + (sig * (SinOsc.ar(mod) * 0.04));
- env = EnvGen.kr(Env.perc(0.0001, 0.2), doneAction: 2);
- sig = sig * env;
- sig = Compander.ar(sig, sig, 0.4, 0.3, 1.3);
- sig = BPeakEQ.ar(sig, 60, 1, 4);
- Out.ar(0, Splay.ar(sig, 0.7) * 0.65);
- }).add;
- SynthDef(\hat, {
- var sig, env;
- sig = WhiteNoise.ar([1.001, 1.0001]);
- sig = GlitchRHPF.ar(sig, 4200, 0.4);
- env = EnvGen.kr(Env.perc(0.0001, 0.02), doneAction: 2);
- sig = sig * env;
- Out.ar(0, Splay.ar(sig, 0.9) * 0.4);
- }).add;
- SynthDef(\snare, {
- arg rel = 0.1, res=0.2;
- var sig, env;
- sig = WhiteNoise.ar([1.001, 1.0001]);
- sig = GlitchRHPF.ar(sig, 1000, res);
- env = EnvGen.kr(Env.perc(0.0001, rel), doneAction: 2);
- sig = sig * env;
- sig = Compander.ar(sig, sig, 0.4, 0.3, 1.3);
- Out.ar(0, Splay.ar(sig, 0.6) * 0.4);
- }).add;
- SynthDef(\bass, {
- arg len=0.1, note=64;
- var sig, env, freq;
- freq = note.midicps * 2;
- sig = SinOsc.ar(SinOsc.ar([1.1, 1.2], add:[freq,freq-2], mul: 1.5));
- sig = sig + ((SinOsc.ar(freq) * Line.kr(1, 0.9, len)) * 0.4);
- sig = sig + (SinOsc.ar(note.midicps) * 0.5);
- sig = BPeakEQ.ar(sig, 100, 0.2, 5);
- env = Line.kr(1, 1, len, doneAction: 2);
- Out.ar(0, Splay.ar(sig, 0.7, 0.12));
- }).add;
- SynthDef(\melody, {
- arg note=64, rel=0.2, gain=0.3;
- var sig, env;
- sig = SawDPW.ar([note.midicps, note.midicps-2, note.midicps-4]);
- sig = sig * (SinOsc.ar(note.midicps * 8) * Line.kr(0.5, 0, rel));
- env = EnvGen.ar(Env.perc(0.00001, rel), doneAction: 2);
- sig = sig * env;
- sig = Gammatone.ar(sig, note.midicps * 2, 200, 30);
- Out.ar(0, Splay.ar(sig, 0.8, gain));
- }).add;
- t = TempoClock(90/60, 4);
- Pdef(\perc_player,
- Pbind(
- \instrument, \perc,
- \dur, Pxrand([
- Pseq([0.25, 0.25, 0.25, 0.25, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125, 0.125], 1),
- Pseq([0.125, 0.125, 0.125, 0.125], 1),
- Pseq([0.25, 0.125, 0.125, 0.25, 0.25, 0.125, 0.125, 0.25, 0.25], 1),
- Pseq([0.5, 0.5, 0.25, 0.25, 0.5], 1),
- Pseq([0.125, 0.125], 1),
- Pseq([0.25, 0.25, 0.125, 0.125], 1)
- ], inf),
- \car, Pwhite(1300, 2500, inf),
- \mods, Pwhite(1988, 17900, inf),
- \modf, Pwhite(10550, 21800, inf),
- \rel, Pwhite(0.008, 0.053),
- \pan, Pwhite(-0.6, 0.6, inf)
- ).play(t);
- );
- Pdef(\disturbance,
- Pbind(
- \instrument, \perc,
- \dur, Prand([0.5, 1, 2], inf),
- \freq, Prand([\rest, 100], inf),
- \car, Pwhite(11400, 21900, inf),
- \mods, Pwhite(10900, 22900, inf),
- \modf, Pwhite(10550, 22800, inf),
- \rel, Pwhite(0.18, 0.43, inf),
- \pan, Pwhite(-0.9, 0.9, inf),
- \gain, 0.035
- ).play(t);
- );
- Pdef(\kick_player,
- Pbind(
- \instrument, \kick,
- \dur, Pxrand([
- Pseq([1.5, 0.75, 1.75], 1),
- Pseq([0.25, 0.50, 0.75, 0.75, 1.75], 1),
- Pseq([0.75, 0.75, 1.5, 0.25], 1),
- ], inf),
- \mod, Pwhite(3400, 7000)
- ).play(t);
- );
- Pdef(\snare_player,
- Pbind(
- \instrument, \snare,
- \dur, Pxrand([
- Pseq([1, 0.75, 1.5, 0.75], 1),
- Pseq([0.75, 2.5], 1),
- Pseq([0.75, 0.75, 2.5], 1),
- Pseq([1.5, 0.75, 1.75], 1)
- ], inf),
- \rel, Pwhite(0.08, 0.09, inf),
- \res, Pwhite(0.3, 0.6, inf)
- ).play(t, quant: t.beats + 0.5);
- );
- Pdef(\melody_player,
- Pbind(
- \instrument, \melody,
- \dur, Pseq([0.25, 1.75], inf),
- \note, Pseq([74, 69, 70, 67, 69, 66, 67, 64, 65, 62, 64, 60], inf),
- \rel, Pwhite(0.18, 0.36, inf),
- \gain, Pseq([
- Pseries(0, 0.001, 300),
- Pseries(0.3, -0.001, 300)
- ], inf)
- ).play(t, quant: t.beats+0.5);
- );
- Pdef(\hat_player,
- Pbind(
- \instrument, \hat,
- \dur, Pxrand([
- Pseq([0.25, 0.25], 1),
- Pseq([0.25, 0.25, 0.25, 0.25], 1),
- Pseq([0.125, 0.125], 1),
- Pseq([0.125, 0.125, 0.125, 0.125], 1),
- Pseq([0.25, 0.25, 0.25, 0.25, 0.25, 0.25], 1),
- Pseq([0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25], 1),
- ], inf),
- ).play(t);
- );
- Pdef(\bass_player,
- Pbind(
- \instrument, \bass,
- \note, Prand([
- Pseq([26], inf)
- ], inf),
- \dur, Pxrand([
- Pseq([4, 2, 1], 1),
- Pseq([4, 2, 2, 1], 1),
- Pseq([4, 2, 1, 1], 1),
- Pseq([4, 1, 2, 1, 1], 1),
- ], inf),
- \len, Pkey(\dur) / Pfunc { thisThread.clock.tempo }
- ).play(t);
- );
- )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement