// title: Assignment #1 // author: ldavidson // description: // https://soundcloud.com/lydia-davidson-919585173/assignment-1-musc-115 // code: ( SynthDef("hihat", {arg out = 0, amp = 0.5, att = 0.01, rel = 0.2, ffreq = 6000, pan = 0; var env, snd; env = Env.perc(att, rel, amp).kr(doneAction: 2); snd = WhiteNoise.ar; snd = HPF.ar(in: snd, freq: ffreq, mul: env); Out.ar(out, Pan2.ar(snd, pan)); }).add; SynthDef("snare", {arg out = 0, amp = 0.1, sinfreq = 180, att = 0.01, rel = 0.2, ffreq = 2000, pan = 0; var env, snd1, snd2, sum; env = Env.perc(att, rel, amp).kr(doneAction: 2); snd1 = HPF.ar( in: WhiteNoise.ar, freq: ffreq, mul: env ); snd2 = SinOsc.ar(freq: sinfreq, mul: env); sum = snd1 + snd2; Out.ar(out, Pan2.ar(sum, pan)); }).add; SynthDef("kick", {arg out = 0, amp = 0.3, sinfreq = 60, glissf = 0.9, att = 0.01, rel = 0.45, pan = 0; var env, snd, ramp; env = Env.perc(att, rel, amp).kr(doneAction: 2); ramp = XLine.kr( start: sinfreq, end: sinfreq * glissf, dur: rel ); snd = SinOsc.ar(freq: ramp, mul: env); snd = Pan2.ar(snd, pan); Out.ar(out, snd); }).add; SynthDef("kick", {arg out = 0, amp = 0.3, sinfreq = 60, glissf = 0.9, att = 0.01, rel = 0.45, pan = 0; var env, snd, ramp; env = Env.perc(att, rel, amp).kr(doneAction: 2); ramp = XLine.kr( start: sinfreq, end: sinfreq * glissf, dur: rel ); snd = SinOsc.ar(freq: ramp, mul: env); snd = Pan2.ar(snd, pan); Out.ar(out, snd); }).add; SynthDef("sawSynth", { arg freq = 440, amp = 0.1, att = 0.1, rel = 2, lofreq = 1000, hifreq = 3000; var env, snd; env = Env.perc( attackTime: att, releaseTime: rel, level: amp ).kr(doneAction: 2); snd = Saw.ar(freq: freq * [0.99, 1, 1.001, 1.008], mul: env); snd = LPF.ar( in: snd, freq: LFNoise2.kr(1).range(lofreq, hifreq) ); snd = Splay.ar(snd); Out.ar(0, snd); }).add; SynthDef("plucking", {arg amp = 0.1, freq = 440, decay = 5, dampen = 0.1; var env, snd; env = Env.linen(0, decay, 0).kr(doneAction: 2); snd = Pluck.ar( in: WhiteNoise.ar(amp), trig: Impulse.kr(0), maxdelaytime: 0.1, delaytime: freq.reciprocal, decaytime: decay, coef: dampen); Out.ar(0, [snd, snd]); }).add; ) ( Pbind( \instrument, "hihat", \dur, Pseq([1/2, Rest(1/4)], inf), \att, 0.03, \rel, Pseq([0.1, 0.1, 0.1, 0.7], inf), \ffreq, 100, \pan, 0, \amp, 0.02 ).play; Pbind( \instrument, "hihat", \dur, Pseq([1/10, Rest(9/10)], inf), \att, 0.01, \rel, 0.5, \ffreq, 18000, \pan, 0, \amp, 0.5 ).play; Pbind( \instrument, "snare", \dur, Pseq([1/4, 1/4, Rest(1/4)], inf), \att, 0.01, \rel, 0.1, \sinfreq, 170, \ffreq, 1000, \amp, 0.02 ).play; Pbind( \instrument, "snare", \dur, Pseq([0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.03125, 0.5], inf), \att, 0.01, \rel, 0.2, \sinfreq, 190, \ffreq, 3000, \amp, 0.01 ).play; Pbind( \instrument, "kick", \dur, Pseq([1/4, Rest(1/4), 1/4, 1/4, 1/4, Rest(1/4), 1/4, 1/4], inf), \att, 0.002, \rel, 0.12, \sinfreq, 35, \glissf, 0.02, \amp, 0.8, ).play; Pbind( \instrument, "sawSynth", \midinote, Pseq([60, 62, 63, 65, 67, 72, 70, 68, 67, 65, 63, 62, 60, 58, 60, 58], inf), \dur, Pn(Pseq([1, 1, 0.5], inf), inf), \att, 0.01, \rel, 0.02, \amp, 0.5, \lofreq, 700, \hifreq, 800 ).play; Pbind( \instrument, "sawSynth", \midinote, Pshuf([ [38, 41, 43, 60, 63, 72], Pshuf([ [38, 41, 43, 46], [38, 41, 60, 63], ], 1) ], inf ), \dur, Prand([0.5, 1, 1.5, 2], inf), \att, 0.01, \rel, 0.1, \hifreq, 10000, \amp, 0.2 ).play; Pbind( \instrument, "sawSynth", \midinote, Pseq([36, 26, 32, 34, 29, 36, 32, 26], inf), \dur, 1/15, \att, 0.01, \rel, 0.2, \amp, 0.2, \lofreq, 50, \hifreq, 800 ).play; Pbind( \instrument, "plucking", \midinote, Pseq([60, 58, 60, 60, 58, 60, 60, 58, 60, 60, 58, 60, 60, 60, 60, 58, 60, 62, 63, 62, 62, 70, 68, 67, 67, 65, 67, 65, 63, 70, 72, 72, 70, 75, 74, 79, 79, 82, 82, 79, 75, 70, 72, 72, 70, 72, 72, 70, 72, 70, 67, 63, 63, 62, 60, 60, 60, 58, 60, 62, 63, 62, 62, 70, 68, 67, 67, 65, 67, 65, 63, 70, 72, 72, 70, 75, 74, 79, 79, 82, 82, 79, 75, 70, 72, 72, 70, 72, 72, 70, 72, 70, 67, 63, 63, 62, 60, 58, 60, 60, 58, 60, 60, 58, 60, 60, 58, 60, 60, 58, 60, 60, 58, 60], inf), \amp, 0.25, \decay, Prand([3, 8, 5, 2, 4, 5, 8.5, 7.5, 2.5, 6, 9, 10], inf), \dampen, 0.1, \dur, Pseq([0.05, 0.05, 1.9, 0.05, 0.05, 1.9, 0.05, 0.05, 1.9, 0.05, 0.05, 1.9, 0.5, Rest(0.5), 0.5, 0.5, 0.5, 0.5, 1, 0.5, 0.5, 0.5, 0.5, 0.5, Rest(0.5), 0.75, 0.75, 0.5, 1, 1, 0.25, 0.25, 0.25, 0.25, 0.5, 0.5, 0.5, 0.5, 0.25, 0.25, 0.25, 0.25, 0.5, Rest(0.5), 1, 0.5, Rest(0.5), 1, 0.25, 0.25, 0.25, 0.25, 2, 2, 0.25, Rest(0.25), 0.25, 0.25, 0.25, 0.25, 0.5, 0.25, 0.25, 0.25, 0.25, 0.25, Rest(0.25), 0.375, 0.375, 0.25, 0.5, 0.5, 0.125, 0.125, 0.125, 0.125, 0.25, 0.25, 0.25, 0.25, 0.125, 0.125, 0.125, 0.125, 0.25, Rest(0.25), 0.5, 0.25, Rest(0.25), 0.5, 0.125, 0.125, 0.125, 0.125, 1, 1, 0.05, 0.05, 0.95, 0.05, 0.05, 0.95, 0.1, 0.1, 1.9, 0.1, 0.1, 1.9, 0.1, 0.1, 1.9, 0.2, 0.2, 3.8, 0.4, 0.4, 7.6]) ).play; Pbind( \instrument, "plucking", \scale, Scale.lydian, \midinote, 60, \amp, Pwhite(0.03, 0.02), \decay, Pwhite(1, 2), \dampen, Prand([0.7, 0.8, 0.4, 0.9, 0.3, 0.6], inf), \dur, Pseq([0.25, 0.125, 0.125], inf), ).play; )