The main thing here is moving the FFT/Filtering/IFFT to a timer interrupt that has a lower priority than the audio capture/playback timer interrupt. This way I don't care how slow the display code runs in the main loop (for now) enabling me to have the audio processing and the display working at the same time.