I'm writing this guide because I find myself having to repeat a lot of the same points while advising people here and correct misguided advice from others, so I figure that I can clear up a lot of the misconceptions, misunderstandings, and general confusion regarding PC gaming audio. I was especially inspired to do this by this Creative forum thread, which highlights a lot of the differences and why PC gaming audio has actually regressed over the last decade.
This guide focuses more on the sound APIs and binaural audio technologies in PC games. If you're looking for headphone advice:
-Buy a Stax Lambda system. You'll generally need $300-500 and a speaker amp for the cheaper sets, but I have yet to find a better headphone for gaming if you're looking for competitive positioning and comfort for hours on end.
-Alternatively, there's the HiFiMan HE-400, which is surprisingly comfortable with velour pads, has a nice cinematic sound presentation, and actually sounds surprisingly like a Stax SR-202/SRM-212 setup while being far less reliant on specialized amplification.
-Read Mad Lust Envy's Gaming Headphone Guide. He's sampled a lot more headphones than I have, most of them within a more reasonable price range, and some of which bassheads would find more appealing. Just keep in mind that he mentions the Astro Mixamp because he's a console-only gamer, and for PC gaming, a sound card will provide more features and better audio quality at less cost. Use the guide for headphone recommendations ONLY when looking for a PC gaming headphone.
Otherwise, please don't come looking to me for headphone and especially amp advice. I can tell you what's in popular use, but refuse to vouch for or against hardware I've never personally tried.
That said, I am approaching this with headphone surround sound in mind, hence the mention of binaural technologies for headphones. However, some of the information within may be useful to those using speaker systems.
Also note that I'm focusing largely on the Win9x-and-later period of PC games, when 3D audio was considered the next big thing and having a sound card to handle it was crucial for any gaming PC. For DOS games that rely heavily on sound card synthesis, you're best off doing research at the VOGONS forum, which specializes in retro PC gaming. There's a few threads there discussing what sound cards are best for DOS games.
The major parts of the guide are now spoiler-tagged so that it's not such a long, wordy post at first glance and it's easy to get to the part you're looking for. (I wish I noticed that forum feature before...)
APIs and middleware found in PC games:
APIs and middleware found in PC games (Click to show)
-DirectSound3D. It gives the sound card driver the 3D coordinates of in-game sounds and lets the sound card handle where and how to play them. Most games made in the timeframe when Windows 98 SE and Windows XP were the mainstream OSes use this API, but it was removed in Windows Vista. Fortunately, there are many workarounds for this, such as Creative ALchemy, GX2.5/Xear3D on C-Media cards, and Realtek 3DSoundBack.
Most games that use DirectSound3D use the Miles Sound System middleware (see below), but not all.
-OpenAL. Functions similarly to DirectSound3D, but is independent of the OS and thus does not need ALchemy or so forth to work (in fact, OpenAL continuing to work is why those programs work in the first place). Some games use OpenAL natively, such as Amnesia: The Dark Descent, Battlefield 2, Battlefield 2142, and anything that uses UnrealEngine2 (UT 2004).
In addition, some OpenAL games (notably Codemasters racing titles) come bundled with Rapture3D, which does surround processing in software, including binaural headphone mixing (more on that in the "Binaural audio technologies" section). There are also payware versions (User and Advanced editions) that can be used with any OpenAL game.
Games that use OpenAL generally have an OpenAL32.dll in their directories (which may interfere with the one in your Windows system directory in rare cases) or similarly-named files.
* Special note for Amnesia: The Dark Descent; you need to do a bit of .ini file editing in order to use non-Generic Software OpenAL devices.
-EAX is an extension to the two aforementioned APIs that allow for in-game reverb, chorus, and occlusion effects. If the sound device doesn't support them, then the effects are lost, resulting in something that sounds far more artificial, but most audio devices that aren't USB audio interfaces support at least EAX 2, being part of DirectSound3D itself. Only Creative hardware does EAX 3/4/5 natively, however; C-Media cards emulate them, to varying degrees of effectiveness.
It's very important to note that any EAX presets in the sound card driver with room names that add tons of reverb to every sound played, in-game or out, are NOT what I am talking about here, and those are best left off. The game will decide what settings to use automatically. For X-Fi users, leave EAX enabled and at 0.0db in Game Mode.
-Aureal A3D. It's the API that preceded DirectSound3D and kickstarted the 3D audio revolution in the first place. It was a big competitor to Creative's DS3D + EAX approach back in the Win98 days and allowed for binaural HRTF mixing over stereo speakers and headphones. Almost every audio device supports A3D 1.0 in the same way they do EAX 1/2, but A3D 2.0 and 3.0 with wavetracing and other added features remain the sole domain of sound cards based on Aureal's Vortex chipsets (see below). However, it's been dead for over a decade, and practically every game that supports A3D also supports DS3D + EAX.
So why does A3D exist alongside DirectSound3D? Long story short, the DirectX 3 implementation of DirectSound3D didn't allow for third-party 3D processing by passing the 3D audio coordinates to the sound device. This was thankfully rectified in DirectX 5 onward, making DS3D work like I mentioned above.
* Okay, only recently did I notice that A3D was more of an API on its own and less of a DirectSound3D extension like EAX. It's easy to confuse the two because most games that support A3D also support DS3D. I really need to familiarize myself more with what A3D actually is and what it can do, but it doesn't help that Aureal used "A3D" to refer to multiple technologies, up to and including a full-blown audio middleware for game engines in the A3D 3.0 days, nor does it help that they were buried a long time ago after Creative bought them out.
-XAudio2 + X3DAudio. It pre-mixes sounds based on the Windows speaker setting before it even hits the sound card driver, and is one of the more common APIs used in newer games. While this does make all sound devices perform on a more even field, being entirely software-driven, it keeps Creative hardware from working at its best.
-FMOD. A very prevalent sound middleware system in modern games, with several major revisions. Older revisions may have allowed an OpenAL passthrough, but the latest iteration (FMOD Ex) does not appear to and instead mixes everything in software like XAudio2, likewise reading the Windows speaker setting to decide how to mix it. I wouldn't be surprised if it actually handled the output with XAudio2.
Games that have FMOD Ex generally have a fmodex.dll in their directories.
-Miles Sound System. Another fairly popular middleware system, but not as common as FMOD in modern games. Mostly used in titles based on Valve's Source engine, but also featured in GTA III/Vice City/San Andreas and a few other games. The version used in Source engine games defaults to software mixing unless you set snd_legacy_surround 1 in the console to enable DirectSound3D mode, but older versions generally have a DirectSound3D passthrough, both with and without EAX and A3D extensions.
Windows games that use MSS generally have a Mss32.dll in their directories.
Binaural audio technologies:
Binaural audio technologies (Click to show)
-CMSS-3D Headphone, only found on Creative X-Fi cards. When faced with a DirectSound3D or OpenAL game, it is aware of the exact position in each sound and presents a true binaural sound with a sense of height and distance, as well as seamlessness when sounds rotate around the listener. With games that use one of the software audio APIs/middlewares, however, it is limited to virtual 7.1 at the most. It's also important to set the Windows speaker setting to 5.1 or 7.1 and the X-Fi control panel to Headphones, as Creative themselves instruct. (Why the drivers don't do this automatically is beyond me.)
Do not confuse it with CMSS-3D Virtual (a similar technology, but for stereo speakers in front of the listener) or CMSS-3D Surround (a stereo upmix feature to make two-channel sources output over the surround speakers).
-Dolby Headphone, found on practically everything else. It is limited to virtual 7.1 in all cases, even DS3D and OAL games that sound binaural with CMSS-3D, but still provides a reasonably good sense of surround sound.
* Because these technologies are based on generic/average HRTFs, which are inherently unique for every listener, your mileage WILL vary. Some prefer one, others prefer the other, and still others don't like either and only play in stereo (left/right panning only).
-Rapture3D. A software OpenAL driver from Blue Ripple Sound, and as such it only works on OpenAL games. It's listed here because it offers binaural mixing regardless of your hardware, with no less than six different HRTFs to choose from! Unfortunately, for Vista/Win7, enabling this option over headphones requires setting Windows' speaker setting to stereo so that Rapture3D's speaker layout control panel can switch to "Headphone Stereo (Compat.)"; otherwise, it just outright refuses to switch. HRTF options can be found under the Decoder tab.
It also supports OpenAL-native EFX effects for reverb/chorus/occlusion/etc., but not EAX.
-MyEars. Claims to be personalized, and being a software solution, it works with any audio device. I haven't tested this yet, but I have my doubts that it can be used with hardware-accelerated EAX since it requires a "virtual audio cable" to be set as the default audio device. There's also the potential issue of the subscription-based business model, needing to pay $20 year after year.
To understand how such technologies work out in practice, download these recorded videos and listen to them. (Thanks, Ilya-s!) While most of it is in Russian, there's enough in English to understand which games were recorded with what hardware and settings; "X-Fi" always uses CMSS-3D Headphone, while "Xonar" is plain stereo and "Xonar DH" uses Dolby Headphone, as you'd expect.
Sound card chipsets:
Sound card chipsets (Click to show)
-Creative X-Fi EMU20k1 (PCI)/EMU20k2 (PCI-Express). Boasts EAX 5 (Game Mode), CMSS-3D Headphone, ASIO (Audio Creation Mode, needed for bit-matched playback), and in some cases, Dolby Digital Live and DTS Connect (either already included or as a purchase from Creative). Unfortunately, there are cards like the XtremeAudio line, the Auzentech X-Fi Bravura, and Audiotrak Prodigy 7.1 that do not have the true X-Fi DSP and replicate all functionality in software; this can be proven by their lack of Game Mode and Audio Creation Mode. Otherwise, most other X-Fi branded products have the DSP, and even a select few motherboards in Gigabyte's G1-series lineup.
-Creative Sound Core3D, used in the Recon3D, the upcoming Z-series cards, and newer Gigabyte G1-series motherboards. They're actually codec-based devices that handle all audio processing in software, just like X-Fi MB-based products, the XtremeAudio cards, etc., and have actually LOST functionality compared to proper X-Fi cards as a whole. I'd suggest steering clear of these, unless you want the Recon3D USB due to its support for consoles with Dolby Digital output while having some PC gaming support.
-C-Media Oxygen HD. Frequently boasts Dolby Headphone, Dolby Digital Live, DTS Connect, and/or ASIO. The entire Asus Xonar line uses them, along with HT Omega and Auzentech (for those that aren't X-Fi products in the latter case). EAX emulation and DirectSound3D-to-OpenAL wrapping is provided by DS3DGX (Xonar), or possibly Xear3D on non-Xonar cards; they may very well be the same thing, just rebranded (like how the CMI8788 Oxygen HD chipset itself is rebranded the Asus AV200). If Xonar users want to try drivers more in line with other C-Media cards, there are modified driver packages available.
-Creative EMU10k1 (Live!) and EMU10k2 (Audigy). Boasts EAX 2 (Live!) or EAX 4 (Audigy) and an earlier form of CMSS that only seems to function like CMSS-3D Surround does now, so it's not of much use to headphone users. Particularly notable in that they can use the third-party kX Project drivers and gain binaural surround if you know how to configure the Surrounder plugin, but they do enforce hardware resampling to 48 KHz whenever the DSP is used. Also, in my experience with a Live! card and kX testing out EAX under RightMark 3DSound's positioning accuracy test, the EAX effects were nonfunctional and not present in spite of the system thinking it could support up to EAX 3.0. Unless you really, really like the kX Project drivers, you're better off with one of the newer cards.
-Aureal Vortex (2). Very noteworthy line of cards from the Win9x era that are the only ones to offer A3D 2.0 and 3.0 support along with limited EAX 1 support, but Creative basically bought Aureal out to bury a competitor. Not recommended for WinXP or later due to their abandonment after said acquisition.
-Realtek codecs. There's bound to be one on your desktop motherboard right now-they're just that prolific. Guaranteed to support EAX 2 and 3DSoundBack for DirectSound3D-to-OpenAL wrapping, but anything beyond that largely depends on your motherboard drivers. Some of these may include the X-Fi MB driver packages, which works a lot like the XtremeAudio cards in that it handles EAX and CMSS-3D Headphone in software and only has Entertainment Mode, along with Creative ALchemy as the DirectSound3D wrapper of choice over 3DSoundBack.
-NVIDIA SoundStorm, generally found on old nForce2-based motherboards from the Athlon XP days. It combines a DSP in the motherboard chipset with a typical motherboard audio codec for analog output (usually a Realtek ALC650) and generally offers 5.1 analog output along with coaxial S/PDIF. The kicker? It processes EAX 1/2 in hardware AND has guaranteed Dolby Digital Live (often renamed Dolby Digital ICE or anything along those lines)! But since NVIDIA discontinued it with nForce3 onward, it's not really relevant these days.
Method for using sound card as DSP to output to any audio device, including USB ones, in Windows 7 (thanks, SniperCzar!):
Method for using sound card as DSP to output to any audio device (Click to show)
Note that this only works in Windows 7. Vista and prior don't have the required feature.
1. Right click on your volume tray in Windows 7 and select "Recording devices"
2. Select "What U Hear" and click "Properties" (cringe inducing grammar there Creative)
[Note - you do NOT have to set this as the default recording device]
3. Select the "Listen" tab and check the box marked "Listen to this device"
4. Under the drop down marked "Playback through this device:" select your desired DAC
5. Make sure "Continue running when on battery power" is selected as a software passthrough should have no effect whatsoever on your battery life
6. Select the "Levels" tab and set it to something comfortable, as the volume control for the Creative card's standard output will have no effect on the volume of the software recording device.
7. Enjoy listening to CMSS-3D, freed from the noisy and inferior hardware confines of your internal soundcard!
Useful software utilities:
Useful software utilities (Click to show)
-RightMark 3DSound. The positioning accuracy test in particular is very useful to check EAX functionality up to 4, as well as the accuracy of positional audio in general, but it does use DirectSound3D and require a wrapper. The CPU utilization test can be used to check DirectSound3D and OpenAL capability flags as well.
Common misconceptions (Click to show)
-Myth: EAX and hardware-accelerated audio are completely dead in Vista onward.
-Fact: This is why ALchemy, GX2.5/Xear3D, 3DSoundBack, etc. exist; to restore games that utilize it via DirectSound3D by wrapping the calls to the still-functional OpenAL API. Note that games that use EAX via OpenAL, such as Battlefield 2, do not need these applications. Even if the game doesn't explicitly mention EAX but uses DirectSound3D, it will still benefit because without them, DirectSound3D games only output in stereo, with no surround support for use with the aforementioned binaural technologies.
-Myth: EAX handles 3D positional audio in old games.
-Fact: As mentioned above, EAX solely adds reverb/chorus/occlusion processing to sound effects. The actual task of positioning sounds in 3D space is left to either the DirectSound3D or OpenAL API, whichever the game uses.
And even though EAX is accessed through those two APIs, don't automatically assume that every game with EAX support is going to have 3D positional audio. I found this out the hard way with Serious Sam: The First Encounter and The Second Encounter (original releases, not the HD remakes), which do support EAX, but have NO support for 3D positional audio whatsoever. It still sounds like software-mixed stereo, just with some added reverb and chorus effects depending on what environment you're in.
-Myth: Sound card DSP effects for gaming do not carry through S/PDIF.
-Fact: They do go through S/PDIF. I've tested it myself with RightMark 3DSound's positional audio test (uses DirectSound3D, so be sure to point ALchemy or other wrappers to the installation directory). This makes the combination of a sound card as a DSP and an external DAC with S/PDIF input a plausible upgrade option, as the sound card's lesser analog circuitry is still bypassed.
However, arbitrary driver decisions may prevent some DSP features from working over S/PDIF anyway, such as Dolby Headphone on Xonar cards. Migi06 has confirmed that Dolby Headphone passes through S/PDIF on Asus Xonar cards.
-Myth: S/PDIF (coaxial/optical digital audio) cannot do surround sound!
-Fact: I believe this misconception also made people believe in the above one about DSP effects not working. The problem is actually that PC games output all their surround channels in uncompressed PCM format (with few exceptions), and S/PDIF only has enough bandwidth for two channels of PCM. To fit more in, you need a codec like Dolby Digital or DTS.
The problem is, most games do not encode Dolby Digital or DTS on-the-fly, so the sound output device needs to support Dolby Digital Live or DTS Connect for it to sound as intended. Once that's done, external A/V receivers and headphone DSPs like the Astro Mixamp, Turtle Beach Ear Force DSS, and JVC/Victor SU-DH1 will actually have some surround information to work with.
That's the end of the guide for now. I'll update it as time goes on and new features and technologies are discovered and deprecated and so forth. I hope it helps people looking for advice on gaming audio, much as the aforementioned Mad Lust Envy thread has.
Also, I would appreciate feedback if you find this guide a bit hard-to-read and can think of ways to make it more understandable for the average person.
I'd also appreciate some more knowledge wherever Aureal A3D is concerned. It's only just now that I'm realizing how mistaken I might have been in a few key areas, like thinking it was a DS3D extension ala EAX instead of being its own API that just happens to be implemented frequently along with DS3D + EAX in most older games.
Edited by NamelessPFG - 2/3/13 at 1:04am