Welcome to the Slashdot Beta site -- learn more here. Use the link in the footer or click here to return to the Classic version of Slashdot.

Thank you!

Before you choose to head back to the Classic look of the site, we'd appreciate it if you share your thoughts on the Beta; your feedback is what drives our ongoing development.

Beta is different and we value you taking the time to try it out. Please take a look at the changes we've made in Beta and  learn more about it. Thanks for reading, and for making the site better!

Voice Over IP for Linux Games?

Cliff posted more than 13 years ago | from the better-frags-thru-team-communication dept.

Games 147

fathom asks: "A few friends and I are attempting to move all of our gaming from the Windows platform to whatever distro of Linux we like. For the most part we've all had great success: just about everything we play is fine under Linux. However, there is one major drawback: we don't know of any software programs for Linux to do Voice Over IP like BattleCom, RogerWilco, and the GameVoice. Are there any programs out there like this for Linux?" Why limit to Linux? What Voice Over IP software can be used for any Unix that's flexible enough to work for other applications as well as games? We did a similar question about a year ago; has anything changed since then?

cancel ×


Sorry! There are no comments related to the filter you selected.

Speak Freely (1)

Anonymous Coward | more than 13 years ago | (#159459)

Speak Freely for Linux [] might be what you need.

Re:VoIP in Java (1)

Anonymous Coward | more than 13 years ago | (#159460)

Using Java for VoIP sounds cool, but how did you overcome the terrible latency issue with Java Sound? Or did you go with less than 100% pure Java approach (e.g., JNI). I tried to use Java for VoIP once, but found that Sun's Java Sound implementation in Java 1.3 was quite lousy in terms of performance. I measured a capture/playback latency of about 200 msec with a simple audio loop program. This is about an order of magnitude greater than the limit of what I would find acceptable. In my opinion, Sun's Java Sound API is seriously screwed up. You can't even do full-duplex operation under Linux with Sun's Java 1.3/1.4beta. Until Sun fixes the latency problem and some of the significant javasound-related BugTrac bugs, I'll stick with c/c++ for VoIP.

Re:You forget cost/profit analysis (1)

Anonymous Coward | more than 13 years ago | (#159461)

I figured you might want a response from a game dev so here goes.

1. Why would I care about portability? Aside from my own personal desire to run a game on Linux, there's no reason. It isn't going to increase my profits in any significant way, and it's going to take time away that I could be using to do other things (like fix outstanding bugs).

2. SDL doesn't really do anything 3D-wise as you imply. What support it does have is OpenGL-centric which means I can't use the latest DirectX 8 features. DirectX is pretty good these days. If you haven't messed with it recently you should take another look.

3. The argument about MFC / QT is fairly moot. My company, for the most part, uses neither. Almost everything we'd use MFC for is available in the STL. And the rest (GUI stuff) such as our menus and interface code are done in-house.

Overall the codebase I work on IS fairly portable. But there's more to putting out a port than just recompiling.

The whole argument is time vs. money. If the extra time spent will generate enough profits to offset it, then porting a game gets considered. In most cases, however, the extra time for porting it, testing the port, keeping the port version synced with the Win32 version, and supporting the port are not worth it (with the notable exception of porting a game to a console such as the PS/2 or X-Box).

Re:Responsibility of Game Publishers (1)

Anonymous Coward | more than 13 years ago | (#159462)

game publishers need to get off their arse and provide a linux version of each release
I see you are another GNU/Linux zealot. I'm not sure if you realise a few things. First of all, if you speak/write like that to a game publisher and/or developer, you will piss them off and they'll just ignore you. I would just ignore you too. The publishers are not necessarily the ones that will provide a GNU/Linux version to a game. IF it is profitable to have GNU/Linux ports to games on a regular basis, it would be done. Most game developers and publishers have nothing against GNU/Linux. The publisher wouldn't care if they publiushed C64 games, as long as it made a profit. The problem is that not enough people will purchase them. Secondly, it can take a lot of work to port a game, depending on how heavily it depends on MS Windows APIs. Sure they could use cross-platform libraries such as Qt, wxWindows, and WineLib, however they will generally slow down the development process and make the game run slower. The point of making a game is to make money, not support some OS. I like GNU/Linux a lot, however from a game/profit point of view, GNU/Linux might as well be a TRS-80.

Try these out (3)

Anonymous Coward | more than 13 years ago | (#159464)

Open H.323 []

sipc []

Video Conferencing for Linux []

Voice over IP technologies are the same as those used for video conferencing, but with audio codecs only. The two VoIP/VideoConf standards for call setup and control are H.323 and SIP.

Re:Speak Freely for Unix (1)

Brett Viren (296) | more than 13 years ago | (#159465)

Speak-freely is a venerable program and there is both a Linux and a windows version which can intercomunicate, but its sound quality is pretty poor. `ohphone' gives much better sound quality and is easier to set up.

H.323 (2)

Brett Viren (296) | more than 13 years ago | (#159466)

Coincidently I was just starting to mess with H.323 this weekend. With a direct net connection, one can use `ohphone' with out needing any other programs (except another one to talk to, of course). It's pretty simple to set up and use. If you are behind a NAT router things are trickier (I haven't gotten it to work yet). There are Debian packages for `ohphone' and a few other H.323 packages.

I was also able to use openmcu to provide rudimentary group conference services. This is also packaged for Debian.

BTW, with ohphone you can talk with windows Netmeeting users.

Re:Responsibility of Game Publishers (1)

jedidiah (1196) | more than 13 years ago | (#159467)

It's not the developers that are relevant here but management. Game developers by definition are a rather "nerdy" lot. Claiming that you need to have a developer with a special axe to grind is simply false.

Also, multiplatform programing subjects the development process to constraints that it might not otherwise have. These constraints actually ultimately benefit the development process by making it more structured.

Besides, a popular PC game is bound to be ported to "one of those other non-DirectX platforms" sooner or later.

Infact, EA's most profitable game platforms don't even run DirectX... (just read their annual reports)

The managers are the bottleneck, not the developers.

Game publishers need $ figures (1)

Matt Lee (2725) | more than 13 years ago | (#159470)

Petitions, lists of names, and pleas will not get you Linux games; money will. There's been a few high-profile games released with Linux versions, and their sales figures were abysmal.

True, almost all of these games had some weird circumstance that may have contributed to the poor sales figures (like release timing vs. win32 version, etc), but regardless of the circumstances, Linux games just don't sell.

And let's not forget the difficulty of deploying and supporting PC games on Linux. DirectX may not be perfect, but it's a huge, huge positive for Win32, especially in terms of installation and support -- and it's getting better all the time. OpenGL is nice as well, and cross platform to boot, but try providing a concise, clear set of instructions (or a single installer) that gets accelerated OpenGL running on Linux across a wide variety of consumer graphics cards. It's just not there. Also, I'm sure the various small differences between Linux distros can prove to be a headache as well.

A game platform needs some sort of central authority controlling the feature sets, the quality of drivers, and a consistent, usability tested installer. This central authority provides a lot of platform stability while sacrificing a small amount of absolute developer freedom. Microsoft provides this for Windows, and it works remarkably well considering the wide variety of hardware and software configurations out there. No one entity is centrally controlling and planning the gaming experience on Linux, and this is bad.

Re:Compression too! (1)

peter (3389) | more than 13 years ago | (#159471)

gzip doesn't really help much on audio. I wouldn't bother, since I'd only use this on a local network anyway. I guess if you're encrypting, then gzip doesn't add much overhead, though.

I actually have used something like this, but with netcat execing an mp3 decoder with stdout going to a socket. The other end of the socket is on a computer too slow to decode MP3s in real time, running rawplay with stdin coming from a socket.
The slow machine (a P75) has bad memory bandwidth too, so the 1.5Mb/s data stream still slows it down noticeably. Fortunately, I'm shuffling around my computers, and I'm retiring the P75.
#define X(x,y) x##y

Re:VoIP in Java (2)

peter (3389) | more than 13 years ago | (#159472)

You might want to use Vorbis. (see The encode/decode functions are in a library, so it should be easy to use. You could look at the source code for oggenc to see what library calls it makes. Check out the docs at (some of the links in the encoding library API ref are 404, it seems...).

Another reason for using vorbis is that it will keep Fraunhoffer from suing you for using an MP3 encoder.
#define X(x,y) x##y

Team up w/ Apple (OS X) - MORE BUYERS! (1)

undo (3635) | more than 13 years ago | (#159473)

Look out for the Mac OS X versions... The combined markets of linux w/ OS X is exactly what linux needs to boost it's purchasing power in the market...

VoIP in Java (4)

Drake42 (4074) | more than 13 years ago | (#159474)

Hi All,

I wrote a trivial test app using the java sound API to make a VoIP program. It didn't implement any kind of standard, and it was completely insecure, but it worked after a relatively small amount of effort and it performed really well.

Java Sound passes just about everything through to the card so Java vs C didn't really come in to play much. All I did was decide that one machine was going to play server, and then everyone who connected to that machine got their byte streams mixed using the java Mixer and then sent back the mixed stream.

I'm up to my neck it projects right now, but if someone wanted to lead it up, I'd submit code and experience. Then we wouldn't have to worry about platform at all.


Re:You forget cost/profit analysis (2)

Zach Baker (5303) | more than 13 years ago | (#159475)

NB: I'm unrelated to the previous poster. I just thought I'd chime in with my own depressing take on things.
Excellent, I was hoping to get a reply from a developer.

1) Do you use Linux much? Have you used it for any game/non-game development? It is definitely capable of running games. Windows is only worthy of games because of the huge marketshare, not because it is a better gaming platform. It is also obvious that the Linux community wants games. Are you part of that community? Do you not agree?

I think you would be better off asking a major publisher these questions. Developers who would like to support Linux and can afford to often do so. Also, BeOS was an even better gaming platform than Linux or Windows, but look how far quality gets you in this race.

Also, porting to the Mac tends to be an afterthought. As in, let's worry about making the "real game" (on the primary platform) as freaknasty as possible, and think about possibly offloading the code on a Mac developer later.

And finally, regarding developers that wish they could be working in Linux, I presume you weren't referring to artists, level designers, testers or producers. ;^) Sorry to be brutally honest, but hey, remember the PS2 does run Linux kick-assedly (although it's only been available in Japan [] ... so far [] )!

Summary of current market conditions: (2)

Zach Baker (5303) | more than 13 years ago | (#159476)


You should make your upcoming game for Linux. It is technically
superior in many obscure ways.


Sorry, we could only pick one operating system, and it turned out
to be Windows. Better luck next time.

[OT] FFT. (2)

Christopher Thomas (11717) | more than 13 years ago | (#159481)

Do you know why you wouldn't use an FFT for audio or video compression?

Out of curiosity, why?

Dabbling in signal processing and audio/video compression is one of my hobbies, though I'm only an amateur.

Tribes2 uses GSM (5)

Caballero (11938) | more than 13 years ago | (#159485)

Loki had the same sort of problems when they ported Tribes2. They switched over to a freely available GSM encoding (from a university in Germany). It worked so well they're adding the code to the Windows version so you can chat between versions.

Re:sure it's been done ... (2)

Mullen (14656) | more than 13 years ago | (#159486)

As a person who plays Tribes 2 alot, I am agaist putting the VoiceIP stuff into the game. Tribes2 VoiceIP is horiable and I know that other companies can do alot better job at the VoiceIP than the makers of Tribes2.


Add voice to old games with viavoice (2)

tap (18562) | more than 13 years ago | (#159488)

Paradise 2000 [] , a Netrek [] client for Linux, uses IBM's viavoice for linux to get speech output. Netrek is probably the oldest real-time graphical game on the internet. It has a sophisticated text messaging and macro system, but pre-dates normal computers even having sound hardware, much less the power for voice over IP.

With a text-to-speech system, you can get voice output without having to worry about bandwith issues, poor quality sound, or people without a microphone.

With Netrek's RCD macro system, it's pretty nifty the things you can do. For example, a player who is in a base is hurt, and pushes a single key for generic distress, causing everyone on their team to get a message like:
F0->FED Help(SB)! 0% shd, 50% dmg, 70% fuel, WTEMP! 9 armies!
But your client will speak, "Base hurt, weapon temped", because all those numbers are a pain to listen to. Later the base is ok, so he pushes the same key.
F0->FED Help(SB)! 99% shd, 0% dmg, 99% fuel, 1 army!
Now the client just speaks, "Base is ok". The macros can have "if" statements based on the relevant values, e.g. if(damage>50) "hurt" else "is ok". It's a lot faster to just push a key than to say the relevant information. And if you don't have all the noise, you don't lose text communication with your teammates.

BTW, if it wasn't obvious, this is a shameless plug.


NitsujTPU (19263) | more than 13 years ago | (#159490)
if you search around this website, you should come across a program called VOCAL, which is known to compile under linux, and provide some degree of VoIP support.

Let's avoid confusion.. (5)

mindstrm (20013) | more than 13 years ago | (#159492)

VOIP, or Voice Over IP, has come to mean a specific suite of protocols for providing telco integration, call setup/teardown, etc. We shouldn't use it as a generic term for 'speech over internet' anymore..

Re:Will this matter once games begin including voi (2)

ywwg (20925) | more than 13 years ago | (#159493)

is this feature in the linux version as well?

Re:Have you considered... (2)

WNight (23683) | more than 13 years ago | (#159495)

Speech has more redundant information that most audio signals... A large factor in speech recognition is context.

How lossy are you willing to have this?

Written english contains something like 1.6 bits of entropy per character, meaning aproximately 10 bits per word. That can be pumped into a speech synthesizer and result in *very* lossy representation yet it maintains almost 100% of the meaning. (Ignoring fine details like inflection, etc.)

The best way, from a bandwidth point of view would be to detect phonemes and transmit only those, recreating the audio on the other side. This is a 'bit' CPU heavy for realtime...

At any rate, MP3 encoders might not be the best thing to use, they're tweaked to work well on music not speech. Likely you'll create a larger file than you need. Simply mask out all frequencies below 500hz and above 3000hz (I think) and apply a simple logrithmic encoding and you'll get fairly decent compression. It's also fast.

Nice to see you still posting to Slashdot, I had thought you weren't here anymore, being that you vanished in the middle of a thread... Or, do you not check your posts ( to see if you've had any responses?

Re:Have you considered... (2)

WNight (23683) | more than 13 years ago | (#159496)

Sorry, I forgot I was talking to the person who proved Fermat's last theorem when she was three... Or was that only solve the traveling salesman problem in constant time... Oh, no, just an expert at audio compression, the only opinion that matters in any matter philosophical, and the first person to solve the Monty Hall problem.

I really wish you'd read the posts before you reply to them, you'd be a lot more relevant.

I never said MP3 wasn't usable, I said *MP3 ENCODERS* weren't a good bet. The MP3 encoders ARE tweaked towards music, that's what people tend to use them for, and what they are engineered to do well.

You made a comment about just finding one, tweaking it a bit, and having a great solution. The only open-source ones I've seen have been designed with "MP3s", or 128kbit music... If you used one of these you'd have a lot of tweaking to do to get decent compression from it.

It also doesn't fit the problem, as I saw it. This thread is about communication for a game. Barry White tends to perform very few concerts via Quake3 server.

While I'm at it, I think I should mention that telephone calls are compressed, usually with hard arbitrary cutoffs, and MuLaw encoding. Also, the whole point of logrithmic encoding is to have more resolution for quiet sounds, instead of the loud sounds. What you describe is exactly backwards from the way it works.

I assume though, that you find the quality of voice over the toll networks to be unbearably bad though.

You know, I did say "I think" after the numbers 500hz and 3000hz, that sounds right, but I may have misremembered. I even marked it as such. However, arbitrary cutoffs sound only marginally worse than a smoother cutoff, and usually only on specific benchmarks.

If you'd prefer a touch more CPU, then by all means, use a smooth falloff. I assumed speed was all-important because of the gaming aspect... I wouldn't want a 20% speed hit from audio encoding.

When you're doing audio compression, delaying the signal for 50 or 100ms is safe, and gives you all the context needed. I also understand about perceptive encoding, not that it's a huge technical achievment as you make it out to be.

As with the gun control thing... I think you've got an agenda and you can't see that it's not mine. I don't give a rat's ass about gun control in your country. I do however find it annoying when someone throws around a bunch of misused statistics and emotional ploys to deceive people as to the severity of the problem. If you really had a strong point, you wouldn't need to use a bunch of tricks.

And you don't really seem bitchier, you were more insulting in the other thread and just as quick to anger, without reading the post.

Don't waste your precious time on my account, if I want to have this kind of technical discussion I'll go talk with the marketing team.

Re:Impressive (2)

gmhowell (26755) | more than 13 years ago | (#159498)

Ummm... Go reread the post. I think it was humor.

Re:sure it's been done ... (2)

gmhowell (26755) | more than 13 years ago | (#159499)

Excellent. And with that DirectX 8 that is due out for Linux, he'll be all set!

Seriously, while a PITA for Linux, it will be great for 'Doze games.

Re:What about Macintosh? (2)

darmou (34207) | more than 13 years ago | (#159501)

Rodger Wilco has a mac version as well

UCL Conferencing tools (1)

Cabby (39912) | more than 13 years ago | (#159502)

We've used RAT [] from UCL quite sucessfully for VoIP calls in Linux (and between Linux and other platforms). It uses RTP for things like video and audio synching too and has handy gateway transcoding services available to it to translate between codecs. There's also a companion video client, VIC and a whiteboard system too.
Some of the releases are a touch tempremental but you should be able to make one of them work!

MacOS X could help. (1)

dmaxwell (43234) | more than 13 years ago | (#159503)

OS X is being touted as a OpenGL friendly desktop OS. While Mac game selections aren't as bountiful as Windows, the situation is better than in Linux. When games start appearing that are OS X native, the resulting sourcecode should be much easier to port the rest of the Unices. Granted the UI layer is completely different but the hardcore game engine components won't be so bad. Hell, it might even give GNUstep a large amount of interest. The GNUStep libraries would probably ease much of the pain of porting the UI stuff as well even if they aren't employed to backend 'nix desktops.

Games that are intended to sell well on the Mac and Windows have to be somewhat portable. The OS X environment resembles it's fellow Unices more than it does Windows. Of course, Microsoft can release DirectX libraries for OS X and not Linux..........

I've seen a lot of posts to effect that MacOS X is bad for Linux and will kill it's mindshare. OS X is no more bad for Linux than Linux is bad for the BSDs. Sure more people may use it as a desktop but it could mean that more commercial software comes to Linux (and the BSDs). A rising tide floats everyones boat.

Compression too! (3)

dmaxwell (43234) | more than 13 years ago | (#159504)

ssh has the -C flag that uses the same compression algorithm as gzip. That might make the above scheme barely practical. I know, I know, it was a joke..

I will point out that ssh compression works wonders on a vnc session if the server is running sshd. There is a nice howto on the vnc page for tunneling the connection over ssh. Secure and faster....bonus!

suggestions (2)

DanThe1Man (46872) | more than 13 years ago | (#159505)

Will Linux Telephony [] do the trick?

If how about useing Speak Freely [] or Open Phone [] ?

Re:Tribes2 uses GSM (2)

Dwonis (52652) | more than 13 years ago | (#159506)

GSM is patented, I think.

Re:Have you considered... (2)

Dwonis (52652) | more than 13 years ago | (#159507)

Please... if you're qualified to discuss audio compression, how about the basics? Do you know how to compute an FFT? Do you know why you wouldn't use an FFT for audio or video compression? What about a DCT? MDCT? What do you know about quanization schemes? The advantages/disadvantages to storing quantized data with huffman encoding vs. arithmatic encoding? Have you ever written a single signal processing function? (I've written a whole library). Do you know anything about the subject at all?

I'd like to step in and ask: where I can find that information?

Re:sure it's been done ... (2)

Dwonis (52652) | more than 13 years ago | (#159508)

Eww... I'd never use DirectX for Linux.

Re:Tribes2 uses GSM (1)

QuoteMstr (55051) | more than 13 years ago | (#159509)

BSD-like license.

Re:Speak Freely for Unix (1)

spinkham (56603) | more than 13 years ago | (#159510)

Depends on your soundcard drivers.. The SB live I have has drivers that let multiple streams into the card, so you could hear and have your quake audio...

Re:HawkNL (1)

spinkham (56603) | more than 13 years ago | (#159511)

Mod this one up ;-)
Not only is this a cool project, they have good comparisons of open source implementations of telephony codecs..

Re:Will this matter once games begin including voi (1)

dinky (58716) | more than 13 years ago | (#159512)

Yep. They've added a GSM VoIP codec in the latest patch which works on both platforms (Windows and Linux).

*nix based Voice over IP is easy! (5)

dougmc (70836) | more than 13 years ago | (#159515)

We've been doing `Voice over IP' for years, far longer than it's been `cool' -

cat /dev/audio | rsh remote-host 'cat > /dev/audio'

Well, for the year 2001 you may want to use `ssh' instead of `rsh', and /dev/dsp instead of /dev/audio for Linux, but the idea is still the same ...

Almost as much fun as making the Sun next to you belch while the newbie is using it!

Re:Back up those assertions, please (1)

technos (73414) | more than 13 years ago | (#159517)

Well excuse my caps! They were in deference to the replied-to post! (Oh and bidirectional, compound that implied condition as another error as well)

Not logged in, guess who.

Re:Back up those assertions, please (1)

technos (73414) | more than 13 years ago | (#159518)

Wait, WTH is going on with the cookies?

Re:Speak Freely for Unix (2)

technos (73414) | more than 13 years ago | (#159519)

I use it all the time. (GF in CA, I'm in MI) The Linux version can be a bitch on some soundcards (ES137x and S3 SonicVibes) compared to the Windows version.

What else to say? It'll do multicast conversations, and coexist nicely in LPC10 mode with Quake on a 56K so long as you don't mind not being to hear Quake save the CD audio.. The delay can be unbearable. If I yell into the mic, I can hear myself five seconds later some nights. Others, it's nearly instantaneous.

Re:Speak Freely for Unix (2)

technos (73414) | more than 13 years ago | (#159520)

If you're referring to the ohphone that is a part of the OpenH323 stuff, you're only right because of the bitrates involved. The largest amount of bandwidth you can eat with SF is about equivalent to what you consume using G.723, one of the better compression ratio H323 modes.

Also, using H323 as a carrier would mean you need at least a 1/4 cycle (You are only sending or receiving data 1/4 of the time) peak throughput equivalent to a capped cable modem; I've used Speak Freely on as little as a 9600 baud modem in 100% cycle operation.

Re:Let's make one... (4)

technos (73414) | more than 13 years ago | (#159521)

GSM, the standard used in cell-phones, works fine with less than 1/5th of that bandwidth (bidirectional in 2.4-2.8kbps, will do realtime compression in a 486, and there are freely available GSM compressors.

There are also public domain encoders for the military voice standards, LPC and LPC10. Those are usable in as little as .96kbps, but they sound horrible. in comparison.

For Half-Life engine fans... (2)

antdude (79039) | more than 13 years ago | (#159522)

If there was a Linux port of Half-Life, then this upcoming voice feature [] would kick butt. We wouldn't need these voice utilities.

Off-topic, this upcoming Spectator feature [] would be sweet as well. :)

Re:Let's avoid being ANAL (1)

_UnderTow_ (86073) | more than 13 years ago | (#159524)

Seriously, if you're speaking and your voice is being carried to it's destination via IP, then it's Voice over IP. I don't think anyone is confused by that.

Re:Open H.323 (2)

brunes69 (86786) | more than 13 years ago | (#159525)

I have used this and can attest to it working. It not oly worked, but worked fine connecting to a netmeeting user as well. So it is also viable for connecting to window users

" any Blizzard product..." (1)

Gerad (86818) | more than 13 years ago | (#159526)

Um, hello? Have you ever PLAYED Diablo 2? That makes EverQuest look NICE.

Tribes 2 Seems to Incorporate One (2)

Greyfox (87712) | more than 13 years ago | (#159527)

I noticed that the Linux Tribes2 seems to have some GSM thing built right in. Haven't fiddled with it yet, as I think my Microphone is dead and the game seems to run much too slowly on my system anyway (Time to spring and get that geforce2 *sigh*...)

Speak Freely for Unix (5)

Bigtoad (88790) | more than 13 years ago | (#159528)

How about Speak Freely for Unix [] ?

I have played with it a bit, and it seemed to work, but I haven't actually used it for gaming yet.&nbsp It didn't seem as simple to configure and use as some of the windoze voice comm programs, though.

Freshmeat (3)

rosewood (99925) | more than 13 years ago | (#159529)

I know when I was looking for tools like Net2Phone and for linux I found a few SDKs on Freshmeat for VoIP. However, none of them were geared toward gaming such as Rogerwilco and Battlecom. I would love to find a good cross platform "game-geared" VoIP system. Btw - only RWBS is for Linux - no linux clients that I know of

Re:VoIP in Java (1)

borzwazie (101172) | more than 13 years ago | (#159530)

perhaps a great candidate for a sourceforge project?

There was an IP phone in the perl journal recently (2)

marcmac (105570) | more than 13 years ago | (#159531)

TPJ had an IP phone in ~70 lines of perl - this should be adaptable to your purposes, I'd think...

Let's make one... (1)

SirPoopsalot (111075) | more than 13 years ago | (#159532)

I've been toying around with a streaming MP3 system that would allow for unlimited conference sessions to take place, even if the client is on a modem. great for team games, and you can use as low as 16kbps of your total bandwidth to do it.

The central server has to have some pretty processing power and bandwidth, but it'd work.

I can write the linux server and client, but I don't know anything about programming witht he soundcard in windows.

Re:VoIP in Java (1)

SirPoopsalot (111075) | more than 13 years ago | (#159533)

This is exactly the basis of what I am working on, except that the client can define what kind of audio stream they want to send to the server, and what type of audio stream that want to get back from the server.

This allows each user to use as much bandwidth as they can afford for conference calling. Allow stereo mixes to be made of the individual incoming streams, and you can add spacial placement for each voice in the mix, making it easier to tell who is speaking.

i'm just snagged up right now in the process of trying to understand the MPG123 codec sources to get a good grasp on the MP3 aspect of this project.

The client/server stuff is easy... it's the encoding and decoding that I'm having trouble with.

Re:You forget cost/profit analysis (1)

jred (111898) | more than 13 years ago | (#159535)

Damn. If I'm not going to be able to say all that stuff that articulately(sp?), they should at least give me mod points to give him.

jred []

Voice over IP... (1)

TheLanMan (112303) | more than 13 years ago | (#159536)

Hey just found this: at/

Its called R.A.T. or Robust Audio Tool

Re:sure it's been done ... (1)

Zorkon (121860) | more than 13 years ago | (#159538)

Shadowfactor was "purchased" by Microsoft about a year or so ago, and have been maintaining Battlecom as a service to the community. Most of Shadowfactor's proprietary VoIP technology has been put into DirectX 8, and is now called DirectVoice. It's also been used in Microsoft's GameVoice software/hardware combo.

(Rod Toll of Shadowfactor is an acquaintance of mine, and he and the Shadowfactor team are now at Microsoft).

sure it's been done ... (2)

Frizzled (123910) | more than 13 years ago | (#159539)

but, to date it hasn't been done well.

Roger Wilco [] is notorious for using up resources and being near-unhearable and Battlecom [] , while pretty solid, also has problems with static creeping into the transmission (interestingly, ShadowFactor is about to discontinue Battlecom).

One solution is simply to build Voice-Over-IP into the app ... in the case of games, Valve's next patch to the Half-Life engine will contain code to do this very thing [] . It should be interesting to see if a company has more luck trying to write this code directly into their product, rather than replying on other companys to create add-ons (like BC and RW).


Re:Let's avoid being ANAL (2)

SuiteSisterMary (123932) | more than 13 years ago | (#159540)

That's like saying that any protocol that transfers files over the Internet should be called 'File Transfer Protocol' and is equally stupid.

Have you considered... (2)

Rei (128717) | more than 13 years ago | (#159545)

Have you considered taking a gpl'ed mp3 encoder and ripping out some of its (slow) frequency masking and hearing sensitivity calculations? That would take almost no effort. You'll take a quality/size hit (unimportant for speech), but it should be fast enough for real-time encoding without a significant CPU signature; then all you have to deal with is streaming. Also, given that this is speach we're dealing with, you can expect most of the frequencies in question to *not* be masking each other out or be outside the human hearing range (what point would there be to humans being able to make sounds like that? ;) ).

- Karen

Re:Have you considered... (5)

Rei (128717) | more than 13 years ago | (#159551)

Sorry, some of us have lives on the weekends ;) My humblest apologies for having better things to do on a saturday night than to debate gun control with someone who loves to continue to dodge the simple question, "Do you think the US legal system is wrong 50 times as often as it is right?", by making pseudo-statistical arguments without overcoming the sheer numbers, and nitpick choices of examples in arguments without hitting the core of them (I.e., "just because something else is worse doesn't justify something bad"). But, regardless, this thread is about audio compression :)

When you do a block DCT or MDCT on an audio signal, you're not looking at a whole page of text's worth. You generally look at a fraction of a second. Speech has little redundancy at this level. However, that isn't what I was referring to. Do you have any background in audio compression? There are two keys in compressing audio using current methods: Frequency masking and signal response. Frequency masking is the fact that when the human ear hears a strong signal, weak signals that are near it in frequency seem to "dissapear" or "merge" with the stronger signal. Signal response (hearing response, frequency sensitivity, etc), is how good, overall, the human mind/ears are at hearing weak signals at various frequencies across the spectrum. By a careful knowledge of these, in music or voice, you can kill off many more frequencies than without it. However, it also is a big CPU consumer to do it very carefully. Cutting out some of the analysis can save you a good bit of CPU - and, in the case of human voice, which tends to be in a very audible range with few masking effects, won't affect your compression rate much.

Second, please, if you can create a good sounding speech synth - especially one that can give inflections, emotion, etc - please, please share it with us. Until then, good luck having something like this work (simply neglecting CPU issues) without sounding like a 50s robot that messes up once a second.

Oh, and to answer your theory about masking out frequencies below 500hz and above 3000hz: No. That will sound so unbelievably awful. First off, lets neglect the fact that someone with a voice like Barry White would be inaudible, and that you'd never hear a 't' or 's'. Ignoring that, that's a silly way to do it. You need a simple curve, even just a simple line graph. It takes little CPU time, and will actually be able to reproduce the original sound well. Arbitrary truncation points are unbearably bad.

Next, you seem to be of the notion that MP3 encoders are "tweaked towards music". MP3 encoding is a fairly abitrary term. MP3 is a specific format for encoding streamable, quantized, transformed data. You can use any truncation scheme you want - even the silly one you proposed. Most encoders you'll find are tweaked towards the human hearing range - an optimal choice for both voice and music (especially voice, though! Voice compresses very well, because, compared to music, it has most of its energy concentrated in a few signals at any given time).

Next, why use "logarithmic encoding" for compression? Logarithmic encoding is a (poor) way to store raw (uncompressed) audio data - it sacrifices low-level clarity for the ability to represent very loud signals - something seldom of use in normal audio compression applications (have you ever noticed how quiet signals on an 8-bit sound card are very crackly, but the loud ones are clear? Thats the sort of effect logarithmic encoding gives to sound). It is useful in efficient Pulse Code Modulation (PCM) of data for maximizing the number of transmissions over a small number of physical channels, but doesn't even begin to apply as far as storing quantized data is concerned (that would be like using a bubble sort to compute Pi or something ;) ). Do you mean "arithmatic encoding", perhaps? I have a neat theory for using that, with scaled probabilities, to create an optimal compression ratio (predictive) for thresholded, quantized data, that I came up with after the last slashdot conversation on compression (it was video compression then).

Please... if you're qualified to discuss audio compression, how about the basics? Do you know how to compute an FFT? Do you know why you wouldn't use an FFT for audio or video compression? What about a DCT? MDCT? What do you know about quanization schemes? The advantages/disadvantages to storing quantized data with huffman encoding vs. arithmatic encoding? Have you ever written a single signal processing function? (I've written a whole library). Do you know anything about the subject at all?

If you don't know what you're talking about, please don't be suggesting encoding schemes. There are enough bad ones out there already ;)

- Rei

P.S. - sorry if I seem a bit bitchy. For some reason, they decided to leave us without air conditioning today at work ;)

Re:Speak Freely for Unix (1)

enneff (135842) | more than 13 years ago | (#159552)

"so long as you don't mind not being to hear Quake save the CD audio"

Err, well scrap that then. How can anyone play an FPS without sound? It almost equivalent to playing with a blindfold.

Vocal and SIP (2)

cullenfluffyjennings (138377) | more than 13 years ago | (#159553)

You could just hack your own protocol to do it Why not do it the open standards based way? Use SIP - it is good for voice and there is substantial work to build instant messaging and presence stuff on it. Someone, sipforum I think, showed Quake with SIP. I have worked on the SIP stuff at and it is open source.

Check this out ! (1)

FullClip (139644) | more than 13 years ago | (#159554)

A guy called Simon Morlat apparently hacked a VoIP solution for Linux [] together.

Some spoilage: LinPhone is a web-phone, (or Voice over IP software), running under Linux. It lets you phone to your friends using IP networks such as the internet...

It has the capacity to eventually work together with other VoIP software on other platforms (cause they're using a common protocol I guess).

Will this matter once games begin including voice? (2)

fetta (141344) | more than 13 years ago | (#159556)

Will this matter once games begin including voice as a feature within the game? Tribes 2, for example, includes its own built in voice communication system.

Granted, external programs like GameVoice and Roger Wilco offer some additional feature, but will the average gamer care? I would expect every game that has a team play element to include its own voice technology within a year or two.

Re:Add voice to old games with viavoice (1)

pantherace (165052) | more than 13 years ago | (#159558)

btw, is that the reason it is limited to x86 only? If you want to port to various alpha platforms (True64, LINUX, etc), try as they have free access to alphas. (if possible, please) As I only have alphas connected to the internet for security and cost reasons.

Feel free to mod this down if you want to moderators, but netrek is a really good game, and paradise2000, tap (aka xyzzy) is the best client I have found. Check it out []

Just my two cents... ICQPhone works pretty good.. (1)

Maddog_Delphi97 (173780) | more than 13 years ago | (#159560)

If only Miranda America Online would just port a version of ICQ for Linux, that includes ICQPhone, it would be something that Linux users would want to use...

I've tried both Roger Wilco and Battletech.. and ICQPhone has them both beat pretty good... it sounds like I'm using a regular phone with ICQPhone.

Back up those assertions, please (1)

ChrisCampbell47 (181542) | more than 13 years ago | (#159561)

Since when does GSM do 2.4-2.8 kbps voice? AFAIK it does 13 kbps "full-rate" and offers a down-speeded half-rate. The slower rate is most certainly not "fine", although perhaps intelligible and perhaps even recognizable (i.e. you can tell who's talking).

The ITU has standardized on the G.728 (16 kbps) and G.729 (8 kbps) voice compression algorithms, which have been shown to work better than GSM, especially in concatenated situations (i.e. one hop with G.728 compression, another hop with the same or another kind of compression). Plus they have known, bounded CPU requirements.

Tell us more.

Re:Impressive (1)

DrPascal (185005) | more than 13 years ago | (#159563)

"If I were more of an avid gamer, I would demand that software companies make their games function on linux systems just as good as on windows boxes. I can see it now: the OS Equaltiy Act."

I don't mean this to sound like a flame, but that is ridiculous. You can't expect developers to do such a thing. They develop effectively for whatever platform they know how to. Why not BeOS? Why not Solaris? Are you also upset that console games aren't running on Linux as well? Video game makers probably enjoy what they make, but they are also getting paid for it. Right now, making games for Windows makes money. So they do.

{sigh} Don't get me wrong. I like Linux, and having more games for it would be nice, but without market share, you either need to dual-boot, or deal without that game.

There is a fine line between having a strong like for an OS, and zealotry.

Re:Have you considered... (1)

Gordonjcp (186804) | more than 13 years ago | (#159564)

Oh, and to answer your theory about masking out frequencies below 500hz and above 3000hz: No. That will sound so unbelievably awful.

Hmm, that's news to me... I use a really sharp 300-3400Hz filter (OK, not quite 500-3000Hz) all the time for RT and it significantly improves the perceived clarity of speech.

In fact, I'd recommend reading the RSGB (or ARRL, for those across the pond) Handbook, and building a speech processor that does clipping and speech-band filtering for any VoIP applications. Especially if you use GSM compression.

Re:Tribes2 uses GSM (1)

Phokus (192971) | more than 13 years ago | (#159565)

Is GSM covered under GPL?

Will Loki have to distribute the source code if it is?

Re:Responsibility of Game Publishers (1)

Moridineas (213502) | more than 13 years ago | (#159568)

>To the point: game publishers need to get off >their arse and provide a linux version for each >release.

Ridiculous! You take a community of people who essentially want Free Software, and think that software should be Free and Open, combine that with gaming capabilities (I'm talking API-wise and compatibility wise) behind that of windows and you get....*drumroll* TERRIBLE SALES!

and that's why most game developers don't care about ports.

With the exception of the more "nerdy" (and I mean that in the BEST possible way! Being a computer nerd is a great thing) minded developers such as Carmack, most people don't give a hoot.


Re:Responsibility of Game Publishers (2)

Moridineas (213502) | more than 13 years ago | (#159569)

I cited Carmack as a developer who is into linux. Look at other prominent developers, such as Sweeney--they don't care nearly as much. Nor do most game developers i think. MOST people don't need or want to have to have an opinion in the OS wars. It's enough to make money and do what works.

Whether the constraints of multiplatformism are benefitial? Most likely (looking at it structurally, and assuming that at least ONE profitable and worthwhile port will be made). However the platform that makes up for this cost deficit, ISN'T *nix.

The "bottlenecks" are managers--I guess you are correctin saying this, though i wouldn't use the term bottleneck. Programmers create a product, managers make money.


Re:Team up w/ Apple (OS X) - MORE BUYERS! (2)

infiniti99 (219973) | more than 13 years ago | (#159571)

I totally agree. This even makes sense when combined with my other post in this thread. MacOS has a fairly low market share, just like Linux, but it has a better reputation as a desktop OS and so it gets lots of good commercial applications and games. No doubt these developers (like Adobe, Blizzard, etc) are interested in easy crossplatform development.

With SDL and OpenGL working on Mac, and Qt on its way there, companies may be very interested in utilizing these libraries/technologies for crossplatform Windows/Mac development. The kicker though is that these are also supported fully on Linux. If these libraries catch on in the Mac world, I'm fairly sure Linux will see lots of the same apps merely by side-effect.


Re:You forget cost/profit analysis (2)

infiniti99 (219973) | more than 13 years ago | (#159572)

Excellent, I was hoping to get a reply from a developer.

1) Do you use Linux much? Have you used it for any game/non-game development? It is definitely capable of running games. Windows is only worthy of games because of the huge marketshare, not because it is a better gaming platform. It is also obvious that the Linux community wants games. Are you part of that community? Do you not agree?

2) Still, using OpenGL would make a Mac port easier. Choosing OpenGL over DirectX is mainly a portability decision. Do you not want your game to run on Mac either?

3) True. Any game worth its salt has its own GUI library. I meant to bring up Qt as a reference to application developers, broadening my argument for crossplatform programming to include all types of software. I must say Qt may be a good in-house tool at a game company though, for developing map editors, game editors, etc if you have a heterogenous development environment. It may encourage a crossplatform mindset in your company as well. Do any of your developers wish they could be working in Linux?

I understand what you mean though. It all comes down to whether or not you consider portability important, and whether or not it would turn a profit.

Re:You forget cost/profit analysis (3)

infiniti99 (219973) | more than 13 years ago | (#159573)

That's why there is SDL [] . It uses DirectX on Windows and DRI on X (as well as many other graphics layers / OS's).

I think the problem with Windows developers in general is that they don't think of coding crossplatform in the first place. It's easy to understand why: they are taught DirectX and MFC, and Windows has a huge percent of the desktop market. Also, some games are coded so horribly (compare the duct-tape-that-is-EverQuest to any Blizzard product) that porting certain games look like they would be a nightmare.

On the other hand, I think Linux developers are more trained to code portably. With all the unix flavors out there, source portability is already a must. It also seems that these developers care about porting to Windows. Many apps for X are available on Windows (like a lot of the Gtk stuff), but not the other way around.

So Linux developers actually care about portability, but Windows developers do not. Maybe we can convince them to change their ways?

Surely the Windows developers out there don't thoroughly enjoy Windows-only programming, do they? I've used DirectX, and it was ludicrous. It isn't direct at all (Come on, DirectMusic? DirectPlay? Direct is just a buzzword..) and the classes are a mess. I haven't heard much good about MFC either, but I've heard only good about Qt [] (and I've used both).

Qt works on Windows. There's no reason to use MFC. Yes it does cost money, but aren't we talking about real game companies here? SDL works on Windows. There's no reason to use DirectX "directly" (whatever that means). You know how long it would take to port Windows apps/games to Linux that were all written in Qt and SDL? All of a recompile.

Speak Freely -- Problem behind a firewall? (1)

Futurepower(tm) (228467) | more than 13 years ago | (#159574)

I wasn't able to get Speak Freely to operate with an echo server. There is no evidence of a connection.

The local echo loopback feature works fine.

Could it be that there are problems being behind a NAT firewall?

Re:VoIP in Java (1)

xenocide2 (231786) | more than 13 years ago | (#159575)

Except that Java dropped the VM scenario in favor of JIT compilation on most platforms. It converts the java byte code over to the native byte code rather than interpreting everything. Just make sure that your Java VoIP doesn't use Swing or AWT GUI junk, both really are memory intensive for some reason, even with JIT compiling.

Why not the old Multicast tools (1)

bstrahm (241685) | more than 13 years ago | (#159576)

VAT/RAT for audio SDR For session directories Now all you need is a multicast tunnel into your networks and it all just works. Now lets see These tools were old 5 years ago, so I guess nothing new here, but they work great on any Unix that I have ever used

List of VoIP applications (2)

leonia (246522) | more than 13 years ago | (#159577)

There is a pretty comprehensive list of VoIP and multimedia applications at [] and [] (under 'implementations') These applications are all interoperable, at either the media or call set up level. Among others, our sipc application runs on Linux (and Solaris, FreeBSD, etc.).

Ogg Vorbis (1)

kfs27 (261031) | more than 13 years ago | (#159580)

Might be a good idea to look into Ogg Vorbis instead of MP3 for streaming becuase it by default uses VBR which would be better for bandwidth...and it's open source which makes it much nicer not having to pay those German's.
Kenny Sabarese
Left Ear Music
AIM: kfs27 #windowmaker

Re:sure it's been done ... (2)

geomcbay (263540) | more than 13 years ago | (#159581)

Well Microsoft's added voice communications into DirectX, so each game developer for Windows won't have to recreate this stuff, they'll just code some generic interfaces into the API.

For the same sort of thing, but cross-platform, there's HawkNL []

HawkNL (3)

geomcbay (263540) | more than 13 years ago | (#159582)

HawkNL [] is a nice LPGL library (currently with Win and Linux support) for doing, among other things, voice over IP.

Its targeted at game programmers, to be integrated in-game, as a cross-platform alternative to Microsoft's DirectPlay and DirectPlay voice, but could be used to do a stand-alone VOIP app as well (though I am not aware of any currently).

Re:Responsibility of Game Publishers (1)

Corvus9 (300802) | more than 13 years ago | (#159583)

I can see another way to solve the problem of not having the "latest and greatest" games on Linux: buy the Linux games that are out there. When it is profitable to sell Linux games then publishers will write them.

You are right, game publishers do not see much of a demand for Linux games and they do need to see interest. Interest in the form of cash money for games purchased. Game publishers are not Open Source developers and need revenue, not petitions, to pay for development. The only signatures that will help commercial Linux game publishers are the Treasury Secretary's signature on legal tender.

Re:Tribes 2 Seems to Incorporate One (1)

criswell4096 (320914) | more than 13 years ago | (#159590)

Yeah, it's funny... people ask questions like this to "Ask Slashdot" without really trying to research it themselves... A very quick search actually turned up the Tribes 2 FAQ [] from Loki's website [] ...where it talks about this very thing.

I always thought "Ask Slashdot" would be a *last resort* kind of measure... to be used only after I've already exhausted all other options. But I have been noticing an increasing number of "Ask Slashdot" questions like this (here's another that boggled my mind [] ). Hmm... maybe it's just me ;-)

Hawkvoice does just this for Linux/Unix/win32 (1)

Ezza (413609) | more than 13 years ago | (#159591)

"HawkVoice ( [] is a game oriented, multiplayer voice over network API released under the LGPL, with support for Linux/Unix and Windows 9x/ME/NT/2000."
It has 7 different codecs from 64kbps down to 1.2kbps and can even do encryption of the stream.
Part of it is HawkVoiceDI which is a low level packet & utility library if all you want is the codecs without the fluff.

Who wants to give out freebies? (1)

Blowit (415131) | more than 13 years ago | (#159592)

If there is no money involved, then why would someone make it? Nowadays, due to inflation, time is money. without money, you can't run your computers to make free software.

Just a little effort... (2)

Bonkers54 (416354) | more than 13 years ago | (#159593)

With a mere 15 seconds of research I found a wonderful library here [] that would very easily be utilized to make a VoIP app for games. All the work is done for you just about, now go finish the rest. This library will even work on both windows and linux, so you could make your program cross platform! Sometimes all it takes is hitting the search button to find what you need.


Re:Tribes2 uses GSM (1)

mightyflash (444716) | more than 13 years ago | (#159594)

Patented in the USA maybe, but not in Urop.

What about Macintosh? (1)

Tachys (445363) | more than 13 years ago | (#159595)

I notice all the gaming VoIP software is PC only. But all the talk here is about Linux. Any software available for the Macintosh?

easy problem--easy solution (2)

Not A Democrat (448542) | more than 13 years ago | (#159596)

Well, voip isn't very complicated. If you're unsatisfied with the currently available solutions like those available at LinuxTelephony [] or OpenPhone [] you can always roll your own. I know I'd lay down a couple bucks for a satisfactory one, so you can probably sell it and make a couple quick bucks from your effort, too. Stop whining and make a difference!

Gamenet (1)

Dutchie (450420) | more than 13 years ago | (#159597)

This is a pretty cool idea. I've been thinking about (and working on) a 'gamenet' kind of thing based on IRC. It's entirely too immature to even discuss it much but basically it's going to be some sort of well documented and Free piece of software that any game, whether text based or graphics based, with sounds, music etc. could use as it's standard way to 'get online'. Implementing voice over IP could be implemented similarly to a DCC session somehow, hmmm.

I wonder how succesfull it would be to have such a 'gamenet', any reactions? Obviously it would be hellishly difficult since playing games is something entirely different than IRC (chat) or Napster (filetransmission on top of IRC).

  • Imagination is more important than knowledge.

Vovida (2)

blang (450736) | more than 13 years ago | (#159598)

Is an opensource SIP stack. It's an overkill if you just want to chat during games, but it's there.

Responsibility of Game Publishers (2)

idonotexist (450877) | more than 13 years ago | (#159599)

To the point: game publishers need to get off their arse and provide a linux version for each release.

This is the only way I can see we can solve the problem of not having the "latest and greatest" windows games on Linux. Also, by the time one completes porting a game from Windows to Linux, it is likely the game is passe (except maybe for halflife (the game will not die)).

Is there a petition I can sign? A list of game publisher email addresses to send an email to? I think part of the problem is that game publishers do not see a demand on Linux platforms. Perhaps if publishers were communicated a significant interest, then they should at least think about providing for Linux versions.

Impressive (1)

gooberguy (453295) | more than 13 years ago | (#159600)

I am amazed at how you and your friends have migrated from windows to linux. I get MUCH higher framerates in linux quake than in windows.

I'm not sure where to find linux VoIP software (at least open source, anyway) If I were more of an avid gamer, I would demand that software companies make their games function on linux systems just as good as on windows boxes. I can see it now: the OS Equaltiy Act.

All software must work equally well on all operating systems, regardless of race, ethnic background, or the amount of money that was put into its development...

D/\ Gooberguy

Ding! (1)

gooberguy (453295) | more than 13 years ago | (#159601)

You are exactly right!

I can't belive that someone thought I was serious. Making software woirk on all OSes would be a HUGE pain.

D/\ Gooberguy

You forget cost/profit analysis (4)

ColGraff (454761) | more than 13 years ago | (#159602)

Most modern computer games uses Direct3D and DirectX a great deal. These libraries are not portable, and they are what most developers have experience with. You are asking, in essence, for developers to either have two devteams working in parellel, or one team programming both versions. In either case, the game company can either completely rewrite the game engine for each OS, or it can create one highly portable engine. The problem with the latter option is that DirectX in particular really is the backbone of Windows gaming. It would be very hard to convince developers to give it up, and I'm not sure "DirectX free" windows games could match the perfomance of their windows-only counterparts.

Alos, have you considered the expense of training all these developers in Linux? Remember, most of them do not have Linux experience.

Finally, when you consider that Windows controls 90something percent of the desktop gamer market, it just doesn't make sense for a company to pour massive resources into developing Linux and Windows games simultaneously that only a relatively small number of people would buy. At least a dedicated porting company like Loki doesn't have to worry about graphic artists, level designers, story writers, or game design as a whole.

Re:You forget cost/profit analysis (1)

pa-guy (457151) | more than 13 years ago | (#159604)

At least a dedicated porting company like Loki doesn't have to worry about graphic artists, level designers, story writers, or game design as a whole. Niether would a parallel dev team.
Load More Comments
Slashdot Login

Need an Account?

Forgot your password?