6633d34365976

6633d34365fde
1 Guest is here.
 

Topic: SS2 Headphones Sound Upgrade Read 33575 times  

6633d3436764b
Any good horror game is arguably best played in a dark room with headphones on for maximum immersion and System Shock 2 is no exception. With the NewDark patch, it is possible to use a custom sound library which greatly enhances 3D perception on such a setup using Head Related Transfer Functions (HRTF). The library is called OpenAL Soft and it works for all games which can make use of OpenAL, including Thief 1 and 2 and SS2 (since NewDark). Watch the following video for a demonstration:
https://www.youtube.com/watch?v=Yre75KH_Wgw

I will assume that SS2 has already been properly installed and patched with the SS2Tool. Also, disable any custom "3D-stereo" solutions such as Dolby Virtual Surround or CMSS-3D as well as any other globally applied crystalizers or equalisers. Likewise, you won't need any old emulation software like Alchemy or anything similar.

Looking for surround sound support instead? Try this.




Quick Guide (System Shock 2, Thief 1+2)
  • Download the OpenAL Soft Windows binaries: Download link.
    Copy the DLL from bin\Win32\ to your game's main folder.
  • Download the alsoft.ini file from the end of this post and copy it to your game's main folder.
  • Open cam_ext.cfg with a text editor and put the following line at its end: 
    snd_oal_device OpenAL Soft
  • Consider setting your Windows sound output to 44.2 kHz, which is a perfect match for these games' 22.1 kHz output.
You can play the game now. Make sure that hardware acceleration is set to "OpenAl" and that EAX is enabled in the options menu (default case).



General Guide/Global installation (all OpenAL capable games)
  • Download the OpenAL Soft Windows binaries: Download link.
  • Unpack the ZIP-archive, rename the folder to "openal" and copy it to %APPDATA%. You should now have a folder like "C:\Users\your_user_name\AppData\Roaming\openal\bin" and others on your hard drive (Windows Vista and newer). The exact folder setup might be different depending on your operating system.
  • Download the alsoft.ini file from the end of this post and copy it to %APDDATA% (meaning, one folder above the "openal" folder)
  • On a 64-bit machine, copy the DLL from \openal\bin\Win32 to Windows\SysWOW64 and the one from \openal\bin\Win64 to Windows\system32.
    On a 32-bit machine, only copy the DLL from \openal\bin\Win32 to Windows\system32.
    YES, those are the correct folders, ask the internet.
  • Some games like SS2 will let you choose between a generic software mode, OpenAL Soft, or other libraries. If not, they sometimes provide their own OpenAL implementation via a OpenAL32.dll file either in their main folder or their app folder which could be more or less anywhere (Steam folder, AppData, Documents, ...). You'll have to search for it and replace it with the appropriate soft_oal.dll (choose correct soft_oal.dll, rename to OpenAL32.dll and replace).
    You can do the same to the Windows DLLs to eliminate OpenAL from the system entirely, but be aware of the potential danger.
  • Open the config tool in openal\alsoft-config. You can define different HRTF tables here but also alter all options not related to headphones since OpenAL Soft supports any kind of speaker system.
  • Incorporating EAX2.0+, or even other sound libraries via OpenAL Soft is possible, but more involved. Refer to this post to get started.
You're done, enjoy the experience!



Troubleshooting
If there is a serious problem like missing sounds or sound not working at all, you've either done something completely wrong (congratulations) or found a bug. The latter can be discussed on GitHub and via the project's mailing list.

If you think something sounds odd or is not working, download the .bat file at the end of the post, open it with a text editor and change the game executable's name to whatever is correct in your case. Copy it to where the game executable resides and start the BAT. Close the game again and post the contents of the soft_oal.log (again, same game folder) here.
Alternatively, watch this demonstration to see - or hear - how everything is supposed to sound in the game.

Other issues:
  • The reverb in my game is way too loud.
    Open the alsoft.ini file and uncomment the line starting with #boost. Choose a value that best suits your needs, default is -12.



