-
Notifications
You must be signed in to change notification settings - Fork 12
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Minecraft Mod issues #14
Comments
The attenuation isn't implemented yet, I opted to wait for the first request and here it is. The tester with the 7.1 headset should test if Teamspeak's native manual 3D positioning works for him: The hard switching can have two sources, probably both. First, unlike Mumble, I don't have the liberty to choose how often I send updates due to Teamspeak's server-side antispam mechanism. Per default positions get send rather infrequently - one per second while speaking, every two seconds when silent. Given the rights to do so, there's not only the way to change the spam values as server-setting, but also the possibility to enable servergroups or users to be unaffected by the spam detection. That's rather uncomfortable, but I cannot change TSes mechanism obviously ;) Second, I use Teamspeaks "3D Sound API" for the positioning currently. Ofc the algorithm itself may be different to what mumble does. Actually both lackluster, but I haven't had the time for that little project yet. One thing to mention is, neither do handle stereo output any better than just dismissing the depth. Primarily for stereo headsets, there is a way, though. Any so-called "(real) (true) (7.1) headset is in fact a simple stereo headset, difference is it's shown as 7.1 to windows and a so-called HRTF is applied for binaural. Since that algorithm is software, any headset can be "upgraded" to a surround headset. If you feel experimental, a recent comfortable way to do so is offered by Razor and is, surprisingly, called "Surround". I wouldn't opt to listen to music with that algorithm, though, but for Virtual Reality 3D, as games and this module are, that's a fit. |
Later that night we tested CrossTalk on HL2DM where attenuation was missing as well... appearently by design choice ;) Thanks for explaining the send interval. This makes the setting clearer and we can try fiddling around with that, see if the transition between ears is smoother using that. We are using our own TS server and can thus fiddle with the flood settings (in fact because we have used ACRE before CT our "Reduced points per tick" is already upped to 75). Also note that ACRE team also updates data frequently so maybe you can get a hint at what optimal settings would be (they also got attenuation working). The current minimum "Send Intervall" is 0.1 second, taking a frame rate of 60FPS would mean that I need an interval of 1/60 = 0.016 to have the sound update at game speed. I'd like to be able to set that as well (should I submit a separate feature request?). Also, thanks for the detailed 7.1 problematic explanation, we will check if it can be fixed on his end. |
|
It'll be done (when it's done). |
I've put an initial implementation for Volume Attenuation in the beta channel (opt-in in the plugin's general options). |
I tested the beta with MumbleLink-mod: for easier setup, maybe you could change how attenuation variables are set by the user: past max distance, everything will be at this volume % |
Thanks for the update and feedback guys. I am sad to not have been able to test it myself so far. About the sent interval problem: Would it be possible to interpolate the movement and instead of "spamming" the server with updates have the engine calculate an approximate location based on the last few packets of data. This would stop it from sounding like the audio source is zapping around and make it more fluently. Also the problem that the sent interval value's minimum is 0.1 seconds still persists. |
zsawyer, that would not change anything, as the coordinates are being sent in this way |
I guess he meant the receiving side would calculate an estimate for the time inbetween incoming info. If there are indeed server admins that have a problem with adjusting the flood points, it might be worthy to rather go full and create an optional / second stream via WebSockets, e.g. to a node js server with authentication (maybe meteor) that'd distribute those. Note that creating an additional ticket for single items is indeed welcome, in general threads I just tend to forget. I'll create one for the minimum update value, however it'll be 0.02s as the mumble link protocol is at a fixed 50 times per second rate for updates. |
True, the interpolation should happen on the receiver side due to the problem described by pvtpirate. Allowing higher flood rates is a reasonable solution. I understand that spending time to fix something which originates at a different endpoint is not very efficient. I just was afraid (sorry for not checking) that TS's had a floodrate max of 0.1 second so that is why I was not sure if it is even possible to go lower. But you seem quite certain so that will suffice. |
Server Admins can even simply disable the flood detection for a certain user group if they're trusted, so technically there's no hard limit there that ain't exceedable. |
I have just tested CrossTalk 1.5.0 with Minecraft 1.5.1 and the MumbleLink mod.
Sadly it does not work as intended.
The text was updated successfully, but these errors were encountered: