Developer Quickstart
Get your applications up and running with our latest Immersitech Engage SDKs and start providing your users with the latest in noise cancellation, voice management, and spatial audio capabilities for online communications.
Not a Developer?
Immersitech provides Professional Services for those customers needing additional help and/or want to stay focused on their core solutions and leverage our team and related Partners to provide quick time to market capabilities. Contact us to learn more about these services!
Components of Immersitech Engage™ Core + Engage Adapters
The Immersitech Engage™ Core is designed in a modular fashion so that a version can be released that is compatible with a specific host unified communications systems in mind. To achieve this, there are four main components to the system:
- Event Manager
- Room Manager
- Sound Manager
These are collectively interfaced with the Unified Communications System through a Host Adapter.
Event Manager
The Event Manager is the broker for all system event messaging. It coordinates communications between the other parts of the Core and the Host Adapter. For large scale implementations, a message queuing system can be introduced between the Event Manager and Client Manager to ensure the messages between the clients and the Core are processed in order.
Room Manager
The Room Manager is the key component in managing the participants and their locations within a conference. Upon starting, the Room Manager will read a configuration file containing the parameters of all rooms available for conferences. These parameters include things like the number of seats, their locations in 3D space, the apparent size of the virtual room, and more.
When a conference is started, a default room is used of none is specifically chosen. As participants join the conference they are automatically assigned a seat, which in turn determines their 3D location. The dynamic nature of the automatic seat selection allows more people to join a conference if there aren't enough virtual seats. We take advantage of the 3D nature of the sound sources and overlap participants, but add a slight elevation to each new "row" of participants.
When participants are assigned a seat, the coordinates of that seat is passed along to Sound Manager for rendering the audio for that participant, both as a listener and a speaker.
Sound Manager
The Sound Manager is the core audio processing system for the Immersitech Engage™ Core. When a conferences starts, it initializes the virtual room, readying it for new participants. As people join the conference, audio streams are established for each participant so they can perceive the speakers in the virtual room from their own unique 3D coordinates.
As participants are moved between locations in the room, the audio for all participants is adjusted in real-time to account for the new location(s) of sound. This maintains the feel of in-person communications throughout the conference. Likewise, when participants leave the call, Sound Manager removes them from the conference and terminates their audio stream.
Host Adapter
The Host Adapter is the module that translates commands and messages used by other parts of the Immersitech Engage™ Core stack into ones understood by the Host Communications System. This layer allows for flexibility in how we connect to various Host Systems, and provides a place for any custom processing as needed.
Sound Manager Concepts
Conferences and Participants
A Conference is a group audio/video call on a Host Communications System ("Host System"). There can be multiple Conferences going on simultaneously on the Host Communications System, each with their own settings and participants.
A Participant is an individual person who has joined a Conference. There can be multiple Participants in each Conference. While most sound settings are dedicated to the Conference as a whole and apply to all Participants, there are some, like coordinates, that are per-Participant.
How It Works
When a new conference call is started on the Host Communications System, a call is made to the Immersitech Engage UC™ Adapter ("Adapter") to instantiate a Conference object in Sound Manager. This process establishes the initial empty Conference with parameters defined by Room Manager.
As new users join a specific conference, the Host System notifies the Adapter that a new Participant is joining. Sound Manager adds a new Participant to the specific Conference and adds their input to the processing stream. This repeats for all users to join the call, regardless of the type of edge client they are using.
As the Conference proceeds, audio from the Participants input audio is processed and mixed with that of the other Participants, and send back through to the edge clients. This process provides each Conference Participant with a uniquely mixed audio stream so they perceive other Participants in distinct location in the 3D audio space. As the Conference host moves Participants to other seat locations, messages are sent to Sound Manager to move the Participant to new 3D coordinates. Sound Manager then modifies the audio for the affected Participant so all other hear them from a the new location.
As a Conference concludes, messages are sent to the Adapter, and on to Sound Manager, to remove Participants from a Conference and eventually remove the Conference object altogether.