Skip to content

Instantly share code, notes, and snippets.

@salkin-mada
Created May 12, 2020 21:24
Show Gist options
  • Save salkin-mada/237d106dab972639e17a629f554f5c4f to your computer and use it in GitHub Desktop.
Save salkin-mada/237d106dab972639e17a629f554f5c4f to your computer and use it in GitHub Desktop.
spwan ûr″gə-nŏm′ĭks
( // Spwan ûr″gə-nŏm′ĭks
fork{
s.volume_(-6);
Convenience.crawl(Platform.recordingsDir);
~ergo_bus = Bus.audio(s,2);
SynthDef('Zzzz', {
|
bufnum, out = 0, loop = 0, rate = 1, pan = 0, spread = 0.5, width = 2, amp = 0.5,
attack = 0.01, sustain = 0.5, release = 1.0, pos = 0,
gate = 1, cutoff = 22e3, res = 0.01, fgain = 1.0, ftype = 0, bass = 0.0
|
var sig, key, frames, env, file;
frames = BufFrames.kr(bufnum);
sig = ConvenientBufferPlayer.ar(
1,
bufnum,
rate*BufRateScale.kr(bufnum),
1,
pos*frames,
loop: loop
);
env = EnvGen.ar(Env.linen(attack, sustain, release), gate);
FreeSelf.kr(TDelay.kr(Done.kr(env),0.1));
sig = DFM1.ar(in: sig, freq: cutoff, res: res, inputgain: fgain, type: ftype);
sig = sig + (LPF.ar(sig, 100, bass));
sig = SplayAz.ar(2, sig, spread: spread, center: pan, level: amp);
sig = LeakDC.ar(sig);
sig = Limiter.ar(sig*env, 0.99);
Out.ar(~ergo_bus, sig);
}).add;
SynthDef(\master, {
var ins = In.ar(~ergo_bus,2);
var sum = Limiter.ar(LeakDC.ar(ins),0.99);
Out.ar(0,sum)
}).add;
s.sync;
Synth(\master);
}
)
Convenience.list(1)
Pdef(\ergo).stop
Pdef(\ergo).fadeTime_(rrand(1,20).postln)
(
Pdef(\ergo,
Pspawn(
Pbind(
\method, \par,
\delta, Pwhite(6.0, 12.0, inf),
\legato, Pwhite(0.3,1.0),
\folder, Pfunc{Convenience.folderNum(1)},
\file, Pfunc{100.rand},
\rate, rrand(0.5,18.5),
\arraySize, 8,
\pattern, Pfunc{ | envir |
var times = rrand(1,100);
var folder = envir.folder ?? "envir folder not set";
var file = envir.file ?? 1;
var levels = Array.rand(envir.arraySize ?? 4, 0.0001, 1.0);
var durs = Array.rand(envir.arraySize ?? 4, 1, 8);
var curve = rrand(-10,10);
var curce = rrand(-10,10);
var styler = envir.legato.wrap(0.001,0.1) ?? 0.5;
var rate = envir.rate;
Pbind(
\instrument, 'Zzzz',
\bufnum, Convenience.get(folder.asSymbol, file.asInteger),
\renv, Pseg(
Pseq(levels),
Pseq(durs),
curve
),
\scram, Pseg(
Pseq(levels.scramble),
Pseq(durs.scramble),
curce
),
\dur, styler ?? 1,
\rate, rate * Pkey(\renv),
\pos, Pkey(\renv),
\attack, Pwhite(0.001,0.01),
\sustain, Pwhite(0.001,0.01),
\release, Pwhite(0.001,Pkey(\renv)*Pkey(\scram)),
\cutoff, Pkey(\renv).linlin(0,1,3000,22000),
\pan, Pkey(\renv).linlin(0,1,-1.0,1.0),
\amp, Pkey(\renv)*Pkey(\scram)
)
}
)
)
).play;
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment