From 9fbf91db06a6d4f4b5cd8bb45389a731bb86bf22 Mon Sep 17 00:00:00 2001 From: Richard Date: Sun, 13 Apr 2025 18:48:02 +0100 Subject: initial --- site/app/partialemergence/effects_global.inc | 150 +++++++++++++++++++++++++++ 1 file changed, 150 insertions(+) create mode 100644 site/app/partialemergence/effects_global.inc (limited to 'site/app/partialemergence/effects_global.inc') diff --git a/site/app/partialemergence/effects_global.inc b/site/app/partialemergence/effects_global.inc new file mode 100644 index 0000000..c765743 --- /dev/null +++ b/site/app/partialemergence/effects_global.inc @@ -0,0 +1,150 @@ +#ifndef INC_GLOBALEFFECTS_INSTR +#define INC_GLOBALEFFECTS_INSTR ## +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + + Partial Emergence + by Richard Knight 2022 + + Installation submission for the International Csound Conference 2022 + + Global effects + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + + +/* + Reverb +*/ +instr global_reverb1 + aL, aR bus_read "reverb1" + aL, aR freeverb aL, aR, 0.8, 0.6 + bus_mix("master", aL, aR) +endin + + +/* + Delay 1 +*/ +instr global_delay1 + aL, aR bus_read "delay1" + ;aL *= abs(oscil(1, 1)) + ;aR *= abs(oscil(1, 1)) + kfeedback = abs:k(oscil:k(0.5, 4)) + 0.2 + + aLdlr delayr 0.8 + kdeltime = abs(oscil(0.02, 0.04)) + 0.1 + aLdel deltapi kdeltime + 0.002 + delayw aL + (aLdel * kfeedback) + aRdlr delayr 0.8 + aRdel deltapi kdeltime + 0.001 + delayw aR + (aRdel * kfeedback) + bus_mix("master", aLdel, aRdel) +endin + + +/* + Delay 2 +*/ +instr global_delay2 + aL, aR bus_read "delay2" + ifreq1 = 0.25 + kfdbkL = abs(oscil(0.8, 1.63)) + kfdbkR = abs(oscil(0.8, 1.67)) + + atimeL = abs(oscil(0.2, ifreq1)) + 0.01 + atimeR = abs(oscil(0.2, ifreq1)) + 0.01 + + aLdlr delayr 1 + aLdel deltapi atimeL + aLdel butterhp aLdel, 130 + delayw aL + (aLdel * kfdbkL) + + aRdlr delayr 1 + aRdel deltapi atimeR + aRdel butterhp aRdel, 130 + delayw aR + (aRdel * kfdbkR) + + bus_mix("master", aLdel, aRdel) +endin + + + +/* + Cyclical PVS sampler +*/ +instr global_pvsamp1 + aL, aR bus_read "pvsamp1" + ir = 512 + iscales[] fillarray 0.25, 0.5, 1, 2, 4 + ksampling init 1 + ktime = timeinsts() + ksamplestarttime init 0 + kplaystarttime init 0 + imaxlength = 6 + ksamplelength init random(2, imaxlength) + kplaylength init random(2, imaxlength) + krevsend init random(0, 0.4) + kdotune init (random(0, 1) > 0.8) ? 1 : 0 + kdohpf init round(random(0, 1)) + khpfreq init random(100, 2000) + kreadrate init random(0.005, 0.3) + kscale init iscales[round(random(0, lenarray(iscales) - 1))] + + if (ksampling == 1) then + fL1 pvsanal aL, ir, ir/4, ir, 1 + fR1 pvsanal aR, ir, ir/4, ir, 1 + + ibufL, ktL pvsbuffer fL1, imaxlength + ibufR, ktR pvsbuffer fR1, imaxlength + + if (ktime - ksamplestarttime >= ksamplelength) then + ksampling = 0 + kplaylength = random:k(2, imaxlength*0.9) + kplaystarttime = ktime + kdohpf = round:k(random:k(0, 1)) + khpfreq = random:k(100, 2000) + kdotune = (random:k(0, 1) > 0.8) ? 1 : 0 + krevsend = random:k(0, 0.6) + kreadrate = random:k(0.005, 0.3) + if (random:k(0, 1) >= 0.7) then + kscale = iscales[round:k(random:k(0, lenarray(iscales) - 1))] + endif + endif + endif + + if (ksampling == 0 && ktime - kplaystarttime >= kplaylength) then + ksampling = 1 + ksamplestarttime = ktime + ksamplelength = random:k(2, imaxlength) + endif + + ktime = abs:k(oscil:k(1, kreadrate)) + + kplaylengthp = port(kplaylength, 0.1) + fL2 pvsbufread ktime*kplaylengthp, ibufL + fR2 pvsbufread ktime*kplaylengthp, ibufR + + kscalep = port(kscale, 0.1) + fL3 pvscale fL2, kscalep + fR3 pvscale fR2, kscalep + + aL pvsynth fL3 + aR pvsynth fR3 + + if (kdotune == 1) then + aL, aR mel_tune_portamento aL*0.8, aR*0.8, gifnSine, 16, 1024, 4 + endif + + if (kdohpf == 1) then + aL butterhp aL, khpfreq + aR butterhp aR, khpfreq + endif + + bus_mix("reverb1", aL*krevsend, aR*krevsend) + bus_mix("master", aL, aR) +endin + + + + +#end -- cgit v1.2.3