Hi, I am a developer, part of the OldUnreal group that develops and maintains free legal licensed releases for Unreal 1998, Unreal Tournament 1999, and (most recently) Unreal Tournament 2004 (https://github.com/OldUnreal).
As part of these patches, we swapped from using the old OpenAL to soft, as we want to support as many platforms as possible, however a constant complaint we see is that people think that the audio in our patches sounds "bad" and digging into it, it's usually HRTF causing it.
Now, I understand that this issue is coming from the model used, and that headphones automatically get detected (I've looked through some of the past issues), and that we should be giving the user a way to disable HRTF directly in our settings (in the works), but the last resort should be turning off HRTF, not the first. 3D audio is awesome after all, and gives a much more immersive experience.
Now, to alleviate some of the issues, I did add code to try and disable HRTF at least on "2d" audio, for UI elements or music. It works for music, but mono sources still are missing lows and highs, as (from looking into it), they're still routed through the HRTF functions
|
if(!props.mPanningEnabled) |
I did try disabling that (as a test, returning the direct channel setting instead of off) and it does work, but it results in much much quieter audio for those sources.
This is how I disable HRTF on "2d" audio like UI and music:
alSourceiDirect(SoundContext, sid, AL_SOURCE_RELATIVE, AL_TRUE);
alSourceiDirect(SoundContext, Source.Source, AL_DIRECT_CHANNELS_SOFT, AL_REMIX_UNMATCHED_SOFT);
alSourceiDirect(SoundContext, sid, AL_SOURCE_SPATIALIZE_SOFT, AL_FALSE);
What option(s) do we have here? Do we just need to add a equalizer to 2d mono sources, or all sources when HRTF is enabled?
We're trying to not fork and ship modified versions as that just means another library in the long list we have to maintain (and there's issues with linux if we do that), so we would either like to work with you to fix the issue here, or work in our codebase to alleviate it for our games.
If needed, I can upload examples. I usually use my personal project patch (HP2) to prototype stuff like audio before going back to our patches, so I've been playing around in there and have an example of what it should sound like vs what it sounds like, including the source audio files.
Hi, I am a developer, part of the OldUnreal group that develops and maintains free legal licensed releases for Unreal 1998, Unreal Tournament 1999, and (most recently) Unreal Tournament 2004 (https://github.com/OldUnreal).
As part of these patches, we swapped from using the old OpenAL to soft, as we want to support as many platforms as possible, however a constant complaint we see is that people think that the audio in our patches sounds "bad" and digging into it, it's usually HRTF causing it.
Now, I understand that this issue is coming from the model used, and that headphones automatically get detected (I've looked through some of the past issues), and that we should be giving the user a way to disable HRTF directly in our settings (in the works), but the last resort should be turning off HRTF, not the first. 3D audio is awesome after all, and gives a much more immersive experience.
Now, to alleviate some of the issues, I did add code to try and disable HRTF at least on "2d" audio, for UI elements or music. It works for music, but mono sources still are missing lows and highs, as (from looking into it), they're still routed through the HRTF functions
openal-soft/alc/alu.cpp
Line 1537 in 9335813
I did try disabling that (as a test, returning the direct channel setting instead of off) and it does work, but it results in much much quieter audio for those sources.
This is how I disable HRTF on "2d" audio like UI and music:
What option(s) do we have here? Do we just need to add a equalizer to 2d mono sources, or all sources when HRTF is enabled?
We're trying to not fork and ship modified versions as that just means another library in the long list we have to maintain (and there's issues with linux if we do that), so we would either like to work with you to fix the issue here, or work in our codebase to alleviate it for our games.
If needed, I can upload examples. I usually use my personal project patch (HP2) to prototype stuff like audio before going back to our patches, so I've been playing around in there and have an example of what it should sound like vs what it sounds like, including the source audio files.