A computer program product in a non-transitory computer readable medium to render audio of different participants in a multi-party conference at different positions in a three-dimensional (3D) space, the computer program product comprising computer program instructions executed in a hardware processor of a client data processing system to carry out a set of operations, the client data processing system associated with a user, comprising:
- given a set of audio streams that that are being received, computing a 3D position for each of the audio streams in a 3D soundscape using a script executing in a browser, wherein the 3D position for each audio stream is computed by identifying a target area region of space in front of the user, and identifying a relative position of each of a set of remote users in the multi-party conference as follows:
- (a) applying a hash function to a unique identifier associated with the remote user of the set of remote users to generate a number, (b) based on the number generated for each of the set of remote users, assigning each of the remote users a relative left-right position within the target area region of space in front of the user, and (c) adjusting a front-back position of at least one of the remote users relative to the assigned left-right positions;
- and
- outputting each of the audio streams at the 3D position computed;
- wherein the audio streams are output in the browser using a Hypertext Markup Language Version 5 (HTML5) Web Audio Application Programming Interface (API).