From 6ba9674e0ec7b1aa3a23c7ff31cf390ef6752433 Mon Sep 17 00:00:00 2001 From: Eugene Petkevich Date: Sun, 12 Mar 2023 21:09:50 +0100 Subject: [PATCH] =?utf8?q?=D1=81=D0=B4=D0=B5=D0=BB=D0=B0=D1=82=D1=8C=20?= =?utf8?q?=D0=B3=D0=B5=D0=BD=D0=B5=D1=80=D0=B0=D1=82=D0=BE=D1=80=20=D1=81?= =?utf8?q?=D0=B8=D0=BD=D1=82=D0=BE=D0=B2=20=D0=B8=20=D1=80=D0=B5=D0=B2?= =?utf8?q?=D0=B5=D1=80=D0=B1=D0=BE=D0=B2=20=D0=B8=20=D0=BF=D0=BE=D1=8D?= =?utf8?q?=D0=BA=D1=81=D0=BF=D0=B5=D1=80=D0=B8=D0=BC=D0=B5=D0=BD=D1=82?= =?utf8?q?=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D1=82=D1=8C=20=D1=81=20=D0=BF?= =?utf8?q?=D0=B0=D1=80=D0=B0=D0=BC=D0=B5=D1=82=D1=80=D0=B0=D0=BC=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- ...1\213\322\217\320\270\323\210\321\221.scd" | 126 ++++++++++++++++++ 1 file changed, 126 insertions(+) create mode 100644 "\320\227\321\217\321\201\320\260\321\205-\320\234\321\213\322\217\320\270\323\210\321\221.scd" diff --git "a/\320\227\321\217\321\201\320\260\321\205-\320\234\321\213\322\217\320\270\323\210\321\221.scd" "b/\320\227\321\217\321\201\320\260\321\205-\320\234\321\213\322\217\320\270\323\210\321\221.scd" new file mode 100644 index 0000000..9947d08 --- /dev/null +++ "b/\320\227\321\217\321\201\320\260\321\205-\320\234\321\213\322\217\320\270\323\210\321\221.scd" @@ -0,0 +1,126 @@ +( +~synthGen = {|n=15, prefix=\fokyxiqa| + var synthNames = Array(n); + n.do{|i| + var synthName = (prefix ++ i.asString).asSymbol; + synthNames = synthNames.add(synthName); + SynthDef(synthName, {| + freq = 440, + attack = 0.01, + release = 1.0, + amp = 1, + pan = 0, + out = 0 + | + var sig = SinOsc.ar(freq, 2pi.rand); + var num = 11; + var partial; + sig = sig * EnvGen.kr(Env.perc(attack, release), doneAction: 2); + num.do({ + var pfact = rrand(2, 41); + partial = SinOsc.ar(freq * pfact, 2pi.rand); + partial = partial * EnvGen.kr( + Env.perc(attack, release), + levelScale: pfact.reciprocal * 1.3.rand, + timeScale: 1.0.rand * pfact.reciprocal, + ); + sig = sig + partial; + }); + sig = Pan2.ar(sig, pan, amp); + Out.ar(out, sig); + }).add; + }; + synthNames; +}; + +~reverbGen = {|n=15, prefix=\fokyxiqa| + var synthNames = Array(n); + n.do{|i| + var synthName = (prefix ++ i.asString).asSymbol; + synthNames = synthNames.add(synthName); + SynthDef(synthName, {| + in, + mix = 1, + out = 0 + | + var sig = In.ar(in, 2); + sig = FreeVerb2.ar( + sig[0], sig[1], + mix: mix, + room: 1.0.rand, + damp: 1.0.rand, + ); + Out.ar(out, sig); + }).add; + }; + synthNames; +} +) + +~synthNames = ~synthGen.value; +~reverbNames = ~reverbGen.value(prefix: \jumisevu); + +( +~reverbSynths = Array(~reverbNames.size); +~reverbBusses = Array(~reverbNames.size); +~reverbNames.do{|item| + ~reverbBusses = ~reverbBusses.add(Bus.audio(s, 2)); + ~reverbSynths = ~reverbSynths.add(Synth(item, [ + in: ~reverbBusses.last, + out: a.h, + ], s, \addToTail)); +}; +) + +~tuning = Tuning.et(13); +~scale = Scale.new(#[0, 3, 5, 8, 10], 13, ~tuning); + +( +Pdef(\hihymive, Pbind(*[ + out: Pshuf(~reverbBusses.wrapExtend(9), inf), + instrument: Pshuf(~synthNames.wrapExtend(9), inf), + db: -12, + pan: Pwhite(-0.5, 0.5), + dur: 1/3, + attack: Pwhite(0.01, 0.02), + release: Pwhite(0.8, 1.0), + scale: Pn(~scale), + octave: 2, + degree: Pn(Pshuf((0..8), 3), inf), +])).quant_(3).play; + +Pdef(\pafajyry, Pbind(*[ + out: Pshuf(~reverbBusses.wrapExtend(15), inf), + instrument: Pshuf(~synthNames.wrapExtend(15), inf), + db: -19, + pan: Pwhite(-0.3, 0.3), + dur: 1/5, + attack: Pwhite(0.01, 0.02), + release: Pwhite(0.3, 0.5), + scale: Pn(~scale), + octave: 4, + degree: Pn(Pshuf((0..14), 2), inf), +])).quant_(3).play; + +Pdef(\liwarypo, Pbind(*[ + out: Pshuf(~reverbBusses.wrapExtend(5), inf), + instrument: Pshuf(~synthNames.wrapExtend(5), inf), + db: -28, + pan: Pwhite(-0.2, 0.2), + dur: 3/5, + offset: 1/10, + attack: Pwhite(0.005, 0.01), + release: Pwhite(0.1, 0.2), + scale: Pn(~scale), + octave: 8, + degree: Pn(Pshuf((0..4), 4), inf), +])).quant_(3).play; +) + +( +~reverbSynths.do{|item| + item.set(\mix, 0.1); +}; +) + +s.record(bus: a.h); \ No newline at end of file -- 2.17.1