Use custom HRTF table
OpenAL Soft allows to create and use additional HRTF tables suited to different head geometries and listening sensibilities, with  KEMAR (MIT) being the built-in default. This video provides a complete listening experience for all freely available HRTF tables and makes it easy to choose the best one for your personal taste. I highly recommend giving it a try to get the best possible experience!
To install:

  • Download hrtf_tables.zip from the end of this post and extract it.
  • Copy both of the *.mhr files for the HRTF table you picked to openal\hrtf.
  • Add the line default-hrtf=<TABLE_NAME> to your alsoft.ini, where <TABLE_NAME> is the name of the file matching your current Windows system loudspeaker frequency. E.g. for 48 kHz, use irc_1031_48000.mhr, then add default-hrtf=irc_1031_48000 (note the missing extension!) under the [general] tab.



Acknowledgments
OpenAL Soft is a fork of Creative's OpenAL library which adds a host of new features such as EFX (effects library superseding EAX) and the aforementioned HRTF. It supports every relevant speaker format (Mono up to 7.1 surround) out-of-the-box and operates on Windows and Unix-based operating systems. The fork is essentially maintained by one guy who unfortunately can only be spammed via email and does not have a donate button on his website. In any case: All thanks go to Chris Robinson!
« Last Edit: 23. December 2023, 16:38:35 by Marvin »
Acknowledged by: Colonel SFF
6633d343678a1
this sounds actually very cool, did anybody ever try this? Is it worth the hassle?
6633d34367aa3
Well, I did and I'd say yes. :p

You can look up Hira's YT channel, that user created some demo videos of games which play well with HRTF, including Thief:
https://www.youtube.com/playlist?list=PL_0EBFw_May-IAaplRFVS5n2-9p3pPR_4
Please remember that those videos only really work on headphones.

As for the "hassle" part: You have to download and copy one folder, one file, and edit another one to get it to work in NewDark. That's not much. I'd love more people to try it out and give their thoughts on it. Maybe then, someday, the whole process could be integrated into TFix, SS2Tool and Tafferpatcher to make better sound available to even the most novice of users. There's no reason not to - OpenAL Soft does everything OpenAL can, and better - but without enough people noticing a benefit, there's no point bothering Kolya or voodoo about it.
« Last Edit: 29. April 2016, 12:44:56 by Marvin »
6633d34367c22
I'd like to offer a headphone sound option, but generally SS2Tool doesn't screw around anywhere but in your game folder and I think that's a keeper.
6633d34367d1d
It might be possible that the .ini file could also be read from a different folder but I couldn't get it to work the last time. I'll try again some time, might even ask the creator about it.

6633d34367dceSystem Shocked

6633d34367e1e
Just installed and it provides noticeable improvements. Now installing for all affected games on my system.

Many thanks Marvin, this IS a keeper.  :thumb:  :thumb:  :thumb:
6633d34367f5b
How can I test if it works? I did all the steps except setting the sampling rate to 44100 as I'm on wine(skin) and don't know how to do it there. But Sound and Music works. I'm just not sure if I hear a difference ...
6633d343680ec
Use the oalsoft_logging.bat file as suggested in the troubleshooting section and post the contents of the oalsoft_logging.txt. There should be several lines referring to HRTF being enabled.
In-game, you could position yourself close to a looping sound source (e.g. computer console with keyboard), turn around and crouch/stand up again. The latter move especially should result in a noticeable difference with HRTF enabled.

