Hi!
I am trying to do some crazy spectral manipulations, I want to bypass the realtime FFT UGen by filling buffers with magnitude and phase (and also cartesian values) and then resynthesizing these buffers with IFFT. This approach is based on this SCTweet by Batuhan Bozkurt:
(
{
f={Buffer.alloc(s, 512)};
r={|k,m|
RecordBuf.ar(Pulse.ar(8,m,6e3),k)
};
r.(a=f.(),0.99);
r.(b=f.(),0.99001);
Out.ar(0,IFFT([a,b]).tanh)
}.play;//44.1kHz:)
)
How would it be possible to write a single sinusoidal wave in this way?
I am not interested in perfect reconstruction here, as the windowing and FFT power of 2 will cause various imperfections. But I would like to understand the base cases to deal better with the artifacts…