How to enable 3D sound in games in Windows 7/8/10

How to enable 3D sound in games in Windows 7/8/10
Almost everyone knows that with the release of Windows Vista back in 2007, and after it and in all subsequent versions of Windows, the DirectSound3D sound API was removed from Windows, instead of DirectSound and DirectSound3D, the new XAudio2 and X3DAudio APIs began to be used. As a result, EAX sound effects (environmental sound effects) became unavailable in older games. In this article I will tell you how to return the same DirectSound3D / EAX to all old games that support these technologies when playing on Windows 7/8/10. Of course, experienced gamers know all this, but perhaps the article will be useful to someone.

Old games have not gone to the dustbin of history, on the contrary, they are in great demand, both among older and younger users. Old games look better on modern high-resolution monitors, for many games there are mods that improve textures and shaders, but at first there was no luck with the sound. With the release of the next generation of Windows Vista, following Windows XP, Microsoft developers considered that DirectSound3D was obsolete - it had a limitation of 6-channel sound, did not support sound compression, was processor dependent and therefore it was replaced by XAudio2 / X3DAudio. And since Creative's EAX technology was not an independent API, as A3D from Aureal used to be, but just an extension of DirectSound3D, Creative's sound cards were left out. If you do not use special software wrappers, then playing on Windows 7/8/10 in old games, menu items that include EAX will not be active. And without EAX, the sound in games will not be so juicy, voluminous, positioned.

To solve this problem, Creative has developed the ALchemy wrapper program, which redirects DirectSound3D and EAX calls to the OpenAL cross-platform API. But this program officially works with Creative sound cards, and even then not quite models. For example, a modern Audigy Rx card with a hardware DSP CA10300 officially does not work. For owners of other sound cards, such as the built-in Realtek, you also need to use the Creative Sound Blaster X-Fi MB driver software, which costs money. You can also try the native 3DSoundBack program, but it was not finished by Realtek - it stopped at the beta version stage, it does not work well and not with all chips. But there is a better way, it's easier to use and it's free.

The first method

I'll start with ASUS sound cards. ASUS DGX/DSX/DX/D1/Phoebus sound cards are based on C-Media chips, and even ASUS AV66/AV100/AV200 chips are the same relabeled C-Media chips. The specifications of these sound cards say that they support EAX 1/2/5. All these chips inherited from their predecessor CMI8738 DSP-block software-hardware EAX 1/2, EAX 5 is already software.

Owners of Xonar series cards are very lucky, everyone has seen the GX button on the driver panel, but perhaps not everyone knows what it does. I'll show you on the screenshots from the AIDA64 program, this is how the DirectX sound tab looks like when the button is not active and for owners of the built-in Realtek sound cards in Windows 7/8/10:

How to enable 3D sound in games in Windows 7/8/10
All sound buffers are zero, all APIs are inactive. But immediately after turning on the GX button, we see

How to enable 3D sound in games in Windows 7/8/10
Those. very convenient - no need to run additional programs like Creative ALchemy and copy the dsound.dll file to each folder with the game. So the big question arises, why didn't Creative do this in their drivers? Moreover, in all new Sound Blaster Z/Zx/AE models, it does not use a hardware DSP processor to process EAX, but does it programmatically through a driver using simplified algorithms. Some people think that software sound processing is enough, because modern CPUs are much more powerful than 10-year-old sound card processors that processed sound in hardware. It's not like that at all. The CPU is optimized to process x86 commands, and the DSP processes the sound of the CPU much faster, as well as the video card performs rasterization faster than the CPU. The central processor is enough for simple algorithms, but high-quality reverb with many sound sources will take up too many resources of even a powerful CPU, which will affect the FPS drop in games. This has already been recognized by Microsoft and has already brought DSP sound processing back into Windows 8, as well as by Sony, which has added a separate 5D sound processing chip to its PS3.

second method

This option is suitable for users of the built-in sound card in the motherboard, which is the majority. There is such a project DSOAL - this is a software emulation of DirectSound3D and EAX using OpenAL (OpenAL must be installed on the system) that does not require hardware acceleration. If your sound chip has some hardware features for sound processing, then they will be used automatically. The program works so well that through it EAX earned me on all the old games where there is a check mark EAX in the settings. This is what the AIDA64 window looks like if you copy the DSOAL files to the program folder:

How to enable 3D sound in games in Windows 7/8/10

If this did not happen and you have a picture, as in the very first screenshot, then native Windows dsound.dll does not allow to intercept the API, as it was in my case. Then this method will help - you will need to boot from some Windows Live-CD image and delete the file dsound.dll not without the help of the Unlocker utility (after making a copy in case of a rollback) from the directory C:WindowsSysWOW64 and write instead the very dsoal-aldrv.dll ΠΈ dsound.dll. I did this for me, both Windows itself and all games worked without failures and it’s even more convenient - you don’t need to copy these files to the folders with games every time, in extreme cases, you can return your native dsound.dll in place. True, this method is suitable if you do not use other ASUS or Creative sound cards, because in this case DirectSound3D will always work for you only through DSOAL, and not through the native driver or ALchemy.

You can listen to DSOAL in this video:

β†’ Download ready-made library of the latest version can be found here

Comparing how EAX sounds on different sound cards, I was surprised to find that EAX sounds better on the built-in Realtek than on Asus or on my Audigy Rx. If you read the datasheets, almost all Realtek chips support DirectSound3D/EAX 1&2. By running AIDA64 from under Windows XP, you can see:

How to enable 3D sound in games in Windows 7/8/10
It turns out that Realtech, unlike ASUS and Creative sound cards, supports some other I3DL2 (not every Realtech datasheet says this). I3DL2 (Interactive 3D Audio Level 2) is an open industry standard for working with 3D interactive audio, it is an extension for DirectSound3D to work with reverb and occlusion. In principle, an analogue of EAX, but it sounds more pleasant - more pleasant reverberation in step games when a character runs through a cave or castle, more realistic sounding of surround sound in rooms. So if the old game runs on Windows XP, then I play only on XP, in case the sound engine can use I3DL2. Although DSOAL is an open project and anyone can improve it, it will never be able to use I3DL2, because. OpenAL does not work with I3DL2, only EAX 1-5. But there is good news - starting with Windows 8, I3DL2 is included in XAudio 2.7 library. So the sound in new games under Windows 10 will be better than under Windows 7.

And finally, I want to remind you that all these 3D sound technologies were developed for headphones, you will practically not hear 2D sound on 3 speakers. To enjoy detailed sound level headphones SVEN AP860 do not fit, from inexpensive headphones you need to start with Axelvox HD 241 - there will be a difference with SVEN AP860like heaven and earth. Here's how to orient yourself.

How to enable 3D sound in games in Windows 7/8/10

How to enable 3D sound in games in Windows 7/8/10

Source: habr.com

Add a comment