b = Buffer.read(s, "/home/lcoogan/snd/releases/desolation-mountain/02 - crawling and quietly seething was the figure of the trees.wav"); ( SynthDef(\vocoder, { var mod, car, bpfmod, num = 30, track, bpfcar, bpfhz = (1..num).linexp(1, num, 25, 16000), q = \q.kr(20); // create modulator & carrier mod = PlayBuf.ar(1, b, BufRateScale.ir(b), loop: 1); car = CombC.ar(WhiteNoise.ar(1), 1/20, 1/\freq.kr(50), 3); // track spectrum of modulator bpfmod = BPF.ar(mod, bpfhz, 1/q, q.sqrt); track = Amplitude.kr(bpfmod).lag3(0.03) * 2; // apply spectrum to carrier bpfcar = BPF.ar(car, bpfhz, 1/q, q.sqrt) * track; Out.ar(0, Splay.ar(bpfcar.scramble, spread: 0.1)); }).play; ) x.set(\freq, rrand(30, 50).midicps);