Volumetric Diffraction and Transmission
VDaT (Volumetric Diffraction and Transmission) is an algorithm developed at Sonic Arts for simulating the diffraction of sound in virtual environments, such as the virtual worlds of games and VR. VDaT was introduced in the paper, "Approximate diffraction modeling for real-time sound propagation simulation" (Louis Pisha, Siddharth Atre, John Burnett, and Shahrokh Yadegari), published in the Journal of the Acoustical Society of America (JASA) (October 8th, 2020), and featured on the cover of JASA's October issue.
Diffraction of sounds around obstacles is a key component of our everyday sonic experience, although we may not be consciously aware of it: it is why sounds do not abruptly start or stop when moving around corners or behind obstacles. In Space3D, diffraction is simulated together with reflections of sound off of obstacles, to determine a set of paths which sound traverses from sound sources through an environment to your ears. This simulation will only be convincing if the diffraction algorithm is sufficiently accurate in any virtual scene you find yourself in--and sufficiently fast to be computed in real-time.
Unlike existing diffraction models which focus on the edges of objects which sound diffracts around, VDaT samples paths through the empty space around objects, determining how far sound must deviate from the blocked direct path in order to make it through the scene. The results of this spatial sampling process are plugged into a model to approximate the more accurate edge-diffraction results, at a fraction of the compute cost. This approach is efficient and highly GPU-parallelizable, and it scales to large scenes much better than existing edge-diffraction approaches. The complexity of these latter approaches grows rapidly as the number of scene triangles increase, often requiring diffraction information to be precomputed and hence limiting changes to the scene at run time. In contrast, VDaT requires no precomputation and makes no assumptions about the scene geometry, making it ideal for interactive multimedia applications with highly dynamic scenes.
VDaT is a core component of our real-time audio spatialization and acoustic modeling system Space3D. Source code for an offline Python implementation of VDaT, licensed for academic research use, is available here.
(Please use headphones.) VDaT in action in an example scene with moving sources, receiver, and occluders. Notice how the ambulance can be heard approaching from far away, due to reflections as well as diffraction, and is occluded in a smooth, realistic way when it passes behind the truck. This city scene was constructed to be compared to the scene in the video demo of a competing diffraction model, "High-Order Diffraction and Diffuse Reflections for Interactive Sound Propagation in Large Environments" (Carl Schissler, Ravish Mehra, Dinesh Manocha).
An example of the spatial sampling performed by VDaT. Here, VDaT traces eight subpaths on the outside of a cylinder around the direct path segment. Five of these subpaths are blocked by scene geometry, but the other three are able to traverse the scene. VDaT uses many concentric cylinders like this to sample the space around each direct path segment, and uses the results to approximate the impulse response of the accurate BTM (Biot-Tolstoy-Medwin) edge-diffraction model.
VDaT (orange) is designed to approximate the results of the accurate BTM (Biot-Tolstoy-Medwin) edge-diffraction model (green), at a much lower computational cost than evaluating it directly. The other popular edge-diffraction model, UTD (Uniform Theory of Diffraction), has a substantial error when used with objects whose edges are smaller than the wavelength (blue).