hey,
i recently have extracted some DemandEnvGen
examples from the synthesis part of this github repo maybe they are of interest to you:
(
{|sdm=1, mod=0.005, from=9, to=12, min=0.1, max=0.3, amp=1|
var sd = SampleDur.ir * sdm, hpf=40, mf=1.0;
HPF.ar(
DemandEnvGen.ar(
Dseq([min, min.neg, [max.neg, max]], inf),
sd * Dseq([Lag.kr(from), Lag.kr(to), Dbrown(from, to, to, from.neg,from)], inf)
).fold2(SinOsc.ar(mod)) * mf * amp,
hpf)
}.play;
)
(
{|sdm=1, repeats=32, from=8, to=30, min=0.1, max=0.9, amp=1.0|
var sd = SampleDur.ir * sdm, mf=0.2;
DemandEnvGen.ar(
Dseq([
Dseq([0, 0.5], repeats),
Dseq([-0.2, 0.8], repeats/2),
Dseq([-1.0, 1.0], Dwhite(repeats/32, repeats)),
Dseq([-0.8, 0.1], repeats/16)
], inf),
Dseq([
Dwhite(from, to, [repeats, repeats*0.5]),
Dwhite(from/1.5, to/1.5, [repeats, repeats*2]),
Dbrown(from/10, to/10, from/20, [repeats, repeats*0.25])
], inf) * sd
) * mf * amp;
}.play;
)
(
{|step=2, start=1, from=2, to=5, sdm=0.2, min=0.1, max=0.9, amp=1.0, brownStep=0.01|
var iter = 2;
var sd = SampleDur.ir * [sdm,sdm*1.1], mf=0.08;
var levels = ({ Dseries(rrand(min.neg,max.neg), rrand(min,max), from*rrand(from,to)) } ! iter) ++
({ Dbrown(rrand(min.neg,max.neg), rrand(min,max), brownStep, to*2) } ! iter);
var times = { Dseries(rrand(start,start*2), rrand(step,step*2), rrand(from*5,to*4)) } ! (iter*2);
DemandEnvGen.ar(
Dseq(levels, inf),
Dseq(times, inf) * sd
) * mf * amp
}.play;
)
(
{|sdm=1, repeats=4, from=5, to=18, mod=60, amp=1.0|
var length = 30;
var sd = SampleDur.ir * sdm, mf=0.3;
DemandEnvGen.ar(
Dseq([Dseries(-1.0, [0.04,0.09], 30)], inf),
Dseq([
Dwhite(from, to, repeats),
Dwhite(from/1.5, to*3, repeats)
], inf) * sd
).clip(SinOsc.ar(mod)) * mf * amp;
}.play;
)
(
{|sdm=0.15,modFreq=10, modFrom=5, modTo=25, amp=1.0|
var sd = SampleDur.ir * sdm, mf =0.4;
var size=5;
var from=1;
var to=25;
HPF.ar(DemandEnvGen.ar(
Dseq([1, [-1, 0.5]], inf),
Dseq(Array.rand(size,from,to), inf) * sd
).atan(SinOsc.ar(LFNoise0.ar(modFreq).range(modFrom, modTo))),40) * mf * amp;
}.play;
)
(
{|sdm=0.15,modFreq=10, modFrom=5, modTo=25, fmfreq=100, fmhi=4000, amp=1.0, mf = 0.25|
var size=5;
var from= 20;
var to=25;
var sd = SampleDur.ir * sdm;
var first = [1, [-1, 1.0]];
var second = Array.rand(size,from,to);
var seq = Dseq(second, inf);
var snd = DemandEnvGen.ar(Dseq(first, inf), seq * sd
).atan(SinOsc.ar(LFNoise0.ar(modFreq).range(modFrom, modTo))) * 0.5;
var trig = Impulse.kr(10);
var freq = Demand.kr(trig, 0, seq);
var buena = Stepper.kr(trig, 0, 0, 10, 1);
snd = snd + PMOsc.ar(LFCub.kr([freq, freq/2], 0, fmfreq * 0.2, fmfreq), fmhi, 0.5) * mf;
snd = snd + (DemandEnvGen.ar(Dwhite(-0.9,0.9,1),seq * sd * 10 * 0.1));
HPF.ar(snd, 40, amp)
}.play;
)
(
{|filtSpeed=10, filtCenter=200, sdm=1, modFreq=0.01, filtBw=3, amp=1.0, lpf=2500|
var size=3;
var from=1;
var to=25;
var a = 9;
var b = 5;
var min=0.1;
var max=0.3;
var sd = SampleDur.ir * sdm;
var snd = DemandEnvGen.ar(
Dseq([min, min.neg, [max.neg, max]], inf),
Dwhite(sd * a, sd * b),
).wrap2(SinOsc.ar([modFreq, modFreq * 1.1])) * 0.2;
snd = SoftClipAmp8.ar(snd,10) * amp;
HPF.ar(BBandStop.ar(snd, Lag.ar(LFNoise1.ar( [filtSpeed,filtSpeed*2] ).range(filtCenter * 0.2, filtCenter * 2), 0.05), filtBw));
}.play;
)