1
0
Fork 0
SuperCollider-Workspace/LorenzPattern.scd

57 lines
1.4 KiB
Plaintext
Raw Normal View History

2020-03-12 12:30:57 +01:00
( // basic synth SynthDef
2020-03-12 15:44:47 +01:00
SynthDef(\blipo, { | out, freq = 440, amp = 0.1, nharms = 10, pan = 0, gate = 1, sustain, attack=0.1 |
2020-03-12 12:30:57 +01:00
var audio = Blip.ar(freq * (SinOsc.kr(3).range(1,1.01)), nharms, amp);
2020-03-12 15:44:47 +01:00
var env = Linen.kr(gate, attackTime: attack, releaseTime: sustain, doneAction: Done.freeSelf);
2020-03-12 12:30:57 +01:00
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
2020-03-12 15:44:47 +01:00
~fxRev = Synth("reverbo", [\inBus, ~revbus, \wet, 0.9]);
2020-03-12 12:30:57 +01:00
2020-03-12 15:44:47 +01:00
~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]),
2020-03-12 12:30:57 +01:00
\instrument, \blipo,
\degree, (Pflatten(1, Plorenz()) * 18).asInteger,
\mtranspose, Prand([Pn(0,24),Pn(2,24),Pn(4,24)], inf),
2020-03-12 15:44:47 +01:00
\detune, Prand([0,1,0.5,1.5], inf),
\scale, Scale.minor(\just),
2020-03-12 12:30:57 +01:00
\legato, Prand((4..7),inf) * 0.2,
\pan, Prand((-10..10),inf) * 0.1,
\out, ~revbus
).play;
2020-03-12 15:44:47 +01:00
)
2020-03-12 16:54:29 +01:00