57 lines
1.4 KiB
Plaintext
57 lines
1.4 KiB
Plaintext
( // 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;
|
|
)
|
|
|
|
|