Positional Audio...
by Quinton Delpeche · in Torque 3D Professional · 01/29/2014 (9:07 am) · 11 replies
I am at a stage now where I need to start thinking about in-game VOIP solutions and positional audio. The game is such that a player must be able to talk in to their microphone and the audio needs to be broadcast as a 3D sound from their current position.
Has anyone attempted to do this?
Has anyone attempted to do VOIP inside T3D?
I have a few ideas but some of them are overly complicated and others will require good knowledge of libraries like Mumble (which even then I am not sure will do the job).
Anyway, any advice or suggestions will be greatly appreciated.
Thanks
Has anyone attempted to do this?
Has anyone attempted to do VOIP inside T3D?
I have a few ideas but some of them are overly complicated and others will require good knowledge of libraries like Mumble (which even then I am not sure will do the job).
Anyway, any advice or suggestions will be greatly appreciated.
Thanks
About the author
Gobbo Games is an Independent Games Development company operating from Durban in South Africa. We believe in creating high-quality cost-effective games that remain true to the belief of Independent Game Developers around the world.
#2
I did some research in this area for a client. There are a few options like Mumble (free) or TeamSpeak (licensed). I wasn't so much worried about the API so we actually set up one server of each and used them for a dozen or so people in a few weeks to see what people preferred.
My personal preference as a coder was Mumble. You can't beat free and it's very open. But everyone was in agreement that the sound quality wasn't as good as in TeamSpeak, and you had to use Push-To-Talk or it just wasn't good enough. TeamSpeak had excellent detection of voices and I really think that's a requirement.
That's my take on it. Good luck!
01/29/2014 (11:57 am)
Hi Quinton,I did some research in this area for a client. There are a few options like Mumble (free) or TeamSpeak (licensed). I wasn't so much worried about the API so we actually set up one server of each and used them for a dozen or so people in a few weeks to see what people preferred.
My personal preference as a coder was Mumble. You can't beat free and it's very open. But everyone was in agreement that the sound quality wasn't as good as in TeamSpeak, and you had to use Push-To-Talk or it just wasn't good enough. TeamSpeak had excellent detection of voices and I really think that's a requirement.
That's my take on it. Good luck!
#3
You sure you were using an optimal codec? I've used TeamSpeak, Mumble, Ventrilo and Roger Wilco - all of them are comparable in sound quality but the default codec for each of them varies wildly. Mumble and Ventrilo both default to a very low quality codec when setting up a server.
@everyone else
Raknet VoIP is something that I was playing with but though I could get their example compiled and running just file the moment I added it to any other application it just didn't want to work - probably something dumb on my part, but I only fiddled with it for about six hours before moving on to other things.
01/29/2014 (1:05 pm)
@StefanYou sure you were using an optimal codec? I've used TeamSpeak, Mumble, Ventrilo and Roger Wilco - all of them are comparable in sound quality but the default codec for each of them varies wildly. Mumble and Ventrilo both default to a very low quality codec when setting up a server.
@everyone else
Raknet VoIP is something that I was playing with but though I could get their example compiled and running just file the moment I added it to any other application it just didn't want to work - probably something dumb on my part, but I only fiddled with it for about six hours before moving on to other things.
#4
Thanks for the feedback. I have always been drawn towards Mumble (Mumble Plugin) and all my research always sends me back towards it.
I don't mind the push-to-talk either as in my experience most players will be using Skype or something similar anyway, so forcing them to use push-to-talk in the game won't normally be a problem.
Besides, listening to some person munching on some crisps because their mic is too sensitive while I am trying to sneak up on another player ... not my idea of a fun night out.
Thanks everyone, I will give Mumble a shot ... worse case scenario, I might outsource this part of the project.
01/29/2014 (10:25 pm)
@everyoneThanks for the feedback. I have always been drawn towards Mumble (Mumble Plugin) and all my research always sends me back towards it.
I don't mind the push-to-talk either as in my experience most players will be using Skype or something similar anyway, so forcing them to use push-to-talk in the game won't normally be a problem.
Besides, listening to some person munching on some crisps because their mic is too sensitive while I am trying to sneak up on another player ... not my idea of a fun night out.
Thanks everyone, I will give Mumble a shot ... worse case scenario, I might outsource this part of the project.
#5
Yeah, I think it was Speex and then Opus.
The problem was mostly the detection of audio though. You would get chop-offs (sound abruptly stops) when someone finishes a sentence and lowers their voice. It would do the same when someone starts talking.
We were a dozen or so people trying different detection values, switching between Signal to Noise and so forth. Nothing really made it sound as good as Ventrilo, Skype or TeamSpeak - which we also tested just to compare.
But if you can live with Push-To-Talk then I would definatly consider Mumble. And it's only going to get better.
01/30/2014 (4:43 am)
Quote:
You sure you were using an optimal codec? I've used TeamSpeak, Mumble, Ventrilo and Roger Wilco - all of them are comparable in sound quality but the default codec for each of them varies wildly. Mumble and Ventrilo both default to a very low quality codec when setting up a server.
Yeah, I think it was Speex and then Opus.
The problem was mostly the detection of audio though. You would get chop-offs (sound abruptly stops) when someone finishes a sentence and lowers their voice. It would do the same when someone starts talking.
We were a dozen or so people trying different detection values, switching between Signal to Noise and so forth. Nothing really made it sound as good as Ventrilo, Skype or TeamSpeak - which we also tested just to compare.
But if you can live with Push-To-Talk then I would definatly consider Mumble. And it's only going to get better.
#6
And you can add mumble to T3D through C++ you just have to grab the player heading values from C++ and add it for positional audio
01/30/2014 (3:52 pm)
I am confused with this as I've been using mumble myself for a few other things and you don't need the push-to-talk you just set the volume levels so when you talk it goes over a set level and activates your voice on the server I haven't had any issues with that and it works well and i've found mumble audio to be just as good as skype for me so unless it recently changed it's been pretty great here :)And you can add mumble to T3D through C++ you just have to grab the player heading values from C++ and add it for positional audio
#7
Thanks for the info. I was going through the Mumble documentation and that was my understanding of how the positional audio worked, thanks for the clarification.
I am quite happy to move ahead with Mumble and will see how it goes.
@everyone
Thanks for the feedback and the discussion, I will post an update when I get to doing this.
01/30/2014 (7:35 pm)
@NiN-NiNThanks for the info. I was going through the Mumble documentation and that was my understanding of how the positional audio worked, thanks for the clarification.
I am quite happy to move ahead with Mumble and will see how it goes.
@everyone
Thanks for the feedback and the discussion, I will post an update when I get to doing this.
#8
3D Positional Voice Chat for Torque3D
01/31/2014 (6:09 am)
Some time ago I built a VoIP system fully integrated into T3D, without external services running as a VoIP server, clients opened, or other techniques such as Memory Writing (as Mumble).3D Positional Voice Chat for Torque3D
#9
Obviously I am funding this out of my pocket and I cannot afford the license fee ... yet ... but maybe after release I would be able to.
I think your system can do what I need it to do, but is there some type of demo that I can get to test it?
Are you still supporting the software? Will there be upgrades, you mention the next release in your blog but I haven't seen a next release. I don't want to go down this path and then get stuck with a lemon ... got a couple of those already. :(
Not sure if you want to take this discussion off-line.
01/31/2014 (6:42 am)
@Alfio: I like it. What would the licensing be for me? I am releasing the game for Free but will be monetising the server rental and charging for visual upgrades.Obviously I am funding this out of my pocket and I cannot afford the license fee ... yet ... but maybe after release I would be able to.
I think your system can do what I need it to do, but is there some type of demo that I can get to test it?
Are you still supporting the software? Will there be upgrades, you mention the next release in your blog but I haven't seen a next release. I don't want to go down this path and then get stuck with a lemon ... got a couple of those already. :(
Not sure if you want to take this discussion off-line.
#10
02/02/2014 (4:18 pm)
These days i think i compile the code in question with the new MIT T3D 3.5
#11
02/07/2014 (10:34 am)
@NiN-NiN - Have you implemented mumble into T3D? Would you be interested in the job? I've had a couple of other people look at it but they haven't been able to master it either due to the time involved, the complexity or the indie pay rate...lol. So...we're still looking for someone to do it. If you're interested let me know! My email address is in my profile.
Torque Owner Robert Fritzen
Phantom Games Development
The tricky part here is going to be a combination of two things.
1. Getting the voice in real-time in a format that the engine can use
2. Transmitting this to all of the necessary clients.