Gaming PC

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.

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 version of DSOAL. Read the fine print; make sure it says it’s using the latest version of OpenAL Soft. So far it has been kept up to date thankfully.
  3. Read the instructions provided with DSOAL
  4. Copy dsound.dll, dsoal-aldrv.dll, and alsoft.ini into the directory where the game executable file is located, for every DirectSound3D game
  5. If the game in question is 64-bit (HIGHLY unlikely, so far I have yet to find a 64-bit DirectSound3D game) then you’ll have to download the latest OpenAL Soft release and overwrite dsoal-aldrv.dll from the step above with bin\win64\soft_oal.dll (renaming this to dsoal-aldrv.dll and overwriting)
  6. For surround sound users, extract the OpenAL folder from HARD_MODE_INSTALLATION.zip to %APPDATA% (which should be C:\Users\YourUserName\AppData\Roaming)
  7. 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

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. 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 for Unreal and System Shock 2 in particular.

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.

One noteworthy game incompatibility is F.E.A.R. and its expansions F.E.A.R. Extraction Point, and F.E.A.R. Perseus Mandate. Windows 10 1903 broke the game’s sound, not even ALchemy works in it, and this is still an issue in 1909. It is likely a permanent issue. They make the game unplayable as many sounds fail to load when using either method. So for this game, the only option is to use IndirectSound. This is not nearly as good as DSOAL for any other game but it’s necessary here. It does give you surround sound, but it doesn’t enable most EAX effects, only some of the EAX 2 effects. To install IndirectSound, copy its dsound.dll and dsound.ini folders into the FEAR Ultimate Shooter Edition folder, FEARXP folder, and FEARXP2 folder..

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 (5 votes, average: 5.00 out of 5)

Loading...

You Might Also Like

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x