PDA

View Full Version : nparse + mumble for positional voice chat


torogdil
05-14-2023, 05:47 AM
Hello!

During lockdown I played ESO on PS4 where there's positional + group voice chat enabled by default, and I loved it -- it's so much easier to coordinate as a group in real time, and you really get to know the people you're playing with.

I've recently started using nparse which can track your location from the log file, and I figured that one could make a plugin for it that talks to a small server which is also running a Mumble server and take advantage of its built-in positional audio system (https://www.mumble.info/documentation/user/positional-audio/). Mumble servers are scriptable via an RPC interface (https://www.mumble.info/documentation/mumble-server/scripting/ice/) that has Python bindings.

So the setup would be:


user runs nparse and points it at their logfile (and sets up their macros/keybindings to log /loc)
an nparse plugin sends their character name and in-game zone / loc to a server
the server talks to the Mumble server and tells it that character A is in location B
user runs Mumble client and connects to that Mumble server, registering + logging in with their character's name
if they speak, they'll only be heard by other people whose characters are nearby


Two questions:


am I missing something? would this setup work?
is this asking too much of people, i.e. would anyone actually go to the effort?


A simpler setup from a player's POV would be to just have the nparse plugin handle everything (take in audio from mic, relay it to other users via a server) but that'd require a lot of custom code.

Thanks!

magicfest2
05-14-2023, 08:04 AM
Hey, current nParse maintainer here. NParse already does location sharing the way you describe — grab the latest release to try it out. I’d need to look at the mumble client API to see how the interaction would work, but I’m open to the idea as there is also discord integration for an EQ compatible overlay, and adding a plug-in for mumble as well wouldn’t be too bad if the API allows for adjusting the user’s position like this.