UnpackFFT:

Filter: Unpack an FFT chain into separate demand-rate FFT bin streams

Source: FFTUnpacking.sc

Takes an FFT chain and separates the magnitude and phase data into separate demand-rate streams, for arithmetic manipulation etc.

This is technically a demand-rate UGen. The actual "demand" is usually created by PackFFT later on in the graph, which requests the values in order to re-pack the data. This allows for processing to occur in between.

See also PV_ChainUGen: -pvcollect, PV_ChainUGen: -pvcalc, and PV_ChainUGen: -pvcalc2, which provide convenient ways to process audio in the frequency domain. The help for pvcollect includes notes on efficiency considerations.

chain |
FFT chain |

bufsize |
FFT buffer size |

frombin |
limiting analysis to the bins of interest |

tobin |
limiting analysis to the bins of interest |

A list from DC up to Nyquist of `[mag[0], phase[0], mag[1], phase[1], ... mag[nyquist], phase[nyquist]].`

Note that you do have to decide your FFT buffer size in advance, since this determines how many values the UGen will output.

helpfile source: https://github.com/supercollider/supercollider/tree/3.13/HelpSource/Classes/UnpackFFT.schelp

link::Classes/UnpackFFT::

link::Classes/UnpackFFT::