( name: 'delayed_pulse_drone', func: { |freq| var ap; var numWaves = 6; var formants = Array.series(numWaves, 1, \freqAddStep.ir(1.25)); var freqs = formants * freq; var widths = { Rand(0.0, 1.0) }!numWaves; var sig = Pulse.ar(freqs, widths); sig = sig.collect { |s, i| s * (i + 1).reciprocal; }; sig = sig.collect { |s| OnePole.ar(s, \onePoleCoef.kr(0.5)); }; ap = numWaves.collect { |it| AllpassC.ar( sig[it], 0.2, SinOsc.kr(\delayModFreq.kr(0.1), rrand(0.0, 2pi)).range(0.08, 0.1)) }; sig = LinXFade2.ar(sig, ap, \drywet.kr(0.5)); sig = SplayAz.ar(numWaves, sig, orientation: \orientation.kr(0.5)); sig; }, useEnv: true, specs:( freqAddStep: [1.0, 10.0], onePoleCoef: [0.0, 0.98], drywet: [0.0, 1.0], orientation: [0.0, 10.0], delayModFreq: [0.0001, 1.0] ), defaults:( attack: 0.01, release: 0.1, curve: 1 ) )