3D Spatial Audio
The Immersitech Engage SDK allows you to move participants around in a 3D virtual space and process the sound as 3D spatial audio. It is important to know what the x, y, and z coordinates in this space refer to.
The center point of a room is located at (0, 0, 0) which is x, y, and z respectively.
Moving along the x axis will move a participant left or right.
Moving along the y axis will move a participant up or down.
Moving along the z axis will move a participant forward or backward.
Also note that the unit describing these x, y, z coordinates is centimeters. Therefore, a participant at (15,-10,50) is 15 centimeters to the right of the center, ten centimeters down from the center, and 50 centimeters in front of the center.
To perform an accurate 3D rendering you’ll need to provide which direction a participant is facing. We refer to this measurement as the heading. The heading is composed of an azimuth angle and an elevation angle. The azimuth angle is with respect to the x and z plane. The elevation angle is with respect to the y and z plane.
Please see the following documentation to set position and heading:
The Immersitech library also has more advanced controls if you would like to fine tune the 3D rendering experience. Note that the following parameters only apply if 3D mixing is enabled.
As a source moves further from a listener, its volume will decrease. This parameter allows you to control precisely the drop in decibels that a source will undergo for each additional meter they move away from the source.
This parameter allows you to specify at which distance you would no longer like attenuation to occur. For example, you can prevent participants from no longer being audible if they move very far away from the listener.
By default, reverb is applied to more accurately localize the source in the room. However, you can use this setting to disable reverb if needed. Note that the source will still attenuate even without the reverb enabled.
Please see the following documentation to set these controls: