|starking018||Date: Monday, 2021-10-25, 9:53 PM | Message # 1|
|TL;DR: You won't know what you're missing until you try it.|
Probably many of the current FHSW players don't realize this, but Battlefield 1942 (like most games of its day) was originally made with support for some advanced and realistic 3D sound technology which was later neglected and only a few recent games are catching up. And even if you played Battlefield 1942 in its early years maybe you never fully experienced this feature, because you didn't use one of the required sound chips made by just one company, or you didn't use headphones, or it didn't happen to fit well with your individual hearing characteristics. And even if you experienced it back then you probably can't use it anymore, because of lack of proper support for those old sound cards on modern Windows and motherboards.
It potentially gives you excellent sound localization - being able to perceive where a sound is coming from in all 3 dimensions, and not just left/right (what BF1942's poor standard stereo can achieve) or whatever you get with 5 speakers all placed in the horizontal plane. It can give you a freakishly realistic feeling and immersion, and it's all based on some serious psychoacoustic research to try to fully replicate how we hear natural sounds. The main concept used is called HRTF (Head-Related Transfer Function) and back then it was implemented in certain sound chips and accessed through DirectSound3D (part of DirectSound, which is Microsoft proprietary).
There is now a free (as in freedom) alternative which, in my experience, works and sounds close to the original, and it even has advantages, such as being able to customize the specific HRTF table in use to better fit the way you hear, and it doesn't require any special sound card or anything more than headphones to work well (though it also supports many speaker configurations). It is called DSOAL (from "DirectSound to OpenAL") which works together with OpenAL Soft (an alternative and successor to DirectSound/DirectSound3D, and it does all HRTF and other processing in software, on the CPU). I recommend you try it, so here is how:
1. Download this version of DSOAL for use with BF1942 (it's a re-upload of version 1.1 found here because registration is needed for downloading). All other versions which I found would cause BF1942 to fail to launch and I didn't bother trying to find the cause or compile from source, but you are welcome to find or make a better solution for this. Extract only the dsound.dll file from True 3D Sound for Headphones (HRTF mod)-65094-1-1.zip and put it in your Battlefield 1942 folder.
2. Then you'll need some implementation of OpenAL. I recommend you use the latest version of OpenAL Soft. Download the binary form (currently openal-soft-1.21.1-bin.zip) and open it, then go to openal-soft-1.21.1-bin\bin\Win32\, extract soft_oal.dll to your Battlefield 1942 folder and rename it to dsoal-aldrv.dll and finally you'll need a configuration file for OpenAL Soft. Download this alsoft.ini file, which I prepared for and tested with headphones and BF1942, and put it in the same folder.
3. Then I also changed some Windows sound settings, as instructed here (not sure if all changes are really needed). After opening Control Panel, then Sound, then double clicking on the sound device where the headphones are connected and then clicking the Advanced tab, I set 44100Hz (what BF1942 supports) and unticked "Allow applications to take exclusive control of this device", unticked "Enable audio enhancements", and then on the Spatial sound tab selected Off. Note that this affects anything you play through this device, therefore you may want to restore the previous settings later on, or use a separate sound device just for games like BF1942. In particular, there were problems when I didn't set 44100Hz, but some people want better than that for listening to high quality audio content. If you have a better suggestion or info about this, please share.
These are the basic things you need in order to try true 3D sound and get a sense of whether you care about this at all or not. If you are interested, there are a few more things you can improve and personalize, but first test to see if everything done so far works. A good way to test the HRTF function is to connect your headphones and start a local game on a map like Midway. The sound of waves on the beaches is easy to localize. It sounds like it is programmed to always come from the one point of the shoreline which is closest to you. Get close to it and/or increase your volume. When you slowly turn left or right from the sound source you should hear the sound gradually shift and change, giving you an impression of a specific angle it is coming from, rather than being simply "somewhere to the left", "somewhere to the right" or "center" and nothing else. And here's the main advantage versus other alternatives - the actual third dimension - elevation. When you look up or down the sound changes again (the pitch change is the most noticeable). This is how things sound with the default HRTF table, which is built into OpenAL Soft. It is supposed to work just well enough for many individuals. You'll probably get some sense of where sounds come from, but it may not be very accurate or convincing to you.
If you want to restore sound as it was, just delete or rename dsound.dll in the Battlefield 1942 folder and revert the settings from step 3 to the way they were before. If you want to improve the sound further, read on.
Personalization and other tweaks (optional, but recommended):
I didn't say much about speakers simply because I don't have good ones, but OpenAL Soft has many features for speakers. It supports much more speaker setups than what DirectSound3D supports, so this is one more thing it is useful for. Standard speaker setups should be able to provide better spatial perception for the horizontal dimensions, compared to headphones, if no HRTF is involved, but things are different with HRTF. OpenAL Soft also mentions that you can provide a HRTF table made specifically for a particular speaker setup, but you'd have to figure out how to make that work, because most info I read is only about headphones. Speakers are more complicated. Another thing which may help get a better perception of the vertical dimension is to try a speaker setup where some of the speakers are positioned above and below (you need at least 4 speakers total AFAIK). I'd be curious to hear how this compares to headphones.
Let me know what you think about this, any difficulties or problems you encounter, or any suggestions, additional information, test results or different configuration files you have (e.g. for speakers). I consider 3D sound such an important feature that we should try to make it easy for everyone to install as a separate mod, or as a part of an all-in-one release, or as a part of FHSW itself.
Air Troll a.k.a. starking018