#lang scribble/manual @(require (for-label racket)) @title{(fft buffer in hop wintype active)} (fft* b i) => (fft b i 0.5 0 1) Fast fourier transform. The fast fourier transform analyzes the frequency content of a signal. fft uses a local buffer for holding the buffered audio. The inverse transform, Ifft, reconstructs an audio signal. Note that the UGens the SC3 language provides do not use rate extensions, since only a single rate is valid for each UGen class. The fft and PV_ UGens must run at control rate, the ifft UGen at audio rate. @racketblock[ (with-sc3 (lambda (fd) (async fd (b-alloc 10 2048 1)))) ] @racketblock[ (let* ((s (mul (white-noise ar) 0.05)) (c (fft* 10 s))) (audition (out 0 (ifft* c)))) ] @racketblock[ (let* ((f1 (Squared (mul-add (sin-osc kr 0.08 0) 6 6.2))) (f2 (mul-add (sin-osc kr f1 0) 100 800)) (s (sin-osc ar f2 0))) (audition (out 0 (ifft* (fft* 10 s))))) ]