I am implementing a software to auralize a virtual scene but am kind of a newbie to DSP. The focus should be the calculation of the IR which is frequency dependant. But this means that the renderer of the sound should be able to convolute reverb in a frequency dependant way (in realtime possibly). A IR has a set of Reflections. A reflection is a tuple of delay (double) and decay for each frequency band to a decay in dB (hash_map from freqband to double).
Now I want to convolute this IR with my input signal in the most efficient manner. What I intend to do is using the FFT to get the frequency spectrum and then apply a reverb function to this signal. The two main conceptual problems for me here are:
How do I apply delay in the frequency spectrum? (Is it even necessary to do this in the frequency spectrum?)
Is there a common method to apply such a reverb function to a signal? And if there is, do I need to have phase information modelled?
What I was thinking about was splitting the IR into several frequency responses dependant on the frequency band and then apply it to the frequency spectrum of the input signal. But then again this involves problem 1 and somehow includes phases because I would not know otherwise if I need to add or subtract.