Jump to content
Sign in to follow this  
zsawyer

@MumbleLink -A2OA/A3- mod for extended support of Mumble's positional audio feature

Recommended Posts

I was thinking about the same thing as well! Ideally I'd like to have a special mod launcher for TacBF that downloads it as well and gets Mumble Link set up. If you then join a server through the launcher it connects you to the corresponding mumble server and then gets you in-game. Now I have absolutely no understanding when it comes to stuff like that

Share this post


Link to post
Share on other sites

@ zsawyer

You need to add him either as dev or tell us to allow anon access to the git repos. :)

Share this post


Link to post
Share on other sites

@mumblelink.png

zsawyer; We're in the process of connecting you (and other authors) to your content to be able to manage the metadata and the content itself in the near future.

Please feel free to 'Claim' the mod if you desire, available if you login to the site.

You can always send new content our way through withsix.wetransfer.com

Or add your request at getsatisfaction.withsix.com

Share this post


Link to post
Share on other sites
;2616829']@ zsawyer

You need to add him either as dev or tell us to allow anon access to the git repos. :)

Thank you.

Request sent: http://dev.withsix.com/issues/73940

---------- Post added at 01:35 ---------- Previous post was at 01:28 ----------

I was thinking about the same thing as well! Ideally I'd like to have a special mod launcher for TacBF that downloads it as well and gets Mumble Link set up. If you then join a server through the launcher it connects you to the corresponding mumble server and then gets you in-game. Now I have absolutely no understanding when it comes to stuff like that

The idea is that mumble is already packed with the mod itself. So if you have mumble already installed you would have a second one. However that second one would run from the mod folder.

I am hoping that withSix will provide exactly what you are asking for. However some more research will be needed.

A custom launcher could do what you are asking for by executing or passing a specific URL.

Share this post


Link to post
Share on other sites
;2617233']done :)

Thank you!

@feldmaus, can you please confirm that it is working for you now? Let me know if you have any more questions.

Share this post


Link to post
Share on other sites

Hmmmm. After roughly half an hour of playing, the frame rate suddenly goes down to about 1 or 2 frames a second.

I tried this addon with and without any other addons (except CBA Beta 4 of course) with the same results. And it also happens to other people.

RPT revealed about 6000 lines of memory reports after last mumble link.

Share this post


Link to post
Share on other sites
Hmmmm. After roughly half an hour of playing, the frame rate suddenly goes down to about 1 or 2 frames a second.

I tried this addon with and without any other addons (except CBA Beta 4 of course) with the same results. And it also happens to other people.

RPT revealed about 6000 lines of memory reports after last mumble link.

Thanks for your detailed error report. I am very interested in solving the issue. Could you provide the RPTs in question (via pastebin or attachment)?

Share this post


Link to post
Share on other sites
This is one with all the addons loaded:

http://files.vanaheimr.org/arma3_2014-02-11_22-53-58.7z

I can reproduce this again with just CBA if you want.

Thanks for the log file.

The less mods the better but in this case I doubt the log will be much different if you have already tested it without success.

I am assuming that you do not experience this degration with vanilla Arma (no mods at all).

What parameters are you running arma with (do you use a special memory allocator)?

Did mumble unlink or have problems with assigning the sound to the right locations during the low FPS phase?

The log hints at a memory leak. Although MumbleLink is the last to write before the memory issues turn up those messages are probably separated by multiple minutes and are not directly related.

The only reason to think that this is due to MumbleLink is because you are saying it is the only constant to the issue.

Therefore I have done a code review to find what might be causing it. Unfortunately I have not been able to find any reason for a memory leak. Although there is still room for optimizations regarding memory allocation in the code.

As of now, I will have to dig further into this and do some field tests and have to reproduce the issue to resolve it.

Share this post


Link to post
Share on other sites
I am assuming that you do not experience this degration with vanilla Arma (no mods at all).

What parameters are you running arma with (do you use a special memory allocator)?

Did mumble unlink or have problems with assigning the sound to the right locations during the low FPS phase?

1: Nope. Although some revive scripts produce the same effect when near fire.

2: None (except mods), default allocator.

3: No

And yes, this issue happens quite a while after mumble links.

Share this post


Link to post
Share on other sites

Hmm... It could be that I'm setting this up wrong but my brothers and I have followed the wiki to a T but are not able to get it to work. We've turned off all mods except for CBA. We will get the link notifications in Arma and in Mumble but voice will not change with distance. Any ideas on what I should check?

