I am working on image-to-sound project and trying to implement additive syntheses in SuperCollider. I want to use inverse DFFT to sum over (hundreds of) sine waves instead of creating a SinOsc
synth for each of them.
All SuperCollider documentation says that IFFT
consumes something called "FFT chain" produced by FFT
(and transformed by PV_*
functions):
Time-domain signal -> FFT -> [PV_* -> PV_* -> ...] -> IFFT
But for my application I don't need FFT stage since I already know how my signal is represented in frequency domain. What I want instead is:
Frequency-domain signal -> Manually constructed FFT chain -> IFFT
The "frequency-domain signal" is a sequence of numpy arrays representing a signal in frequency domain which I already have in my Python application. So, I need to pass this information to SuperCollider.
From what I understand FFT chain means some kind of data stream but I don't understand how to manually write data into it.
I've also tried to play with silent FFT chain (e.g. get FTT
of Silence.ar
) but I have no clue how to manually set individual frequency bins either.