In my opinion the difference is very obvious, so I guess something went wrong for you. Might be Wine/Linux, might be a config error. Just post the log.
« Last Edit: 02. May 2016, 08:00:33 by Marvin »
6633d34368425
Code: [Select]
AL lib: (II) alc_initconfig: Supported backends: mmdevapi, dsound, winmm, null, wave
AL lib: (II) ReadALConfig: Loading config C:\users\rc\Application Data\alsoft.ini...
AL lib: (II) GetConfigValue: Key disable-cpu-exts not found
AL lib: (II) FillCPUCaps: Detected max CPUID function: 0xd (ext. 0x80000008)
AL lib: (II) FillCPUCaps: Vendor ID: ""
AL lib: (II) FillCPUCaps: Name: "Intel(R) Core(TM) i7-4650U CPU @ 1.70GHz"
AL lib: (II) FillCPUCaps: Extensions: +SSE +SSE2 +SSE3 +SSE4.1
AL lib: (II) GetConfigValue: Key rt-prio not found
AL lib: (II) GetConfigValue: Key resampler not found
AL lib: (II) GetConfigValue: Key trap-al-error not found
AL lib: (II) GetConfigValue: Key trap-alc-error not found
AL lib: (II) GetConfigValue: Key reverb/boost not found
AL lib: (II) GetConfigValue: Key reverb/emulate-eax not found
AL lib: (II) GetConfigValue: Key drivers not found
AL lib: (II) ALCmmdevProxy_messageHandler: Starting message thread
AL lib: (II) ALCmmdevProxy_messageHandler: Message thread initialization complete
AL lib: (II) ALCmmdevProxy_messageHandler: Starting message loop
AL lib: (II) alc_initconfig: Initialized backend "mmdevapi"
AL lib: (II) alc_initconfig: Added "mmdevapi" for playback
AL lib: (II) alc_initconfig: Initialized backend "dsound"
AL lib: (II) alc_initconfig: Added "dsound" for capture
AL lib: (II) GetConfigValue: Key excludefx not found
AL lib: (II) GetConfigValue: Key default-reverb not found
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1029 (lparam=00000000, wparam=0033ED50)
AL lib: (II) add_device: Got device "OpenAL Soft on Ausgang (integriert)", "{0.0.0.00000000}.{C12C0414-C2D1-4E2C-8A9F-EF241B0481F1}"
AL lib: (II) add_device: Got device "OpenAL Soft on Instant On Sound Effects", "{0.0.0.00000000}.{388F8266-6D4B-4F0C-8B3A-51877C99A5BB}"
AL lib: (II) DSoundEnumDevices: Got device "OpenAL Soft on Mikrofon (integriert)", GUID "{5AB0FD2F-2A35-4B21-9F08-C0475C7F14AD}"
AL lib: (II) GetConfigValue: Key channels not found
AL lib: (II) GetConfigValue: Key sample-type not found
AL lib: (II) GetConfigValue: Key frequency not found
AL lib: (II) GetConfigValue: Key periods not found
AL lib: (II) GetConfigValue: Key period_size not found
AL lib: (II) GetConfigValue: Key sources not found
AL lib: (II) GetConfigValue: Key slots not found
AL lib: (II) GetConfigValue: Key sends not found
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1024 (lparam=05251190, wparam=0033F44C)
AL lib: (II) alcOpenDevice: Created device 05242510, "OpenAL Soft on Ausgang (integriert)"
AL lib: (II) GetConfigValue: Key frequency not found
AL lib: (II) GetConfigValue: Key sends not found
AL lib: (II) GetConfigValue: Key hrtf not found
AL lib: (II) UpdateDeviceParams: Pre-reset: Stereo, Float, *22050hz, 512 update size x4
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1025 (lparam=05251190, wparam=0033F3BC)
AL lib: (II) UpdateDeviceParams: Post-reset: Stereo, Float, 22050hz, 442 update size x4
AL lib: (WW) UpdateDeviceParams: SSE performs best with multiple of 4 update sizes (442)
AL lib: (II) GetConfigValue: Key stereo-mode not found
AL lib: (II) GetConfigValue: Key hrtf-mode not found
AL lib: (II) UpdateDeviceParams: HRTF disabled
AL lib: (II) GetConfigValue: Key cf_level not found
AL lib: (II) UpdateDeviceParams: BS2B disabled
AL lib: (II) GetConfigValue: Key layouts/stereo/type not found
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1026 (lparam=05251190, wparam=0033F3BC)
AL lib: (II) alcCreateContext: Created context 05255270
AL lib: (II) AllocLines: New reverb buffer length: 63680 samples (2.887981 sec)
AL lib: (II) FreeContext: 05255270
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1027 (lparam=05251190, wparam=0033FB40)
AL lib: (II) FreeDevice: 05242510
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1028 (lparam=05251190, wparam=0033FB18)
AL lib: (II) GetConfigValue: Key channels not found
AL lib: (II) GetConfigValue: Key sample-type not found
AL lib: (II) GetConfigValue: Key frequency not found
AL lib: (II) GetConfigValue: Key periods not found
AL lib: (II) GetConfigValue: Key period_size not found
AL lib: (II) GetConfigValue: Key sources not found
AL lib: (II) GetConfigValue: Key slots not found
AL lib: (II) GetConfigValue: Key sends not found
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1024 (lparam=05264A70, wparam=0033F34C)
AL lib: (II) alcOpenDevice: Created device 05265020, "OpenAL Soft on Ausgang (integriert)"
AL lib: (II) GetConfigValue: Key frequency not found
AL lib: (II) GetConfigValue: Key sends not found
AL lib: (II) GetConfigValue: Key hrtf not found
AL lib: (II) UpdateDeviceParams: Pre-reset: Stereo, Float, *22050hz, 512 update size x4
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1025 (lparam=05264A70, wparam=0033F2BC)
AL lib: (II) UpdateDeviceParams: Post-reset: Stereo, Float, 22050hz, 442 update size x4
AL lib: (WW) UpdateDeviceParams: SSE performs best with multiple of 4 update sizes (442)
AL lib: (II) GetConfigValue: Key stereo-mode not found
AL lib: (II) GetConfigValue: Key hrtf-mode not found
AL lib: (II) UpdateDeviceParams: HRTF disabled
AL lib: (II) GetConfigValue: Key cf_level not found
AL lib: (II) UpdateDeviceParams: BS2B disabled
AL lib: (II) GetConfigValue: Key layouts/stereo/type not found
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1026 (lparam=05264A70, wparam=0033F2BC)
AL lib: (II) alcCreateContext: Created context 05277CA0
AL lib: (II) AllocLines: New reverb buffer length: 63680 samples (2.887981 sec)
AL lib: (II) FreeContext: 05277CA0
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1027 (lparam=05264A70, wparam=0033FA64)
AL lib: (II) FreeDevice: 05265020
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1028 (lparam=05264A70, wparam=0033FA3C)
AL lib: (II) GetConfigValue: Key channels not found
AL lib: (II) GetConfigValue: Key sample-type not found
AL lib: (II) GetConfigValue: Key frequency not found
AL lib: (II) GetConfigValue: Key periods not found
AL lib: (II) GetConfigValue: Key period_size not found
AL lib: (II) GetConfigValue: Key sources not found
AL lib: (II) GetConfigValue: Key slots not found
AL lib: (II) GetConfigValue: Key sends not found
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1024 (lparam=05242540, wparam=0033F524)
AL lib: (II) alcOpenDevice: Created device 05265020, "OpenAL Soft on Ausgang (integriert)"
AL lib: (II) GetConfigValue: Key frequency not found
AL lib: (II) GetConfigValue: Key sends not found
AL lib: (II) GetConfigValue: Key hrtf not found
AL lib: (II) UpdateDeviceParams: Pre-reset: Stereo, Float, *22050hz, 512 update size x4
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1025 (lparam=05242540, wparam=0033F494)
AL lib: (II) UpdateDeviceParams: Post-reset: Stereo, Float, 22050hz, 442 update size x4
AL lib: (WW) UpdateDeviceParams: SSE performs best with multiple of 4 update sizes (442)
AL lib: (II) GetConfigValue: Key stereo-mode not found
AL lib: (II) GetConfigValue: Key hrtf-mode not found
AL lib: (II) UpdateDeviceParams: HRTF disabled
AL lib: (II) GetConfigValue: Key cf_level not found
AL lib: (II) UpdateDeviceParams: BS2B disabled
AL lib: (II) GetConfigValue: Key layouts/stereo/type not found
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1026 (lparam=05242540, wparam=0033F494)
AL lib: (II) alcCreateContext: Created context 052425C0
AL lib: (II) AllocLines: New reverb buffer length: 63680 samples (2.887981 sec)
AL lib: (II) FreeContext: 052425C0
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1027 (lparam=05242540, wparam=0033E518)
AL lib: (II) FreeDevice: 05265020
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1028 (lparam=05242540, wparam=0033E4F0)
6633d343685c9
Apparently, OpenAL Soft cannot find any option parameters. Doesn't matter for sound and music, but if it cannot find the HRTF table files, it gets disabled as you can see by the "UpdateDeviceParams: HRTF disabled" line.

