one day before release version

master
Luka Prinčič 2020-12-18 22:41:01 +01:00
parent 4b849c4b24
commit ca19ea1c44
1 changed files with 91 additions and 60 deletions

151
ark_d.scd
View File

@ -3,7 +3,7 @@
// Ark/D, amorphic (2020) // Ark/D, amorphic (2020)
// =========================================================== // ===========================================================
// before boot, raise memory // before boot, raise memory?
#[\internal, \local].do { |s| #[\internal, \local].do { |s|
s = Server.perform(s); s = Server.perform(s);
s.options.memSize = 2097152; // 2 gigs s.options.memSize = 2097152; // 2 gigs
@ -47,8 +47,19 @@ Server.default.waitForBoot {
var snd, dly2; var snd, dly2;
snd = In.ar(in,2); snd = In.ar(in,2);
dly2 = CombN.ar(HPF.ar(snd,300), 1, [3/8,5/8] * LFNoise1.kr(0.4).range(0.98,1.02), 6, mul: LFNoise1.kr(0.1).range(0.4,0.1) * 2 * wet2);
snd = CombN.ar(snd, 1, Lag.ar(LFNoise0.ar(1).range(0.01,0.1),0.1), 3, mul:wet) + snd; dly2 = CombN.ar(HPF.ar(snd,300),
1,
[3/8,5/8] * LFNoise1.kr(0.4).range(0.98,1.02),
6,
mul: LFNoise1.kr(0.1).range(0.4,0.1) * 2 * wet2);
snd = CombN.ar(snd,
1,
Lag.ar(LFNoise0.ar(1).range(0.01,0.1),0.1),
3,
mul:wet) + snd;
snd = Limiter.ar(snd, 0.8); snd = Limiter.ar(snd, 0.8);
snd = snd + dly2; snd = snd + dly2;
@ -60,8 +71,9 @@ Server.default.waitForBoot {
var input, snd; var input, snd;
input = In.ar(inBus, 2); input = In.ar(inBus, 2);
snd = Limiter.ar(input, thresh); snd = Limiter.ar(input, thresh);
amp = VarLag.kr(amp+0.000001, lag, 0, \cub); amp = VarLag.kr(amp+0.000001, lag, 0, \cub) - 0.000001;
snd = snd * amp; snd = snd * amp;
snd = snd.softclip;
Out.ar(outBus, snd); Out.ar(outBus, snd);
}).add; }).add;
@ -81,6 +93,9 @@ Server.default.waitForBoot {
//~mainOutFx.free; //~mainOutFx.free;
~mainOutFx = Synth(\mainOutFx, ~mainOutFx = Synth(\mainOutFx,
[\inBus, ~mainOut, \outBus, 0], addAction:\addToTail); [\inBus, ~mainOut, \outBus, 0], addAction:\addToTail);
// ---------------------------------------------------------------------------------
"*** setup done. onto the timeline! ...".postln;
1.wait; 1.wait;
@ -127,13 +142,13 @@ Server.default.waitForBoot {
// synthdef // synthdef
SynthDef(\param, { arg freq = 100, sustain, amp, out=0; SynthDef(\param, { arg freq = 100, sustain, amp, out=0;
var sig; var sig;
sig = LFPar.ar(freq: [freq, freq*2]); sig = LFPar.ar(freq: [freq, freq*2.02]);
sig = sig * [1,0.1]; sig = sig * [1,0.2];
sig = (sig * 4).softclip * 0.8; sig = (sig * 4).softclip * 0.8;
//sig = LPF.ar(HPF.ar(sig, 150), 3000); //sig = LPF.ar(HPF.ar(sig, 150), 3000);
sig = LPF.ar(sig, (freq * 4).min(20000)); sig = LPF.ar(sig, (freq * 3).min(20000));
sig = sig * EnvGen.kr(Env.perc(0, sustain, 0.5), doneAction:2) * amp; sig = sig * EnvGen.kr(Env.perc(0, sustain, 0.5), doneAction:2) * amp;
sig = Splay.ar(sig, 0.2); sig = Splay.ar(sig, Rand(0,0.5), 1, Rand(-0.5,0.5));
Out.ar(out, sig); Out.ar(out, sig);
}).add; }).add;
@ -142,7 +157,7 @@ Server.default.waitForBoot {
//set main out gain to 0 //set main out gain to 0
~mainOutFx.set(\lag, 0, \amp, 0); ~mainOutFx.set(\lag, 0, \amp, 0);
0.2.wait; 0.2.wait;
// start playing starting pattern // start playing starting pattern
Pbindef(\prand, Pbindef(\prand,
\instrument, \param, \instrument, \param,
@ -158,9 +173,8 @@ Server.default.waitForBoot {
} }
}), }),
\dur, Prand([1,2,4,8,12,16,4,6,8], inf) / 20, \dur, Prand([1,2,4,8,12,16,4,6,8], inf) / 20,
\amp, 1, \amp, 1.2,
\sustain, 0.2, \sustain, 0.2,
//\out, ~verbDelayBus
\out, ~reverBus \out, ~reverBus
).play; " . 1.0".postln; ).play; " . 1.0".postln;
@ -217,7 +231,7 @@ Server.default.waitForBoot {
\legato,1, \legato,1,
\degree, Pseq([ [-2,3,11,20], [-2,5,7,21] ],inf), \degree, Pseq([ [-2,3,11,20], [-2,5,7,21] ],inf),
\octave, 3, \octave, 3,
\amp, [1,0.5,0.2,0.1] * 0.5, \amp, [1,0.5,0.2,0.1] * 0.7,
\out, ~reverBus, \out, ~reverBus,
\gainBus, ~softSawAmpBus \gainBus, ~softSawAmpBus
).play; ).play;
@ -246,7 +260,7 @@ Server.default.waitForBoot {
} }
}) - Pstutter(4, Prand([0,1] * 12,inf)), }) - Pstutter(4, Prand([0,1] * 12,inf)),
\sustain, Prand((9..10)/10,inf), \sustain, Prand((9..10)/10,inf),
); " . 1.3 tone0 = rrand(0,11) + longer sustain".postln; ); " . 1.3 rrand(0,11), sustain".postln;
30.wait; 30.wait;
@ -288,7 +302,7 @@ Server.default.waitForBoot {
~greyholeVerb.set(*[revWet:0.5, feedback:0.7, lag:10, dtime:0.1, size:5, diff:0.707 ]); ~greyholeVerb.set(*[revWet:0.5, feedback:0.7, lag:10, dtime:0.1, size:5, diff:0.707 ]);
~softSawAmpBusLiner.set(\lag, 20, \val, 1); ~softSawAmpBusLiner.set(\lag, 20, \val, 1.5);
21.wait; 21.wait;
@ -324,7 +338,7 @@ Server.default.waitForBoot {
} }
}), }),
\sustain, Prand((4..9)/10,inf), \sustain, Prand((4..9)/10,inf),
).play; "1.7 tone0:0".postln; ).play; " . 1.7 tone0:0".postln;
~softSawAmpBusLiner.set(\lag, 20, \val, 0.5); ~softSawAmpBusLiner.set(\lag, 20, \val, 0.5);
@ -345,7 +359,7 @@ Server.default.waitForBoot {
} }
}), }),
\sustain, Prand((4..9)/10,inf), \sustain, Prand((4..9)/10,inf),
).play; "1.8 24".postln; ).play; " . 1.8 24".postln;
10.wait; 10.wait;
@ -362,7 +376,7 @@ Server.default.waitForBoot {
} }
}), }),
\sustain, Prand((4..9)/10,inf), \sustain, Prand((4..9)/10,inf),
).play; "1.9 24 & 24".postln; ).play; " . 1.9 24 & 24".postln;
10.wait; 10.wait;
@ -402,20 +416,20 @@ Server.default.waitForBoot {
} }
}), }),
\sustain, Prand((2..5)/10,inf), \sustain, Prand((2..5)/10,inf),
//\amp, Env(#[1,1,0.2], #[10,20])
).play; " . 1.11 tone0".postln; ).play; " . 1.11 tone0".postln;
10.wait; 10.wait;
Pbindef(\prand, \amp, -1.dbamp);
2.wait; Pbindef(\prand, \amp, -2.dbamp); // sure one could use Pseg here:
2.wait; Pbindef(\prand, \amp, -3.dbamp); Pbindef(\prand, \amp, -1.dbamp); 2.wait;
2.wait; Pbindef(\prand, \amp, -4.dbamp); Pbindef(\prand, \amp, -2.dbamp); 2.wait;
2.wait; Pbindef(\prand, \amp, -5.dbamp); Pbindef(\prand, \amp, -3.dbamp); 2.wait;
2.wait; Pbindef(\prand, \amp, -6.dbamp); Pbindef(\prand, \amp, -4.dbamp); 2.wait;
2.wait; Pbindef(\prand, \amp, -7.dbamp); Pbindef(\prand, \amp, -5.dbamp); 2.wait;
2.wait; Pbindef(\prand, \amp, -8.dbamp); Pbindef(\prand, \amp, -6.dbamp); 2.wait;
2.wait; Pbindef(\prand, \amp, -9.dbamp); Pbindef(\prand, \amp, -7.dbamp); 2.wait;
10.wait; Pbindef(\prand, \amp, -8.dbamp); 2.wait;
Pbindef(\prand, \amp, -9.dbamp); 10.wait;
Pbindef(\prand).stop; Pbindef(\prand).stop;
@ -476,8 +490,7 @@ Server.default.waitForBoot {
\amp, 0.7, \amp, 0.7,
\legato, 1, \legato, 1,
\outBus, ~mainOut, \outBus, ~mainOut,
).play; "--- gcdmodp...".postln; ).play;
30.wait; 30.wait;
@ -554,11 +567,19 @@ Server.default.waitForBoot {
Pbindef(\akjClickp, *[ Pbindef(\akjClickp, *[
instrument: \akjClick, instrument: \akjClick,
//dur: Pseq([Pseq([1,2,3]/8, 2), Pseq([1,2,1,2,1,1]/8,3), Pseq([1]/8, 4), Pseq([1]/4, 2), ],inf), dur: Pseq([
//dur: Pseq([Pn(1/8, 31), Rest(1/8)],inf), Pn(1/8, 7), Rest(1/8), // 1
//dur: Pseq([Pn(1/3, 31), Rest(1/8)],inf), Rest(1), // 1
//amp: Prand([5,7,8,9]/20, inf), Pn(1/4, 3), Rest(3/8), Pn(1/8, 1),
amp: Prand([9]/20, inf), Pn(1/4, 3), Rest(3/8), Pn(1/8, 1),
Pn(1/4, 3), Rest(4/8),
Pn(1/8, 7), Rest(1/8),
Prand([ Rest(1), Pn(1/6,6) ]),
Pn(1/8, 3), Rest(1/8),
Prand([ Rest(1.25), Pn(1/4, 5) ]),
Prand([ Pn(1/8, 3), Pn(1/16, 6) ]), Rest(1/8),
],inf),
amp: 9/20,
releaseTime: 0.3, releaseTime: 0.3,
freq:1, freq:1,
out: ~mainOut out: ~mainOut
@ -745,7 +766,7 @@ Server.default.waitForBoot {
Pbindef(\y3).quant=1; Pbindef(\y3).quant=1;
Pbindef(\y3).play; Pbindef(\y3).play;
wait(30); wait(20);
Pbindef(\midlineP, \degree, Pseq([6,1,4], inf), \dur, 40 ); Pbindef(\midlineP, \degree, Pseq([6,1,4], inf), \dur, 40 );
Pbindef(\midlineP, \amp, 0.1 ); Pbindef(\midlineP, \amp, 0.1 );
@ -753,12 +774,12 @@ Server.default.waitForBoot {
Pbindef(\y3, \cutoff, Pstutter(16, Pseq([Pseq((13..18)),Pseq((17..12))].min(13),inf))); Pbindef(\y3, \cutoff, Pstutter(16, Pseq([Pseq((13..18)),Pseq((17..12))].min(13),inf)));
Pbindef(\y3, \legato, Pseq([Prand([1,0.7]), 0.6, 0.9, 0.4, 0.6] * 0.3, inf)); Pbindef(\y3, \legato, Pseq([Prand([1,0.7]), 0.6, 0.9, 0.4, 0.6] * 0.3, inf));
wait(30); wait(15);
Pbindef(\y3, \cutoff, Pstutter(16, Pseq([Pseq((13..18)),Pseq((17..12))].min(14),inf))); Pbindef(\y3, \cutoff, Pstutter(16, Pseq([Pseq((13..18)),Pseq((17..12))].min(14),inf)));
Pbindef(\y3, \legato, Pseq([Prand([1,0.7]), 0.6, 0.9, 0.4, 0.6] * 0.4, inf)); Pbindef(\y3, \legato, Pseq([Prand([1,0.7]), 0.6, 0.9, 0.4, 0.6] * 0.4, inf));
wait(30); wait(15);
Pbindef(\y3, \cutoff, Pstutter(16, Pseq([Pseq((13..18)),Pseq((17..12))].min(15),inf))); Pbindef(\y3, \cutoff, Pstutter(16, Pseq([Pseq((13..18)),Pseq((17..12))].min(15),inf)));
Pbindef(\y3, \legato, Pseq([Prand([1,0.7]), 0.6, 0.9, 0.4, 0.6] * 0.5, inf)); Pbindef(\y3, \legato, Pseq([Prand([1,0.7]), 0.6, 0.9, 0.4, 0.6] * 0.5, inf));
@ -812,7 +833,7 @@ Server.default.waitForBoot {
Pbindef(\midlineP).stop; Pbindef(\midlineP).stop;
wait(30); //wait(30);
Pbindef(\wHatp, \legato, Pseq([ Pseq((1..24)/24,1), Pseq([Pn(0.05,7),Prand((1..10)/80+0.05,inf)],inf)])); Pbindef(\wHatp, \legato, Pseq([ Pseq((1..24)/24,1), Pseq([Pn(0.05,7),Prand((1..10)/80+0.05,inf)],inf)]));
wait(24/8); wait(24/8);
@ -836,13 +857,13 @@ Server.default.waitForBoot {
wait(30); wait(30);
Pbindef(\wHatp, \legato, Pseq([ Pseq((1..24)/24,1), Pseq([Pn(0.05,7),Prand((1..10)/80+0.05,inf)],inf)])); Pbindef(\wHatp, \legato, Pseq([ Pseq((1..24)/24,1), Pseq([Pn(0.05,7),Prand((1..10)/80+0.05,inf)],inf)]));
wait(25/8); wait(20/8);
Pbindef(\wHatp).stop; Pbindef(\wHatp).stop;
Pbindef(\y3, \legato, Pseq([Prand([1,0.7]), 0.6, 0.9, 0.4, 0.6] * 0.3, inf)); Pbindef(\y3, \legato, Pseq([Prand([1,0.7]), 0.6, 0.9, 0.4, 0.6] * 0.3, inf));
Pbindef(\y3, \cutoff, Pstutter(16, Pseq([Pseq((13..18)),Pseq((17..12))].min(14),inf))); Pbindef(\y3, \cutoff, Pstutter(16, Pseq([Pseq((13..18)),Pseq((17..12))].min(14),inf)));
wait(10); wait(20);
Pbindef(\y3, \legato, Pseq([Prand([1,0.7]), 0.6, 0.9, 0.4, 0.6] * 0.6, inf)); Pbindef(\y3, \legato, Pseq([Prand([1,0.7]), 0.6, 0.9, 0.4, 0.6] * 0.6, inf));
Pbindef(\y3, \degree, Pseq( [ 0, 2, -1, 5, -2, 6 ], inf)); Pbindef(\y3, \degree, Pseq( [ 0, 2, -1, 5, -2, 6 ], inf));
@ -850,12 +871,14 @@ Server.default.waitForBoot {
//Pbindef(\y3, \octave, [4,5,6] + Pwrand([0,2,1, 3],[0.7,0.1,0.1,0.1],inf)); //Pbindef(\y3, \octave, [4,5,6] + Pwrand([0,2,1, 3],[0.7,0.1,0.1,0.1],inf));
Pbindef(\y3, \dlywet, Pstutter(8, Pfunc({~dlywrang1.set(\wet, rrand(0, ((3..9) * 0.1).choose ) ) }))); Pbindef(\y3, \dlywet, Pstutter(8, Pfunc({~dlywrang1.set(\wet, rrand(0, ((3..9) * 0.1).choose ) ) })));
wait(20); wait(30);
~dlywrang1.set(\wet2, 1);
wait(4);
Pbindef(\y3).stop; Pbindef(\y3).stop;
wait(4); wait(4);
// --- lcmnoi ---------------------------------------------------------------------- // --- lcmnoi ----------------------------------------------------------------------
"--- lcmnoi ...".postln; "--- lcmnoi ...".postln;
@ -904,20 +927,19 @@ Server.default.waitForBoot {
\instrument, \lcmnoise, \instrument, \lcmnoise,
\dur, Pseq([ \dur, Pseq([
Prand([Pseq([0.01,0.01]),0.02]), Pseq([
Pn(0.05,19), Prand([Pseq([0.01,0.01]),0.02]),
9.03 Pn(0.05,19),
], 20), // 20 x 10 9.03
], 20), // 20 x 10
30]),
\amp, 1, \amp, 1,
\amp1, Pseq([1,0.1],inf), \amp1, Pseq([1,0.1],inf),
\amp2, Pseq([0.6,1],inf), \amp2, Pseq([0.6,1],inf),
\legato, 1, \legato, 1,
\out, ~mainOut, \out, ~mainOut,
).play; "--- lcmnoip...".postln; ).play;
// progression into delays/reverbs?
// any added sounds?
160.wait; 160.wait;
@ -950,7 +972,7 @@ Server.default.waitForBoot {
~s1DistAmpBus = Bus.control(s,1); ~s1DistAmpBus = Bus.control(s,1);
~s1DistAmpBus.set(0); ~s1DistAmpBus.set(0);
~s1DistAmpLiner = SynthDef(\linexamp, { |outBus, lag, val| ~s1DistAmpLiner = SynthDef(\linexamp, { |outBus, lag, val|
Out.kr(outBus, VarLag.kr(val+0.0001, lag, 0, \cub) - 0.0001) Out.kr(outBus, VarLag.kr(val+0.0001, lag, 0, \cub) - 0.0001 * 0.9)
}).play(s, [outBus: ~s1DistAmpBus, lag: 10, val:0]); }).play(s, [outBus: ~s1DistAmpBus, lag: 10, val:0]);
~s1DistFfreqBus.free; ~s1DistFfreqBus.free;
@ -980,8 +1002,8 @@ Server.default.waitForBoot {
wait(1); wait(1);
~s1DistAmpLiner.set(\lag, 20, \val, 0.4); wait(20); ~s1DistAmpLiner.set(\lag, 40, \val, 0.4); wait(20);
~s1DistFfreqLiner.set(\lag, 20, \val, 500); wait(40); ~s1DistFfreqLiner.set(\lag, 40, \val, 500); wait(40);
~s1DistFfreqLiner.set(\lag, 10, \val, 1500); wait(30); ~s1DistFfreqLiner.set(\lag, 10, \val, 1500); wait(30);
~s1DistFfreqLiner.set(\lag, 10, \val, 7500); wait(20); ~s1DistFfreqLiner.set(\lag, 10, \val, 7500); wait(20);
~s1DistFfreqLiner.set(\lag, 1, \val, 700); wait(10); ~s1DistFfreqLiner.set(\lag, 1, \val, 700); wait(10);
@ -1060,7 +1082,7 @@ Server.default.waitForBoot {
\freq, Pseq([50, 80],inf), \freq, Pseq([50, 80],inf),
\dur, 30, \dur, 30,
\legato, 1.2, \legato, 1.2,
\amp, 0.7, \amp, 0.9,
\out, ~mainOut \out, ~mainOut
).play; ).play;
@ -1080,7 +1102,9 @@ Server.default.waitForBoot {
wait(20); wait(20);
Pbindef(\padmeP, \amp, 0.2); Pbindef(\padmeP, \amp, 0.4);
Pbindef(\dustnoiseP, \amp, Pseg(Pseq([1,0]), 90, \cub) ); // ???
// -- Soft dark saw --------------------------------------- // -- Soft dark saw ---------------------------------------
"--- soft dark saw...".postln; "--- soft dark saw...".postln;
@ -1143,7 +1167,7 @@ Server.default.waitForBoot {
\attack, 3, \attack, 3,
\octave, Prand([2,3,4],inf), \octave, Prand([2,3,4],inf),
\nharms, Prand((1..4),80), \nharms, Prand((1..4),80),
\amp, 0.2 ); \amp, 0.3 );
~highP = Pbind( ~highP = Pbind(
\dur, Pflatten(1, Plorenz() * 5), \dur, Pflatten(1, Plorenz() * 5),
@ -1152,7 +1176,6 @@ Server.default.waitForBoot {
\nharms, Prand((1..3),50), \nharms, Prand((1..3),50),
\amp, 0.03 ); \amp, 0.03 );
// just plays out! // just plays out!
~lorenzP = Pbindf( ~lorenzP = Pbindf(
Ptpar([ 0, ~dotsP, 60, ~linesP, 160, ~highP]), Ptpar([ 0, ~dotsP, 60, ~linesP, 160, ~highP]),
@ -1166,14 +1189,22 @@ Server.default.waitForBoot {
\out, ~reverBus \out, ~reverBus
).play; ).play;
wait(70); wait(140);
~softSawAmpBusLiner.set(\lag, 120, \val, 0); ~softSawAmpBusLiner.set(\lag, 120, \val, 0);
wait(120); wait(120);
Pbindef(\sawp1).stop; Pbindef(\sawp1).stop;
while({ ~lorenzP.isPlaying }, { wait(1); }); while({ ~lorenzP.isPlaying }, { wait(1); });
wait(30);
wait(10);
// fade out
~mainOutFx.set(\lag, 10, \amp, 0);
wait(5);
////////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////////