Non real time FFT -> Playback frame by frame using fftout~

Thomas_Lucas's icon

Hello everyone,
I would like to compute a frame by frame resynthesis from a previous offline fft. Many patchs I found on the forum are recording the fftin~ output signals in a buffer or a jit.matrix.
I would like to know if it's possible to get exactly the same information but instantaneously from a buffer with audio data inside.
This Volker Böhm patch seems to be a good solution for the non-real time fft on buffer but when I playback the stored fft using an Inverse Fourrier Transform it sound weird :

vb_offlinefft.maxpat
Max Patch



Do you think it's possible to playback each frame one by one from the stored fft with a fftout~? ..... I would like to get the same type of sound than Jean Francois Charles in this video or in these patches ....

https://www.youtube.com/watch?v=h5SObE8JSX8
https://cycling74.com/tools/charles-spectral-tutorials

... but with an instantenously fft analysis before ....

Hope someone can help me.
IDF.

AudioMatt's icon

Didn't check your links but try jit.fft @inverse 1 with jit.qfaker?

Thomas_Lucas's icon

Hello Audiomatt,
Thanks for your answer. I don't understand very well what jit.qfaker does :
Is it a way to process data from ifft at the good sampling rate ?

I'm looking for something that process fft the same way than fftin~but in non real-time. Jit.fft seems to be the object I need but when i don't understand how to playback these data frame by frame....

I think jit.fft don't take into account phase deviation like framedelta~ does ...


AudioMatt's icon

oh it just insures that it does the calculation in a "high priority thread" .

as for frame delta, I believe you can do all of this with jitter objects. There should be a way to get the delta of a matrix in jitter but I'm on .my way out the door...

Thomas_Lucas's icon

Thank you for your idea. This direction seems to be good for me. First I have to get the delta of a matrix then I have to read the data at the propper sampling rate as fftin does with the FFT bin index output.
If somebody knows about an other approach let me know. Could be verry helpfull for me.

Jean-Francois Charles's icon

Your other option is to do the FFT in real time, but from the audio buffer, so no "fft recording" step is needed. That's what Richard Dudas and Cort Lippe do in their tutorial: https://cycling74.com/tutorials/the-phase-vocoder-–-part-i