Did you "install" the alsoft.ini correctly? It's been a long time since I tried Wine on my Linux PC so I don't know if the AppData folder is set up the way it should be. In any case, check your folder setup.

Edit: It tries to load a config from "C:\users\rc\Application Data\alsoft.ini" which is probably where older Windows version like WinXP stored their application data. On my Win7x64 machine, it would be "C:\users\rc\AppData\Roaming". Try to adjust your folder structure accordingly, meaning that you copy alsoft.ini and the whole openal folder to "C:\users\rc\Application Data". You would then have the file "C:\users\rc\Application Data\alsoft.ini" and folders like "C:\users\rc\Application Data\openal\hrtf" and so on. On the other hand, if you execute shock2.exe as a Win7 application, this might have the opposite effect.
« Last Edit: 02. May 2016, 08:45:28 by Marvin »
6633d34368837
Looks better now, but just from hearing I'm still not sure if I notice a difference
Code: [Select]
AL lib: (II) alc_initconfig: Supported backends: mmdevapi, dsound, winmm, null, wave
AL lib: (II) ReadALConfig: Loading config C:\users\rc\Application Data\alsoft.ini...
AL lib: (II) LoadConfigFromFile: found 'channels' = 'stereo'
AL lib: (II) LoadConfigFromFile: found 'stereo-mode' = 'headphones'
AL lib: (II) LoadConfigFromFile: found 'hrtf' = 'true'
AL lib: (II) LoadConfigFromFile: found 'hrtf_tables' = 'default-44100.mhr'
AL lib: (II) LoadConfigFromFile: found 'frequency' = '44100'
AL lib: (II) GetConfigValue: Key disable-cpu-exts not found
AL lib: (II) FillCPUCaps: Detected max CPUID function: 0xd (ext. 0x80000008)
AL lib: (II) FillCPUCaps: Vendor ID: ""
AL lib: (II) FillCPUCaps: Name: "Intel(R) Core(TM) i7-4650U CPU @ 1.70GHz"
AL lib: (II) FillCPUCaps: Extensions: +SSE +SSE2 +SSE3 +SSE4.1
AL lib: (II) GetConfigValue: Key rt-prio not found
AL lib: (II) GetConfigValue: Key resampler not found
AL lib: (II) GetConfigValue: Key trap-al-error not found
AL lib: (II) GetConfigValue: Key trap-alc-error not found
AL lib: (II) GetConfigValue: Key reverb/boost not found
AL lib: (II) GetConfigValue: Key reverb/emulate-eax not found
AL lib: (II) GetConfigValue: Key drivers not found
AL lib: (II) ALCmmdevProxy_messageHandler: Starting message thread
AL lib: (II) ALCmmdevProxy_messageHandler: Message thread initialization complete
AL lib: (II) ALCmmdevProxy_messageHandler: Starting message loop
AL lib: (II) alc_initconfig: Initialized backend "mmdevapi"
AL lib: (II) alc_initconfig: Added "mmdevapi" for playback
AL lib: (II) alc_initconfig: Initialized backend "dsound"
AL lib: (II) alc_initconfig: Added "dsound" for capture
AL lib: (II) GetConfigValue: Key excludefx not found
AL lib: (II) GetConfigValue: Key default-reverb not found
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1029 (lparam=00000000, wparam=0033ED50)
AL lib: (II) add_device: Got device "OpenAL Soft on Ausgang (integriert)", "{0.0.0.00000000}.{C12C0414-C2D1-4E2C-8A9F-EF241B0481F1}"
AL lib: (II) add_device: Got device "OpenAL Soft on Instant On Sound Effects", "{0.0.0.00000000}.{388F8266-6D4B-4F0C-8B3A-51877C99A5BB}"
AL lib: (II) DSoundEnumDevices: Got device "OpenAL Soft on Mikrofon (integriert)", GUID "{5AB0FD2F-2A35-4B21-9F08-C0475C7F14AD}"
AL lib: (II) GetConfigValue: Found channels = "stereo"
AL lib: (II) GetConfigValue: Key sample-type not found
AL lib: (II) GetConfigValue: Found frequency = "44100"
AL lib: (II) GetConfigValue: Key periods not found
AL lib: (II) GetConfigValue: Key period_size not found
AL lib: (II) GetConfigValue: Key sources not found
AL lib: (II) GetConfigValue: Key slots not found
AL lib: (II) GetConfigValue: Key sends not found
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1024 (lparam=05242540, wparam=0033F44C)
AL lib: (II) alcOpenDevice: Created device 05243390, "OpenAL Soft on Ausgang (integriert)"
AL lib: (II) GetConfigValue: Found frequency = "44100"
AL lib: (II) GetConfigValue: Key sends not found
AL lib: (II) GetConfigValue: Found hrtf = "true"
AL lib: (II) GetConfigValue: Found hrtf_tables = "default-44100.mhr"
AL lib: (II) RecurseDirectorySearch: Searching C:\GOG Games\System Shock 2 for default-44100.mhr
AL lib: (II) RecurseDirectorySearch: Searching C:\users\rc\Application Data\openal\hrtf for default-44100.mhr
AL lib: (II) RecurseDirectorySearch: Got result C:\users\rc\Application Data\openal\hrtf\default-44100.mhr
AL lib: (II) RecurseDirectorySearch: Searching C:\users\Public\Application Data\openal\hrtf for default-44100.mhr
AL lib: (II) AddFileEntry: Loading C:\users\rc\Application Data\openal\hrtf\default-44100.mhr...
AL lib: (II) AddFileEntry: Detected data set format v1
AL lib: (II) AddFileEntry: Loaded HRTF support for format: Stereo 44100hz
AL lib: (II) AddFileEntry: Adding entry "default-44100.mhr" from file "C:\users\rc\Application Data\openal\hrtf\default-44100.mhr"
AL lib: (II) UpdateDeviceParams: Pre-reset: *Stereo, Float, *44100hz, 1024 update size x4
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1025 (lparam=05242540, wparam=0033F3BC)
AL lib: (II) UpdateDeviceParams: Post-reset: Stereo, Float, 44100hz, 882 update size x4
AL lib: (WW) UpdateDeviceParams: SSE performs best with multiple of 4 update sizes (882)
AL lib: (II) GetConfigValue: Found stereo-mode = "headphones"
AL lib: (II) GetConfigValue: Key hrtf-mode not found
AL lib: (II) UpdateDeviceParams: HRTF enabled, "default-44100.mhr"
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1026 (lparam=05242540, wparam=0033F3BC)
AL lib: (II) alcCreateContext: Created context 05252010
AL lib: (II) AllocLines: New reverb buffer length: 127360 samples (2.887981 sec)
AL lib: (II) FreeContext: 05252010
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1027 (lparam=05242540, wparam=0033E518)
AL lib: (II) FreeDevice: 05243390
AL lib: (II) ALCmmdevProxy_messageHandler: Got message 1028 (lparam=05242540, wparam=0033E4F0)
6633d34368ade
OpenAL Soft seems to be ready. There's one thing left, which is to set the system-wide sampling rate to 44100 Hz both in Linux and Wine itself, probably. How to do this depends on your distro and your Wine setup. Here are some clues where to start, please tell me if they helped:
https://forum.winehq.org/viewtopic.php?t=13723
https://forum.winehq.org/viewtopic.php?f=8&t=18217
https://bbs.archlinux.org/viewtopic.php?id=183177

