This article describes how Positional Audio works. For a list of games with PA support, see Games.
What is Positional Audio
Positional Audio is a feature of Mumble that places the people talking to you in a certain position relative to your own depending on their actual position in the game you are playing. This way you can hear the person like his actual avatar in-game would be talking to you.
If someone is NOT using Positional Audio, you would hear that audio source always from the same spot, equally loud from each of your stereo speakers.
If someone uses Positional Audio, and is in the same context (game) you will hear him louder from one speaker than from the other in such a way that correctly represents his angle and distance to you.
How does Mumble get informations about the virtual positions of the clients
There are two different approaches for Mumble to get this information.
- One: The Game itself has a routine that transmits this data from within the program to the mumble client.
- Two: The Mumble client can use a specially crafted plugin to peek into the memory of a game to get the needed information. This approach is done from outside of the program. If a program gets updated and stores the position on a different memory offset the plugin has to be updated as well to work again.
Either way Mumble tries to gain the following information:
- Position/Heading of your avatar in-game
- Position/Heading of the in-game camera
- A so called "context" uniquely identifying the game (as in server/realm and so on) you are playing on
- A so called "identity" uniquely identifying the client amongst other clients with the same "context". It is also used to store additional information like team or class depending on the game.
The server will only transmit positional audio data to client with matching context information. That means if you play a game on two different servers you will not hear each other positionally. The context and identity information are not forwarded to the other clients though. They can be used by server side applications which could, for example, place players in different channels/groups depending on the server/team they are currently playing on/in.
How to activate Positional Audio
Postional Audio is activated by default. If you wish to configure it you will have to open settings pages of Mumble and check the
(1) Advanced Config settings
on the Audio Output is a check box (2) to General enable or disable Positional Audio for your client.
On this Page you are able to generally allow Mumble to see if you run a program that matches one of the plugins in Box (2) The check box in the plug-in list (2) enables or disables the plug-in. This way you can decide if you want positonal audio for a certain program or not. The Button (3) "reload Plugins" tells the client to reload the .dll's from the filesystem and check if there is a new Plugin in the plugin folder on your local drive.
Mumble does this lookup on startup and futher more checks on the internet for updated versions of the plugins. If there is a newer version the client downloads it automatic and places it into the right folder. Be aware that if there is an old .dll it gets replaced. (4) shows you addtional Infos about the selected plugin in (2) the main box.
If the Plugin can be configured you can use Button (5) Configure to get into the options of the selected Plugin.
Currently the only Plugin that has such a page is the "Manual Positonal Audio" Plugin (see --> Games Games#Special_Plugins)
What Programs/Games does Mumble Support with Positional Audio
see --> Games
How do I create Positional Audio for an unsupported Game
If you can mod the game you might be able to use Link. Check in advance if the game's modding API allows you access to the relevant data!