i'm actually not entirely sure on that one myself, it was originally based on a patch made by Frank Barknecht i think.

bascially, as far as i can figure, it's like this:

FFT gives the amplitude (and phase, i think) of a gradient of frequency bands, and then reconstructs the signal from that information. So, a signal goes in as a normal block, and that is transformed into the FFT realm, which means that your block now has the amplitude information for each frequency in the gradient.

then, we can do things to the block of audio to modify it. the simplest example is making a graphic EQ. if the FFT block is multiplied by another table of equal length to the block size, then the values of each point in that table will scale the output of each frequency in the FFT block.

in a similar way, if the FFT data is sent into a delayline, the amount of delay can be set seperately for each frequency in the block. the original patch i based my spectral delay on had the delay times being written from a table. however, i found that an acceptable substitute for the table was to use a sine function to define the delay at for each point in the FFT.

there is also feedback and stuff, and that works just like it does on normal signals, except it acts on individual frequencies.