How can I get the best sound from my mic while in-game?
How can I adjust my server so players have the best voice quality?
If your mic sounds bad or is choppy, check and adjust your mic volume, mic boost, rate and cl_cmdrate. Rate is how fast data can be sent from the server to your computer (and vice-versa) which can affect the voice quality.
56K Modems are always going to have voice quality problems.
cl_cmdrate is a variable that controls how often your client sends updates to the server including voice.
This is normally set to 20. Anything less than 13 is bad for game play and certainly for voice. Anything more than 40 is probably not going to do anything except on a LAN game.
Adjust your mic volume and boost in the game options menu under the "voice" tab.
One typical improvement is to set the cl_cmdrate to the typical FPS you see (cl_showfps 1 to enable and cl_showfps 0 to disable, don't leave it on it can cause some lag).
Unfortunately many servers running adminmod will change your rate and cl_cmdrate as they try to balance load, so your mic might be working fine and then suddenly the sound will degrade again.
Many players have their rate set to 2500 but they are on DSL/Cable and can support rates of 7500 or 9999.
Rate also affects how fast you can D/L maps and other resources so it VERY IMPORTANT to set it to match your line!
There are two places to set rate, one in your Steam settings and the other is in the game console.
In Steam, go to the Steam menu, click "Settings" then select the "Internet" tab. Choose the right setting that matches your connection.
Be sure to set your rate to what your line can handle, not just to what is fastest. Too fast and you could have other problems.
The other method is to pull down console and type "rate 7500" (for example).
It's important to be able to do this since it's the easiest way to adjust your mic (not thru the steam menu).
You must use console to change cl_cmdrate.
If you don't have console ("~" key typically) then you'll need to add " -console" to the launch properties of your favorite mod.
Steam > Library > (mod) > Right Click > Properties > Launch Options
Most servers will have a forced upper limit between 5000 and 7500 no matter what you set, and 9999 is the maximum (normal settings, T1) for an internet connection (20000 is the actual maximum number rate will accept).
Check your line:
It's a good idea to check your connection to make sure it's doing what you are paying for, go to http://speedtest.dslreports.com
ok enough of that, let's check your mic.
Test it first by entering "voice_loopback 1" in your console so that you are able to hear yourself.
Using a pair of earphones is highly recommended otherwise you'll get tons of feedback.
When you are done, turn off the loopback by setting "voice_loopback 0"
Next, while speaking into your mic, enter:
until your voice sounds the best, no need to go beyond that point.
Some servers are still running the older "Miles" sound voice system and although it sounds a little muddier then the new "Speex" system, Speex will often have problems and sound really bad if the server uplink gets close to max or overloaded.
Be sure to check your mic on a couple of different servers before assuming it's just you and not the server.
Servers have quite a few options now for player voice settings, here is a summary:
The codec that a client uses is determined by the server, so use this command on your server to switch over to using the new one:
And then these commands to change between different quality voice streams (also on the server):
If you still wish to use the original miles sound encoding system set this option:
This is a copy of a thread with some additional detailed information about the Speex codec and relative efficiencies:
Here is a mailing-list archive entry about the Speex voice-compression codec, where it details how to enable and use this new and vastly improved speech compression with Half-Life. It will eventually replace the existing voice-compression, and become the only option. Until then, it is not the default option, but available for all Steam-powered servers. In general, reducing bandwidth usage for voice down to 6000 bits/second (quality 2) still sounds better than the current codec, while truly high levels of compression (2400 bits/second) sounds equivilantly bad, but in a different way than the current compression method.
As a quick comparison, it used anywhere from 7.5% as much bandwidth to 47.5% as much bandwidth as the current 'voice' compression, and at less than 25% the bandwidth usage sounds generally better than the current voice compression. It does use a higher portion of server CPU, but only 1-2% in most of my tests.
And as Yet Another Note: 56k modems generally have around 20000 bits/second of upload space available, and around 40000 bits/second of download space available, once you factor in TCP/IP and PPP headers and everything else. So these new codecs are MUCH more friendly for modem users.
Unfortunately, it's only available for Steam-compatable servers. Anyways, for those that don't want to read that mailing-list for more information, here you go:
First, switch your server to use the Speex encoder:
Now, you're running in Speex mode. The next choice is how much bandwidth do you want Speex to use, which is a direct trade-off with the voice quality.
sv_voicequality 1 = 2,400 bits/sec, 7.5% of current usage
sv_voicequality 2 = 6,000 bits/sec, 18.75% of current usage
sv_voicequality 3 = 8,000 bits/sec, 25% of current usage
sv_voicequality 4 = 11,200 bits/sec, 35% of current usage
sv_voicequality 5 = 15,200 bits/sec, 47.5% of current usage