Gaming PC 3

How to Enable 3D Audio in DirectSound3D and OpenAL Games Without a Sound Card

For a long time, the only way to enable EAX (Creative’s Environmental Audio eXtensions), 3D positional sound, and often even surround sound in DirectSound3D games in Windows Vista and beyond, was to use a Creative sound card with their ALchemy software. But the sound cards required for fully enabling all effects, their X-Fi lineup, have been discontinued for over a decade, hence why people like me bought them on ebay.

During this time, some people have attempted to get around this, but only somewhat recently has there been a really worthwhile solution. We’re going to go over this and how to use it, and also cover OpenAL games and how to possibly improve their 3D sound as well. We’ve written about this subject before, but things have changed since then, so it’s time for an update.

Thanks to this method, I have been able to omit my Sound Blaster X-Fi Titanium HD from my PC finally!

DirectSound3D Games

DirectSound3D, as the name implies, was introduced with DirectX 3 in 1996 in order to standardize 3D sound in games. This was prevalent in PC games throughout the late 90s and 2000s Windows XP era, and it was glorious for those who had sound cards, particularly those from Creative or Auzentech.

Then came Windows Vista, everyone’s favorite operating system, which totally broke DirectSound3D, forever leaving it in the past. Creative became the only ones to bring it back from the dead by creating the ALchemy software which converts DirectSound3D games to OpenAL and brings back all the lost effects, albeit with a few games having some bugs in the process.

For lists of games that use DirectSound3D, refer to these resources:

This solution still works if you have a Creative sound card, but nowadays it’s usually unnecessary thanks to the creation of DSOAL which is a wrapper for DirectSound3D games, converting them to OpenAL and using OpenAL Soft. It restores all DirectSound3D effects in those games without the need for proprietary hardware (sound cards). OpenAL Soft has been around forever, but for a long time was thoroughly outclassed by hardware acceleration via an actual X-Fi sound card and ALchemy, but this is no longer the case.

So if you’re playing a DirectSound3D game and want to get the most out of its sound, follow the procedure below:

  1. Make sure OpenAL is installed on your computer. If not, download the Windows installer from here.
  2. Download the latest release of OpenAL Soft
  3. Copy OpenAL Soft’s soft_oal.dll file in bin\win32 into C:\Windows\SysWOW64
  4. Copy OpenAL Soft’s soft_oal.dll file in bin\win64 into C:\Windows\System32
  5. Download DSOAL and update its OpenAL Soft using the latest Windows binaries you downloaded in step #2. This is accomplished by making a copy of soft_oal.dll from the OpenAL Soft downloads under bin\Win32, renaming it to dsoal-aldrv.dll, and replacing DSOAL’s dsoal-aldrv.dll file with this renamed OpenAL Soft file.
  6. Read the instructions provided with DSOAL
  7. Copy dsound.dll, dsoal-aldrv.dll, and alsoft.ini into the directory where the game executable file is located, for every DirectSound3D game
  8. If the game in question is 64-bit (don’t think there are any besides 64-bit S.T.A.L.K.E.R. mods and Unreal Tournament 2004) then you’ll have to overwrite dsoal-aldrv.dll from the step above with bin\win64\soft_oal.dll (renaming this to dsoal-aldrv.dll and overwriting) from the OpenAL Soft downloaded in step #2
  9. For surround sound users, extract the OpenAL folder from HARD_MODE_INSTALLATION.zip to %APPDATA% (which should be C:\Users\YourUserName\AppData\Roaming)
  10. For surround sound users, add the following lines to the bottom of alsoft.ini for every game:

    [decoder]
    quad=C:/Users/YourUserName/AppData/Roaming/OpenAL/presets/square.ambdec
    surround51=C:/Users/YourUserName/AppData/Roaming/OpenAL/presets/itu5.1.ambdec
    surround71=C:/Users/YourUserName/AppData/Roaming/OpenAL/presets/hexagon.ambdec
    hq-mode=true

It may also be necessary to make the registry edits described here.

Now you should be able to enable things like EAX in-game and it should work. Positional sound should be noticeably better. If you can’t enable it, then you may have to copy DSOAL’s dsound.dll file to C:\Windows\SysWOW64.