Share this post


Link to post
Share on other sites

Note that you should hear 2 effects:

  1. distance (sound becomes quieter)
  2. direction (sound is more prominent on the left or right ear)

The first (distance) is influenced by Minimum Volume (Optional Setup step 1.2).

Make sure your minimum volume is set to something very low (like 0%).

The second (direction) requires that at least a stereo setup is working (check your drivers?).

If this is a problem in the mod you can find out by running MumblePAHelper and making a screen shot during the game.

The mod sends data to mumble which MumblePAHelper is able to peek at.

The values in the X, Y, and Z fields should be updating when ever you move (avatar) or look around (camera). It helps running ArmA in windowed mode to simultaneously peek at the values while moving around in game (not necessary with dual monitor setup).

If values stay at 0,00 then this means the mod is broken and would explain why it links but there is no audible effect.

Share this post


Link to post
Share on other sites

Thank you zsawyer for the reply. However, I wasn't able to uncover the problem. Our Mumble Audio Output settings match what exactly is shown in the installation wiki with our minimum volumes set to 0%. The MumblePAHelper confirms that Mumble link is working and is sending positional data. We are getting positional audio on the game sounds though. We are using different speaker setups (stereo, 5.2 and 7.1 Surround). Stumped. lol Thanks again for the reply.

Share this post


Link to post
Share on other sites

Thanks zsawyer,

i got your code by using the command <git clone git://git.withsix.com/mumblelink.git>.

Dabei habe ich folgende Daten erhalten:

.
└── mumblelink
   ├── doc
   │****** └── screenshots
   │******     ├── mumble_settings_optional_1.png
   │******     ├── mumble_settings_optional_2.png
   │******     ├── mumble_settings_optional_2_short.png
   │******     ├── mumble_settings_required_1-3.png
   │******     └── mumble_settings_required_4.png
   ├── LICENSE.txt
   ├── natives
   │****** ├── apiExportHelper.h
   │****** ├── build_WINx32
   │****** │****** ├── MumbleLinkExtension.dll
   │****** │****** └── MumbleLinkExtension.lib
   │****** ├── build_WINx64
   │****** │****** ├── MumbleLinkExtension_x64.dll
   │****** │****** └── MumbleLinkExtension_x64.lib
   │****** ├── LICENSE.txt
   │****** ├── LinkAPI.c
   │****** ├── LinkAPI.h
   │****** ├── make.bat
   │****** ├── make_osx.sh
   │****** ├── make.sh
   │****** ├── MumbleLinkExtension.cpp
   │****** ├── MumbleLinkExtension.h
   │****** └── README.txt
   ├── natives_test
   │****** ├── build_WINx32
   │****** │****** ├── RVExtensionTest.dll
   │****** │****** └── RVExtensionTest.lib
   │****** ├── build_WINx64
   │****** │****** ├── RVExtensionTest_x64.dll
   │****** │****** └── RVExtensionTest_x64.lib
   │****** ├── make.bat
   │****** ├── RVExtensionTest.cpp
   │****** └── RVExtensionTest.h
   ├── release
   │****** └── @MumbleLink
   │******     ├── addons
   │******     │****** ├── mumblelink.pbo
   │******     │****** └── mumblelink.pbo.MumbleLink_b3.bisign
   │******     ├── keys
   │******     │****** └── MumbleLink_b3.bikey
   │******     └── MumbleLinkExtension.dll
   └── sqf
       ├── LICENSE.txt
       ├── MumbleLink
       │****** ├── config.cpp
       │****** └── scripts
       │******     ├── fnc_initMumble.sqf
       │******     ├── fnc_start.sqf
       │******     ├── fnc_updateMumble.sqf
       │******     └── init.sqf
       └── squint
           └── mumblelink.sqt

regards

Share this post


Link to post
Share on other sites
Thank you zsawyer for the reply. However, I wasn't able to uncover the problem. Our Mumble Audio Output settings match what exactly is shown in the installation wiki with our minimum volumes set to 0%. The MumblePAHelper confirms that Mumble link is working and is sending positional data. We are getting positional audio on the game sounds though. We are using different speaker setups (stereo, 5.2 and 7.1 Surround). Stumped. lol Thanks again for the reply.