Maybe ask in the Wine forum?


Edit: Here's another idea: Maybe your Linux distro already uses OpenAL Soft and Wine simply ignores/overwrites whatever you're trying to set up within the Wine environment? In that case, it might be better to set up OALS system-wide:
https://www.reddit.com/r/oculus/comments/1fzonq/
So you'd create a file "alsoftrc" in your home folder and paste the content of the alsoft.ini in there.
You'd still have to make sure to play in 44.1 kHz, though.
« Last Edit: 02. May 2016, 14:19:46 by Marvin »
6633d34368bde
Well, actually I'm on Mac OS X ... it's maximum "Gefrickel" :-)

Do you have a savegame where you can hear a difference which I could use to reproduce?
6633d34368f63
Well, actually I'm on Mac OS X ... it's maximum "Gefrickel" :-)

Do you have a savegame where you can hear a difference which I could use to reproduce?
Das tut mir Leid, sowas dummes aber auch. Can't give any support for OSX, unfortunately.

I'll try to record an audio sample when I get back from work.
« Last Edit: 02. May 2016, 15:57:49 by Marvin »
6633d34369174
Sorry, couldn't make it today, will do it tomorrow. :)
In the meantime, try to set your OSX sample rate to 44.1 kHz, maybe completely reinstall Wine afterwards, and see if there's a difference:
http://smallbusiness.chron.com/macbook-pro-change-sample-rate-49804.html

