( name: 'fft_freeze', func: { | buf | var in = In.ar(buf, 1); var isOn = \freezeGate.kr(0); var chain = FFT( LocalBuf(2048), in ); var frozen = PV_Freeze(chain, isOn); var jittered = PV_PhaseShift(frozen, \phaseJitter.kr(0) * TRand.kr(0, 2pi) * isOn); var sig = IFFT(jittered); sig; }, inChannels: 1, outChannels: 1, requiresBuffer: true, specs: ( freezeGate: [0, 1, \step, 1, 0], phaseJitter: [0, 1, \lin, 0.01, 0.1], ), )