4. The process of personalizing the 3D sound to your own hearing is somewhat tedious, but when I completed it the improvement was great. Put your headphones on and open
this 23 minute video. It helps to listen to it loud (but not so loud that you hurt yourself or that the sound gets distorted). It plays a test sound source which moves in a circle horizontally around your ears, using each of a number of HRTF tables. The most important thing I had to listen for was the front center position - it really needs to sound like the sound is coming from directly in front, where the eyes normally look at, and not too high above nor low below the horizon nor anything else. Write down the name(s) of the HRTF table(s) which produce the most accurate and realistic sound (the most like a horizontal circle) for you. At this point you'll have probably found the one which works right for you, at least for the horizontal dimensions. Unfortunately this video doesn't include a vertical test pattern so that you can hear how well the HRTF tables reproduce elevation for you, so you may want to test this aspect of a couple of HRTF tables in BF1942 as I described earlier, looking up and down from an appropriate sound source, like beach waves.
Now if you want to hear the KEMAR HRTF table in BF1942 you don't need to change anything - it's built into OpenAL Soft and it's the default one. If you want to hear
CIAIR you can find it here. If you want to hear some
IRC table(s) you can find them here. Download the desired file(s) with
44100 in the name and put them in your
Battlefield 1942 folder.
To configure OpenAL Soft to use the HRTF table you want you can copy its filename, excluding the ".mhr" in the end. Then open
alsoft.ini in Notepad (or similar) and add a line like this to the end of the file, replacing "ircXX-44100" with the name you copied:
default-hrtf=ircXX-44100Save the file and the next time you launch the game the new HRTF table should be in effect (assuming the line is spelled exactly right).
5. Once you have working 3D audio in BF1942 it is a good idea to change some sound settings for the game for better quality. I suggest first making a backup of your whole
Battlefield 1942\Mods\bf1942\Settings folder. Then go to this folder:
Battlefield 1942\Mods\bf1942\Settings\Profiles\Custom (instead of
Custom it could be the name of the profile you use) and open
Sound.con with Notepad. Here are the lines I suggest changing:
game.setChannels 64Change this value from
64 to
256 to match the number of simultaneous sounds OpenAL Soft is configured to render.
game.setHardware 0This is "Hardware acceleration" in the menu and refers to the sound chips supporting DirectSound3D. DSOAL too lets you enable this, and so I did (changed from
0 to
1), but I'm not sure if it is doing anything, because the HRTF is functioning even if this is disabled. Note that if you ever disable DSOAL to go back to standard non-3D audio you'll also have to restore this to
0, or else BF1942 will fail to launch.
Sound.setRolloffFactor 1This affects how sounds attenuate with distance. If you reduce it you will be able to hear many sounds from further away, which can be advantageous and more realistic, but it can also be too noisy and overwhelming. Try changing the value from
1 to
0.6 as a good trade-off. Note that the game restores the default value if you save your sound settings in the menu, and in other unknown cases, therefore I recommend making the file read-only after changing this value. Also you shouldn't save sound settings from the menu after this, or else BF1942 will save and use a new
Sound.con file in a new folder like:
Documents\Battlefield 1942\mods\BF1942\Settings\Profiles\Custom. You can edit this one and make it read-only too and then the setting will stick.
Finally you can download
this Default.con and overwrite the one in
Battlefield 1942\Mods\bf1942\Settings. It changes
Sound.setHardwareVoiceLimit from
32 to
256 to match what OpenAL Soft is configured to. It also adds
Sound.updateFrequency 120 which makes the game update the way things sound more often. This matters more with 3D sound, since every little movement and rotation relative to sound sources can change how they sound, therefore with more updates these movements should sound more gradual and with less latency. It seems that there is actually a maximum of about 60 for the update frequency and higher values seem to sound the same.
Some of these settings also have effect for the standard non-3D audio, but it doesn't make as much sense to tweak them when all sound sources sound the same way and you don't get much useful information out of them anyway.