The problem is that Wine apparently does not allow to set the sample rate manually anymore. My guess would be that it simply uses the current system settings, so doing this and then reinstalling Wine if this enforces a config change might do you good. Complete shot in the dark, though, I have no experience with Wine on OSX.
« Last Edit: 02. May 2016, 21:32:14 by Marvin »
6633d343694f3
I'll try to record an audio sample when I get back from work.
Thanks! Although I'm pretty sure that it works now, I'd be still interested in a savegame

6633d3436978f
I don't really know what to take since the difference is obvious to me wherever I go, but here are two glaring examples:

1) On earth, enter the UNN building and wait for the announcer's speech which originates from the protocol droid. Walk towards it (with the droid in the middle of your field of view), turn 180°, walk away, crouch and stand up, and do it again. With HRTF enabled, you should hear a clear difference between crouching and standing up since the sound source is slightly elevated to the player, relatively speaking, when you're crouching. The second thing you will notice is that there is a difference between having the droid in your back and facing him. The sound will seem to come either from behind you or in front of you.
Without HRTF, both of these situations will play the same no matter what because the stereo mixing only depends on the angle of the player towards the source. So when you're directly facing something, the amplitude in both ears will be the same and when you turn 180°, the amplitudes will simply switch, but your ears can't notice anything because the amplitudes are still the same.
Same thing happens btw when you hear the wind on the street. Coming from the grav shaft, the wind noise comes from further ahead, when you're entering the UNN building, it's in your back.

