|
|
TITLE:: FluidBufSTFTPass
|
|
|
summary:: Real-Time FFT/IFFT return trip.
|
|
|
categories:: UGens>Algebraic
|
|
|
related:: Classes/UnaryOpFunction
|
|
|
|
|
|
DESCRIPTION::
|
|
|
A sanity test for the FluCoMa Real-Time Client FFT/IFFT Wrapper footnote::This was made possible thanks to the FluCoMa project (http://www.flucoma.org/) funded by the European Research Council (https://erc.europa.eu/) under the European Union’s Horizon 2020 research and innovation programme (grant agreement No 725899).::
|
|
|
|
|
|
|
|
|
CLASSMETHODS::
|
|
|
|
|
|
METHOD:: ar
|
|
|
The audio rate version of the object.
|
|
|
|
|
|
ARGUMENT:: in
|
|
|
The input to be passed-through
|
|
|
|
|
|
ARGUMENT:: windowSize
|
|
|
The size of the buffered window to be analysed, in samples. It will add that much latency to the signal. This is not modulatable.
|
|
|
|
|
|
ARGUMENT:: hopSize
|
|
|
How much the buffered window moves forward, in samples. This is not modulatable.
|
|
|
|
|
|
ARGUMENT:: fftSize
|
|
|
How large will the FFT be, zero-padding the buffer to the right size, which should be bigger than the windowSize argument, bigger than 4 samples, and should be a power of 2. This is a way to oversample the FFT for extra precision. The -1 default value will default to windowSize. This is not modulatable.
|
|
|
|
|
|
returns::
|
|
|
Same as input, delayed by the windowSize.
|
|
|
|
|
|
|
|
|
EXAMPLES::
|
|
|
|
|
|
Summing with the inverse (gain of -1) with a delay of the latency gives us CPU-expensive silence.
|
|
|
code::
|
|
|
{ var source = PinkNoise.ar(0.1); DelayN.ar(source, delaytime:1024/s.sampleRate, mul: -1) + FluidBufSTFTPass.ar(source, 1024, 256, 1024); }.play
|
|
|
::
|
|
|
Larger, oversampled, FFT
|
|
|
code::
|
|
|
{ FluidBufSTFTPass.ar(PinkNoise.ar(0.1), 2048, 128, 8192) }.play
|
|
|
::
|
|
|
Stereo Input Tests.
|
|
|
code::
|
|
|
{ FluidBufSTFTPass.ar([SinOsc.ar(222,mul: 0.1), PinkNoise.ar(Decay.ar(Impulse.ar(0.666,mul: 0.2), 0.5))], fftSize:1024)}.play
|
|
|
::
|
|
|
Stereo Parameter Tests.
|
|
|
code::
|
|
|
{ FluidBufSTFTPass.ar(SinOsc.ar(222,mul: 0.1), [1024,8192],256,8192)}.play
|
|
|
::
|