Thank you so much for such detailed response!
I’ve got great results using both solutions. Unfortunately, Steam Audio get crashing and Resonance has lack of functionality as plugin for FMOD. More over, we prefer to rely on our own solution whenever is possible.
My goal is to achieve believable or pleasant reverberation for each area of entire game level (first person shooter), air absorption, occlusion, transmission, pathing and reflection. Air absorption, occlusion and transmission are already done.
My first naïve attempt was based on estimation of T60 using Sabine’s equation, room volume and area. Volume and area were estimated using rays-casts from listener’s position. Result was very unstable and I’ve moved to the next approach.
Second attempt was based on path tracing. I’ve fed generated IR (basically just energy amount on appropriate time samples) and got dirty but pretty believable results. Especially if the listener in the center of the room. Since built-in Conv Reverb DSP not suitable for real-time update, now I’m focusing on estimation of Reverb parameters based on sampled data.
Below some results. It’s binned IR (energy, 2000 msec) for corridor with connected rooms (80x8x6 meters) with material absorption a=0.1. Histogram allows to compute T60.
Problem:
Now I’m trying to figure out how to estimate early and late delay from this histogram, and how to estimate diffusion, density, high cut and low gain.
Another problem is that path tracing produces extreme reflected sound energy when listener is too close to the wall. And the early delay occurs too early even for very large rooms.
Yeah, I think that two reverb returns for left and right channel would be great idea to simulate sound reflection.
