Advertisement
Guest User

Untitled

a guest
Jun 14th, 2017
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (
  2. SynthDef(\perc, {
  3.   arg car=440, mods=1660, modf=666, rel=0.01, pan=0, gain=0.3;
  4.   var sig, env;
  5.   sig = SinOsc.ar(car) * SinOsc.ar(Line.kr(mods, modf, rel)) * SinOsc.ar(Line.kr(modf, mods, rel), mul: 2);
  6.   env = EnvGen.kr(Env.perc(0.0001, rel), doneAction: 2);
  7.   sig = sig * env;
  8.   sig = Compander.ar(sig, sig, 0.4, 0.3, 1.3);
  9.   sig = Pan2.ar(sig, pan);
  10.   Out.ar(0, sig * gain)
  11. }).add;
  12.  
  13. SynthDef(\kick, {
  14.   arg mod = 5885;
  15.   var sig, env;
  16.   sig = SinOsc.ar(EnvGen.kr(Env([24000, 60, 60], [0.01, 1], \exp)));
  17.   sig = sig + (sig * (SinOsc.ar(mod) * 0.04));
  18.   env = EnvGen.kr(Env.perc(0.0001, 0.2), doneAction: 2);
  19.   sig = sig * env;
  20.   sig = Compander.ar(sig, sig, 0.4, 0.3, 1.3);
  21.   sig = BPeakEQ.ar(sig, 60, 1, 4);
  22.   Out.ar(0, Splay.ar(sig, 0.7) * 0.65);
  23. }).add;
  24.  
  25. SynthDef(\hat, {
  26.   var sig, env;
  27.   sig = WhiteNoise.ar([1.001, 1.0001]);
  28.   sig = GlitchRHPF.ar(sig, 4200, 0.4);
  29.   env = EnvGen.kr(Env.perc(0.0001, 0.02), doneAction: 2);
  30.   sig = sig * env;
  31.   Out.ar(0, Splay.ar(sig, 0.9) * 0.4);
  32. }).add;
  33.  
  34. SynthDef(\snare, {
  35.   arg rel = 0.1, res=0.2;
  36.   var sig, env;
  37.   sig = WhiteNoise.ar([1.001, 1.0001]);
  38.   sig = GlitchRHPF.ar(sig, 1000, res);
  39.   env = EnvGen.kr(Env.perc(0.0001, rel), doneAction: 2);
  40.   sig = sig * env;
  41.   sig = Compander.ar(sig, sig, 0.4, 0.3, 1.3);
  42.   Out.ar(0, Splay.ar(sig, 0.6) * 0.4);
  43. }).add;
  44.  
  45. SynthDef(\bass, {
  46.   arg len=0.1, note=64;
  47.   var sig, env, freq;
  48.   freq = note.midicps * 2;
  49.   sig = SinOsc.ar(SinOsc.ar([1.1, 1.2], add:[freq,freq-2], mul: 1.5));
  50.   sig = sig + ((SinOsc.ar(freq) * Line.kr(1, 0.9, len)) * 0.4);
  51.   sig = sig + (SinOsc.ar(note.midicps) * 0.5);
  52.   sig = BPeakEQ.ar(sig, 100, 0.2, 5);
  53.   env = Line.kr(1, 1, len, doneAction: 2);
  54.   Out.ar(0, Splay.ar(sig, 0.7, 0.12));
  55. }).add;
  56.  
  57. SynthDef(\melody, {
  58.   arg note=64, rel=0.2, gain=0.3;
  59.   var sig, env;
  60.   sig = SawDPW.ar([note.midicps, note.midicps-2, note.midicps-4]);
  61.   sig = sig * (SinOsc.ar(note.midicps * 8) * Line.kr(0.5, 0, rel));
  62.   env = EnvGen.ar(Env.perc(0.00001, rel), doneAction: 2);
  63.   sig = sig * env;
  64.   sig = Gammatone.ar(sig, note.midicps * 2, 200, 30);
  65.   Out.ar(0, Splay.ar(sig, 0.8, gain));
  66. }).add;
  67.  
  68. t = TempoClock(90/60, 4);
  69.  
  70. Pdef(\perc_player,
  71.   Pbind(
  72.     \instrument, \perc,
  73.     \dur, Pxrand([
  74.       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),
  75.       Pseq([0.125, 0.125, 0.125, 0.125], 1),
  76.       Pseq([0.25, 0.125, 0.125, 0.25, 0.25, 0.125, 0.125, 0.25, 0.25], 1),
  77.       Pseq([0.5, 0.5, 0.25, 0.25, 0.5], 1),
  78.       Pseq([0.125, 0.125], 1),
  79.       Pseq([0.25, 0.25, 0.125, 0.125], 1)
  80.     ], inf),
  81.     \car, Pwhite(1300, 2500, inf),
  82.     \mods, Pwhite(1988, 17900, inf),
  83.     \modf, Pwhite(10550, 21800, inf),
  84.     \rel, Pwhite(0.008, 0.053),
  85.     \pan, Pwhite(-0.6, 0.6, inf)
  86.   ).play(t);
  87. );
  88.  
  89. Pdef(\disturbance,
  90.   Pbind(
  91.     \instrument, \perc,
  92.     \dur, Prand([0.5, 1, 2], inf),
  93.     \freq, Prand([\rest, 100], inf),
  94.     \car, Pwhite(11400, 21900, inf),
  95.     \mods, Pwhite(10900, 22900, inf),
  96.     \modf, Pwhite(10550, 22800, inf),
  97.     \rel, Pwhite(0.18, 0.43, inf),
  98.     \pan, Pwhite(-0.9, 0.9, inf),
  99.     \gain, 0.035
  100.   ).play(t);
  101. );
  102.  
  103. Pdef(\kick_player,
  104.   Pbind(
  105.     \instrument, \kick,
  106.     \dur, Pxrand([
  107.       Pseq([1.5, 0.75, 1.75], 1),
  108.       Pseq([0.25, 0.50, 0.75, 0.75, 1.75], 1),
  109.       Pseq([0.75, 0.75, 1.5, 0.25], 1),
  110.     ], inf),
  111.     \mod, Pwhite(3400, 7000)
  112.   ).play(t);
  113. );
  114.  
  115. Pdef(\snare_player,
  116.   Pbind(
  117.     \instrument, \snare,
  118.     \dur, Pxrand([
  119.       Pseq([1, 0.75, 1.5, 0.75], 1),
  120.       Pseq([0.75, 2.5], 1),
  121.       Pseq([0.75, 0.75, 2.5], 1),
  122.       Pseq([1.5, 0.75, 1.75], 1)
  123.     ], inf),
  124.     \rel, Pwhite(0.08, 0.09, inf),
  125.     \res, Pwhite(0.3, 0.6, inf)
  126.   ).play(t, quant: t.beats + 0.5);
  127. );
  128.  
  129. Pdef(\melody_player,
  130.   Pbind(
  131.     \instrument, \melody,
  132.     \dur, Pseq([0.25, 1.75], inf),
  133.     \note, Pseq([74, 69, 70, 67, 69, 66, 67, 64, 65, 62, 64, 60], inf),
  134.     \rel, Pwhite(0.18, 0.36, inf),
  135.     \gain, Pseq([
  136.       Pseries(0, 0.001, 300),
  137.       Pseries(0.3, -0.001, 300)
  138.     ], inf)
  139.   ).play(t, quant: t.beats+0.5);
  140. );
  141.  
  142. Pdef(\hat_player,
  143.   Pbind(
  144.     \instrument, \hat,
  145.     \dur, Pxrand([
  146.       Pseq([0.25, 0.25], 1),
  147.       Pseq([0.25, 0.25, 0.25, 0.25], 1),
  148.       Pseq([0.125, 0.125], 1),
  149.       Pseq([0.125, 0.125, 0.125, 0.125], 1),
  150.       Pseq([0.25, 0.25, 0.25, 0.25, 0.25, 0.25], 1),
  151.       Pseq([0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25], 1),
  152.     ], inf),
  153.   ).play(t);
  154. );
  155.  
  156. Pdef(\bass_player,
  157.   Pbind(
  158.     \instrument, \bass,
  159.     \note, Prand([
  160.       Pseq([26], inf)
  161.     ], inf),
  162.     \dur, Pxrand([
  163.       Pseq([4, 2, 1], 1),
  164.       Pseq([4, 2, 2, 1], 1),
  165.       Pseq([4, 2, 1, 1], 1),
  166.       Pseq([4, 1, 2, 1, 1], 1),
  167.     ], inf),
  168.     \len, Pkey(\dur) / Pfunc { thisThread.clock.tempo }
  169.   ).play(t);
  170. );
  171. )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement