( name: 'fft_freeze', func: { var in = In.ar(\in.kr(0), 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: 2, requiresBuffer: true, usePan: true, panning: \pan, useSaturation: false, saturationSteps: 4, specs: ( freezeGate: [0, 1, \step, 1, 0], phaseJitter: [0, 1, \lin, 0.01, 0.1], ), )