Looking at https://www.juce.com/doc/classFFT ...
First create an order 10 forward FFT
That's going to be 2^10 = 1024 bins, or 2048 input samples
Now create float x, give it a waveform -- maybe a sawtooth with only 1 tooth. So, a ramp from -1 to 1.
Throw it into performRealOnlyForwardTransform
Convert to complex: auto z = (Complex*)x;
Now you have your frequency bins.
If you want to make a crude lowpass filter for example, set z[512 onwards] to 0
Now convert back to the time domain with performRealOnlyInverseTransform
Try doing a basic loopback and check you get back out what you put in.
Once you have that working, you are ready to work on a big waveform: you will be stepping a size-2048 window through this big waveform in steps of 512. So 4x overlap.
For each frame, you want to envelope/window it (you could Google hanning window)
then fft, filter, ifft
and then add the result to your output waveform at that location.
If you get stuck, post code!