( // basic synth SynthDef SynthDef(\blipo, { | out, freq = 440, amp = 0.1, nharms = 10, pan = 0, gate = 1, sustain, attack=0.1 | var audio = Blip.ar(freq * (SinOsc.kr(3).range(1,1.01)), nharms, amp); var env = Linen.kr(gate, attackTime: attack, releaseTime: sustain, doneAction: Done.freeSelf); OffsetOut.ar(out, Pan2.ar(audio, pan, env) ); }).add; // reverb effect SynthDef SynthDef("reverbo", { arg outBus = 0, inBus, wet = 0.1; var input = In.ar(inBus,2); var rev = JPverb.ar(input * wet, t60:6, damp:0.5); Out.ar(outBus, input + (rev)); }).add; ) // create a 'private' 2-chan audio bus ~revbus = Bus.audio(s,2); ( // start reverb effect on the private bus ~fxRev = Synth("reverbo", [\inBus, ~revbus, \wet, 0.9]); ~dotsP = Pbind( \dur, Pflatten(1, Plorenz() * 1), \attack, 0.01, \octave, 3, \nharms, Prand((2..7),500) ); ~linesP = Pbind( \dur, Pflatten(1, Plorenz() * 5), \attack, 3, \octave, Prand([2,3,4],inf), \nharms, Prand((1..4),80), \amp, 0.075 ); ~highP = Pbind( \dur, Pflatten(1, Plorenz() * 5), \attack, 3, \octave, 5, \nharms, Prand((1..3),50), \amp, 0.008 ); Pbindf( Ptpar([ 0, ~dotsP, 60, ~linesP, 160, ~highP]), \instrument, \blipo, \degree, (Pflatten(1, Plorenz()) * 18).asInteger, \mtranspose, Prand([Pn(0,24),Pn(2,24),Pn(4,24)], inf), \detune, Prand([0,1,0.5,1.5], inf), \scale, Scale.minor(\just), \legato, Prand((4..7),inf) * 0.2, \pan, Prand((-10..10),inf) * 0.1, \out, ~revbus ).play; )