2) A boring but obvious example is demonstrated in the savegame (only mod is SCP beta 2, so only activate that). There are two motor or fan noises coming from the vents above you. This is simply a good place to test 3D localization in general. Try turning and moving back and forth unter the vents and you should be able to tell easily how much HRTF improve the way you localize the sound source.

Please note: All these effects, but especially the front/back attenuation, will work much better with a customized HRTF table (see first post).  So if you're having fun with the technique and want to spend an extra hour on improvements, try the tutorial I made and see if you find a table that suits your head better.



I'll try to get a good YT example video up before my vacation.
[save_9.7z expired]
Acknowledged by 2 members: rccc, Colonel SFF
6633d3436994e
Thanks for that savegame Marvin. I tried this out on a native Win7x64 machine, and to be honest I still have a hard time of hearing a difference. Also the audio options within the game are confusing me, sometimes it seems that the hardware acceleration option is disabled, then after a restart of the game it's enabled again ... I can't figure out why. All in all, I'm confused as I don't know if my audio hardware (onboard I guess) supports EAX, OpenAL, Hardware Acceleration, etc.

I tried three separate installations of SS2 now
1) fresh from GOG, no changes to audio settings
2) fresh from GOG, SS2Tool, no changes to audio settings
3) fresh from GOG, SS2Tool, HRTF enabled

