// title: a Panthera Pardus meditates about his melanism // author: helena barcelona // description: // code: // a Panthera Pardus meditates about his melanism ( ~chrs = {|in, speed| DelayC.ar(in, 0.5, Array.fill(12, {|i| LFNoise2.ar(speed).range(0.022, 0.024);}).sum)}; ~phas = {|in, speed=1| var chain; chain = in+FreqShift.ar(in, 0, SinOsc.kr(speed).range(0, pi)).tanh; chain = chain + FreqShift.ar(chain, 0, SinOsc.kr(speed*0.97).range(0, pi)).tanh; chain=(chain*0.5).tanh; }; ~smear = {|in, bins=50| var chain; chain=FFT(LocalBuf(2048), in); chain=PV_MagSmear(chain, bins); chain=IFFT(chain)*0.5; }; Ndef.clear; Ndef(\pantheraPardus___).play; Ndef(\___hisInner).play; Ndef(\pantheraPardus___).fadeTime = 5; Ndef(\___hisInner).fadeTime = 50; Ndef(\pantheraPardus___, {arg amp=1; var sig, env, sig0, ctrl; ctrl = LFGauss.kr(5, 0.15); sig = (Saw.ar([LFNoise1.kr(1).range(15, 30), 0.025], 0.14)) * LFNoise2.kr(1).range(0.5, 1); sig = (sig + PinkNoise.ar(0.1) * LFNoise2.kr(1).range(0.1, 0.4)) * ctrl; sig = sig*0.25 + ~chrs.(~phas.(sig, [0.2, 0.174]), [0.1, 0.12]); sig = DynKlank.ar(`[[100, 200, 300, 1000, 4000, 9000], (ctrl.range(0.2/6, 1/6)*LFNoise2.kr(1).range(0.2, 1))!6, 0.025], sig*0.2); sig = ~smear.(sig, 5); sig = HPF.ar(LPF.ar(sig, (LFNoise2.kr(1.25).range(100, 2000))), 250); sig = Limiter.ar(GVerb.ar(Limiter.ar(sig), 4.5, 0.2, 0.9, 0.1), -6.dbamp)*15; }); Ndef(\___hisInner, {arg amp=1; var sig = Saw.ar(Duty.kr(Dseq([2, 4, 1, 1/4, 8], inf), 0, Dseq([61+(1/6), [63+(3/6), 58+(3/6)], 64+(3/6)].midicps, inf)), 0.14); sig = LPF.ar(sig, LFNoise0.kr(15).range(5120, 9400).lag(0.001), 0.01); sig = DynKlank.ar(`[[100, LFNoise0.kr(2).range(300, 320), 4000], 1/3, 0.04], sig); sig = ~chrs.(~phas.(sig, [0.2, 0.174]), [0.1, 0.12]); sig = HPF.ar(LPF.ar(sig, 1200), 400)*15; sig = Limiter.ar(FreeVerb.ar(sig, [0.8, 0.78]), -6.dbamp); }); )