by fwaggle » Mon Feb 15, 2016 11:36 am
What's your settings for max-distance, min-distance and so on for the positional audio section of audio output in Mumble's settings?
Because I don't know whether it's possible for something to be wrong in the way you're describing - each of the plugins simply sends the context and identity strings, along with their current position when they're transmitting. When your client receives audio with this data, it takes your current position and your heading, and uses that to decide where to pan the audio. There's not really any separate distance data transmitted, it's just inferred from the position, which if everyone's position was garbage or zeroed, would not result in the effect (if your position is identical to another user's, you don't get audio panning, and if the other person's position was garbage you walking around them would not result in the panning seen at about 12s into the video).
So for distance to work right, you basically need to set minimum volume to something lower (not sure what the default is, I think it's pretty high to make sure everyone can always hear?) - I've had it be pretty convincing at about 75% or so, go lower for more realism. Minimum and maximum distance depends entirely on the game, you'll have to experiment with that but they need to be decently far apart for it to work. I think the code basically works out the ratio between minimum and max distance, and how far along that scale you are, and then applies that to the percentage that's removed from "minimum volume". So if max-distance and min-distance are both set to 1, or if minimum volume is set to 100%, you won't have any audio fade off (it's entirely possible I'm wrong here though).
I'm not entirely sure what bloom does - I think it makes it so that some noise still comes out the opposite ear to the panning one so it's not so jarring, but I don't think it has anything to do with distance.
Hope that helps. BTW if you guys verify the plugin works, have the committer submit the changes in a pull request and then when it's committed and built, everyone with an up to date Mumble version will get the new plugin automatically - no need to package it (which introduces trust issues).
Full disclosure: I used to run a commercial Mumble host, and my opinions do not reflect the opinions of the Mumble project.
Avatar is stolen from here