Sorry, if MumblePAHelper shows that data is being sent to mumble correctly then it is out of my hands (I'd still be interested in a screenshot to verify that).

Are you by any chance using Mumble 1.2.5? If so try using 1.2.4 instead. Thus far I have not tested if PA works for the Mumble version 1.2.5 .

Thanks zsawyer,

i got your code by using the command <git clone git://git.withsix.com/mumblelink.git>.

Dabei habe ich folgende Daten erhalten:

.
└── mumblelink
   ├── doc
   │****** └── screenshots
   │******     ├── mumble_settings_optional_1.png
   │******     ├── mumble_settings_optional_2.png
   │******     ├── mumble_settings_optional_2_short.png
   │******     ├── mumble_settings_required_1-3.png
   │******     └── mumble_settings_required_4.png
   ├── LICENSE.txt
   ├── natives
   │****** ├── apiExportHelper.h
   │****** ├── build_WINx32
   │****** │****** ├── MumbleLinkExtension.dll
   │****** │****** └── MumbleLinkExtension.lib
   │****** ├── build_WINx64
   │****** │****** ├── MumbleLinkExtension_x64.dll
   │****** │****** └── MumbleLinkExtension_x64.lib
   │****** ├── LICENSE.txt
   │****** ├── LinkAPI.c
   │****** ├── LinkAPI.h
   │****** ├── make.bat
   │****** ├── make_osx.sh
   │****** ├── make.sh
   │****** ├── MumbleLinkExtension.cpp
   │****** ├── MumbleLinkExtension.h
   │****** └── README.txt
   ├── natives_test
   │****** ├── build_WINx32
   │****** │****** ├── RVExtensionTest.dll
   │****** │****** └── RVExtensionTest.lib
   │****** ├── build_WINx64
   │****** │****** ├── RVExtensionTest_x64.dll
   │****** │****** └── RVExtensionTest_x64.lib
   │****** ├── make.bat
   │****** ├── RVExtensionTest.cpp
   │****** └── RVExtensionTest.h
   ├── release
   │****** └── @MumbleLink
   │******     ├── addons
   │******     │****** ├── mumblelink.pbo
   │******     │****** └── mumblelink.pbo.MumbleLink_b3.bisign
   │******     ├── keys
   │******     │****** └── MumbleLink_b3.bikey
   │******     └── MumbleLinkExtension.dll
   └── sqf
       ├── LICENSE.txt
       ├── MumbleLink
       │****** ├── config.cpp
       │****** └── scripts
       │******     ├── fnc_initMumble.sqf
       │******     ├── fnc_start.sqf
       │******     ├── fnc_updateMumble.sqf
       │******     └── init.sqf
       └── squint
           └── mumblelink.sqt

regards

Thanks for the feedback, that looks complete. (Just to remind you: I wrote some info to get you started here)

Share this post


Link to post
Share on other sites

I understand that mumble doesn't have the capability to distort voices and have radio squawks, but I was wondering if anyone knows an external program that can do that. I'm not asking for ACRE-like terrain and weather calculations, just a way to indicate that a user is speaking over the radio.

basically, a set button should transmit and play a squawk sound while distorting the microphone input, and then xmit+play a "hang up" sound when the button is released and stop distorting.

if anyone has ideas, that would be neat. it causes some confusion when people speak over the "radio" in mumble and their voices are perfectly clear

Share this post


Link to post
Share on other sites
I understand that mumble doesn't have the capability to distort voices and have radio squawks, but I was wondering if anyone knows an external program that can do that. I'm not asking for ACRE-like terrain and weather calculations, just a way to indicate that a user is speaking over the radio.

basically, a set button should transmit and play a squawk sound while distorting the microphone input, and then xmit+play a "hang up" sound when the button is released and stop distorting.

if anyone has ideas, that would be neat. it causes some confusion when people speak over the "radio" in mumble and their voices are perfectly clear

Mumble has the option to set an "audio cue" (Settings -> Audio Input -> Misc) that would mimic the xmit-click and hangup noise. However it might be that it is still audible when transmitting positionally too.

Note that PRMumble uses the audio cue to help distinguish between local and radio comms. It should be compatible with this mod however I am not sure you are able to switch murmur servers.

To workaround the permanent radio distortion effect, I think you could set the "On" cue file to a very long white-noise file. It would not distort but give you an indication of the origin by overlaying the noise resulting in a worse noise-audio level which you usually have in radio comms too. It is just an idea, I have not tested it and it might not work at all.

Setting the codec to something really low will also give you a nice radio feeling.

A receiver-side program would have to distinguish whether the sound is coming from the "radio" or sent directionally. While there might be distortion effect programs I don't think any would be directly mumble compatible in regards to the radio-pa-differentiation problematic. Other than hacking/writing a custom client I cannot think of a way to accomplish this.

The program you are looking for would probably create a virtual mic and allow some special effects. Maybe something like this: Virtual Audio Cable or a voice scrambler?

Edited by zsawyer

Share this post


Link to post
Share on other sites

The audio cue is only heard locally and is not transferred over. It's just a local indicator. the problem is that we want to be able to hear when a person is talking on the "radio," and a squawk + voice distortion would help that immensely

this completely negates your long white noise effect idea

setting the codec low would work if it could be done on keypress, but there's no option to do that within mumble as far as I know

we don't need some kind of receiver-side program. just a very simple program that sends a sound effect + changes the voice (an equalizer with more than 3 bands would be fine) when a set button is pressed. if mumble could change the codec quality and send a sound effect, that would work fine

Share this post


Link to post
Share on other sites

Functions i would love to see:

1)Radio functionallity.