Note: The default surround presets are all incompatible with speakers that have integrated powered subwoofers. They expect a dedicated subwoofer. If you don’t have one and want to send the full range audio spectrum to your speakers, you must make the following edits:

  1. Navigate to %APPDATA%\OpenAL\presets
  2. Edit the preset you’re using (defined in alsoft.ini) with a text editor, which is likely itu5.1.ambdec if using a 5 channel setup or 3D7.1.ambdec if using 7 channels
  3. Set /opt/xover_freq to 0
  4. Set /opt/xover_ratio to 0

Now these presets will work with full range speakers. I’ve uploaded my presets here for those who are too lazy to edit them.

As for the caveats of DSOAL, well you can always take a look at the Issues page on Github for both OpenAL Soft and DSOAL and you’ll see some reports for some games. It doesn’t work in some games, at least in some OS versions – right now in Windows 10 20H2, the only way for me to get surround sound in Quake IV is by using my actual sound card. Nothing is perfect, I still like having my X-Fi Titanium HD as a backup since OpenAL Soft doesn’t work with some games that use customized OpenAL implementations (e.g. Unreal, System Shock 2, some S.T.A.L.K.E.R. modifications, don’t think I’ve seen anything else yet however). Therefore I still need the sound card.

Also note that DSOAL and Creative ALchemy don’t like to coexist. ALchemy detects “dsound.dll” in any game’s folder and will take control of it if using your sound card as the output device.

OpenAL Games

The process for enabling 3D HRTF in OpenAL games is similar:

  1. Make sure OpenAL is installed on your computer. If not, download the Windows installer from here.
  2. Download the latest release of OpenAL Soft
  3. Copy OpenAL Soft’s soft_oal.dll file in bin\win32 into C:\Windows\SysWOW64
  4. Copy OpenAL Soft’s soft_oal.dll file in bin\win64 into C:\Windows\System32
  5. Now check to see if the game lets you select “OpenAL Soft” as the sound device. If not, it may require copying soft_oal.dll into the game folder where the executable file is, and then renaming it to OpenAL32.dll, but if the game already has an OpenAL32.dll file then back it up since this doesn’t work for every game. I have to do this with most games since they seem to be unable to find OpenAL Soft on their own.
  6. For surround sound users, copy OpenAL Soft’s presets folder to %APPDATA%\OpenAL (which should be C:\Users\YourUserName\AppData\Roaming\OpenAL). If the OpenAL folder doesn’t exist here, then create it.
  7. For surround sound users, create an alsoft.ini file or just use the one from DSOAL and then add the following lines to the bottom of it for every game (place the file in the folder where the game executable file is):

    [decoder]
    quad=C:/Users/YourUserName/AppData/Roaming/OpenAL/presets/square.ambdec
    surround51=C:/Users/YourUserName/AppData/Roaming/OpenAL/presets/itu5.1.ambdec
    surround71=C:/Users/YourUserName/AppData/Roaming/OpenAL/presets/hexagon.ambdec
    hq-mode=true

Note the necessary preset edits mentioned above under DSOAL for those using full range speakers, they’ll apply here too.

So there are the procedures. These open source, free methods are excellent alternatives than paying money for a discontinued sound card or paying money for Rapture3D which has since been left in the dust by OpenAL Soft.

Thanks for reading! How did you like this post?

1 Star2 Stars3 Stars4 Stars5 Stars (8 votes, average: 5.00 out of 5)

Loading...

You Might Also Like

Subscribe
Notify of
guest

3 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments
Sean

You can also get a simple tool that removes the artifical restriction Creative puts on ALchemy to only work when a Creative sound card is installed. This restriction is in place only because Creative wants to use it as a selling point to buy one of their sound cards. ALchemy dose all of the DirectSound 3D to OpenAL and actual EAX processing in software on the CPU unless you have a X-Fi based card or older. Every card after the X-Fi series dose not support hardware processing of EAX. Just google “Creative Alchemy PCGamingWiki” and the first link which will… Read more »

gp4wonder

The issue with my previous post is that EAX is enabled in the game, and works just great when doing a single player session. the game has a lan multiplayer run from the same .exe file, EAX does not work when setting up lan. i suspect something in the exe is stopping it from working

3
0
Would love your thoughts, please comment.x
()
x