I /think/ I can hear a difference between 1 and (2 or 3) but not between 2 and 3. I think SS2Tool changes something, for example after applying it I have a new file called wrap_oal.dll in my SS2 folder and I think this has something to do with OpenAL. Well sorry if I'm throwing different things together. Maybe I'll give it another shot with looking for a better HRTF profile, but for now I am very uncertain if I really notice something...thanks for all the support though :-)
6633d34369ccf
As mentioned in the opening post, a freshly installed game patched with SS2Tool is necessary. This will ensure SS2 is properly set up to work with OpenAL, which is what the wrap_oal.dll is for, and thus properly set up for OAL Soft. OpenAL Soft then serves as a complete replacement for OpenAL as it provides the same feature set and the same basic functions needed for audio processing. This is why the hardware acceleration in the game's option menu has to be set to "OpenAL". EAX also should be turned on, but it isn't mandatory. So option 3 with "Hardware acceleration = OpenAL" and "EAX = On" is what you want - if this still doesn't work, I'm out of ideas. As I said, I will try to make a proper YT video demonstration, but this could take a while (no recording software, no experience with video editing, no Google account).

Long explanation:
Both OpenAL and OpenAL Soft serve as a software abstraction layer to your audio hardware. A long time ago, almost everything related to sound was calculated completely by your sound hardware. Software libs such as OAL do what their name suggests: They provide for and simplify ways to do everything that's needed by video games or other applications on the CPU, in software mode, which makes them fairly popular for programmers who otherwise would have needed to code interfaces for each and every relevant sound card on the market. For all intents and purposes, hardware acceleration is dead and has been completely replaced by OAL or similar libraries/APIs.

EAX is another matter entirely. EAX is an audio extension framework meant to provide an easy way for game designers to implement very complex audio effects such as physical-based distortion, reverb, occlusion, or reflection in their games. ~15 years ago, this was implemented directly on the sound card in hardware and was only available on Creative Labs cards. However, audio integration on the operating system level changed drastically with the introduction of Windows Vista and Windows 7 which also broke EAX support. At first, OpenAL (which never depended on this type of OS support) was used by Creative in conjunction with their ALchemy software to translate EAX calls for their own sound cards to make it work in newer windows versions. NewDark's OAL implementation does something similar, only you don't need ALchemy, which means you don't need to own a Creative sound card.
OpenAL Soft does not rely on the proprietary EAX format but uses the open EFX format instead. EFX can do everything EAX can, and with NewDark, EFX is fully supported. Turning EAX on in the options menu is therefore recommended, in the case of OpenAL Soft, everything is silently translated to EFX, the quality is the same.
« Last Edit: 03. May 2016, 15:48:29 by Marvin »
Acknowledged by: rccc
6633d34369eb1
Okay, here's the promised demo video (go to YT for the proper 60fps version):
https://www.youtube.com/watch?v=Yre75KH_Wgw

It's actually pretty damn hard to find a convincing scene that lasts a bit longer where you can show of everything there's to know. I might simply record a longer proper gamplay video with only OAL Soft+HRTF, but I hope you, rccc, get the idea for now. :)
Acknowledged by: rccc
6633d3436a0b1
Holy shit... As soon as rccc has figured out how this works with wine I'm giving this ago. Didn't want to go through the pain of doing all those steps when there has to be something tweaked with wine every other step. That machine sound is amazing! Thanks Marvin!
Acknowledged by: System Shocked
6633d3436a4b2
Holy shit... As soon as rccc has figured out how this works with wine I'm giving this ago. Didn't want to go through the pain of doing all those steps when there has to be something tweaked with wine every other step. That machine sound is amazing! Thanks Marvin!
Well it does work now. I think it worked all the time I just couldn't really hear the difference, now with the video I did notice, ... the machine whirring changes when looking up and down. I still cannot hear a difference when crouching, I guess my ears are just not that sensible. Still need to find the best HRTF profile.

Thanks goes to Marvin for the patient explanations and the clearing up about all the OpenAL and EAX stuff.
Acknowledged by: System Shocked

6633d3436a675System Shocked

6633d3436a6ca
I'll reiterate my comments/experience after installing this sound mod. If you want an improved game sounds experience, through headphones OR speakers, INSTALL this mod.
« Last Edit: 04. May 2016, 23:19:03 by System Shocked »
Acknowledged by: Colonel SFF

Your name:
This box must be left blank:

Replicator restrictions are in place for the good of whom?:
1 Guest is here.
let's see whether the sky bugs out again
Contact SMF 2.0.19 | SMF © 2016, Simple Machines | Terms and Policies
FEEP
6633d3436a80e