2)AI's react on nearby conversations, so it should be better to use hand-signs in danger zones or stop talking.

The 1) should be possible without touching the performance of the server, but i would love to use the arma functions <lineIntersects> or <terrainIntersects> to check who is in direct sight of the transmitter-radio, the problem is probably that i need to communicate with the server.

Another solution would be to calculate on the client by mumble(addon) which object is in direct sight to each other. Therefore these Arma functions(<lineIntersects> or <terrainIntersects>) must be exported to mumble. I need to know if these functions need to communicate with the server?

The 2) point needs surely a connection to the server. This means also an mod for the server. But this would be just fair in opposite to non mumble-ACRE users.

Also i need to collect some informations about the radio-range.

regards

Share this post


Link to post
Share on other sites
Functions i would love to see:

1)Radio functionallity.

2)AI's react on nearby conversations, so it should be better to use hand-signs in danger zones or stop talking.

The 1) should be possible without touching the performance of the server, but i would love to use the arma functions <lineIntersects> or <terrainIntersects> to check who is in direct sight of the transmitter-radio, the problem is probably that i need to communicate with the server.

Another solution would be to calculate on the client by mumble(addon) which object is in direct sight to each other. Therefore these Arma functions(<lineIntersects> or <terrainIntersects>) must be exported to mumble. I need to know if these functions need to communicate with the server?

The 2) point needs surely a connection to the server. This means also an mod for the server. But this would be just fair in opposite to non mumble-ACRE users.

Also i need to collect some informations about the radio-range.

regards

The main problem you will face is that mumble's link-plugin (the basis for this mod) is a one-way communication. You tell mumble where and who you are, that's it.

Mumble does not give any feedback what so ever. I cannot even tell if the client has positional audio enabled nor would I be able to get specific settings without reading it from the config file/registry.

I don't know of a way to find out whether the mumble client is transmitting or not.

The mod itself can easily call those ArmA functions and if I remember correctly there are even more nice functions that would help you simulate the effects on radio signals (basically what ACRE does). You can even have a server side mod that relays that data to the client mod.

The problem again is... where should this information go? The answer is simple: Nowhere. The standard Mumble client has no interface for such data. You would have to make a custom client to take and handle that data.

This is why my current mod is so rudimentary. All the information we have doesn't help if no one accepts and uses it.

In my honest opinion Mumble is a great voip program but it has quite some limitations. It is completely lacking support for the more realistic use cases where player positions should be retrieved on the server-side and doesn't allow any sort of pre-processing.

Sorry if this is not the information that you were hoping for but if you elaborate your approach in detail I might have something better to offer.

Share this post


Link to post
Share on other sites

I understand mumble has none of those functions, that's why I wanted a client side program that simply modulates the users voice and sends a radio sound at the beginning and end of the transmission, events on key down and key up. But I can't find a simple external program that does that. Maybe there's a script or mod that extends the in game VoIP, that would work just as well

Sent from my SAMSUNG-SGH-I747 using Tapatalk

Share this post


Link to post
Share on other sites

hey there

first of all

sorry for lazy questions (im not using mumble as i hate its UI layout) if its not working in mumble : /

is there any function this mod provides to mute the own player? (FE.: "[] call MumbleLink_fnc_mutePlayer")

is there any function this mod provides to change the volume of all speakers (sort of fadeSound just for mumble)? (FE.: "0.5 call MumbleLink_fnc_setGlobalVolume")

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×