VOGONS


First post, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie
funkerwolf wrote on 2020-05-10, 05:55:

Сan I ask a stupid question? Are any processor instructions used to speed up wrapping? well, at least the same avx for modern machines ... because directly games often give more FPS than through the same dgvoodoo2.
And do you have plans for wrapping not only directx on graphics output, but also for sound with activation of the same eax from cerative?

There are already sound wrappers!
*DSOAL+OpenAL Soft (positional audio + EAX3, center and LFE channels not really 'cause OpenAL Soft behaviour about those)
*Indirect Sound (positional audio wrapping dsound to xaudio)
*Creative's own Alchemy (Creative OpenAL)

Reply 2 of 17, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

OpenAL Soft can't give you 5.1 where DS3D did provide it. OpenAL Soft by design uses center channel ONLY for dialogues and never uses LFE channel.
So you got a 5.1 actually downmixed to 4.

Edit: read this https://forums.freebsd.org/threads/snd_hda-op … ubwoofer.33032/

Hello, one of the few to care about proper use of the LFE channel. I found this on my endless search to find out why OpenAL NEVER uses the LFE channel [in games]. I believe I have determined that this is primarily an OpenAL issue and that for some reason PulseAudio doesn't do bass redirection with OpenAL games.

So I first came across this issue when I was playing Amnesia in Ubuntu. I had played Amnesia in Windows and had LFE but why not in Ubuntu? Come to find out that I was using bass redirection in Windows so I disabled that feature and went on an LFE testing rampage in Windows-based games. No OpenAL games used the LFE channel while DirectSound, XAudio2, and FMOD games used the LFE channel; some games using those APIs didn't use the LFE but some did which leads me to believe that it's up to the programmer(s) to enable that feature. Perhaps OpenAL outright lacks the ability to route low-frequency audio to the LFE or perhaps it would require a lot of additional programming to implement and no one cares enough to do it in their game.

I went back to Ubuntu to figure out how to do bass redirection and what I found was that, even though I successfully had bass redirection working in music by enabling LFE-remixing in the Pulse config file, it wouldn't redirect bass in Amnesia (with default PulseAudio as the device in Amnesia's settings). Pulse should be able to redirect the bass if the audio is being routed through it but maybe it's not entirely understanding OpenAL and dropping the ball.

We know that the LFE is available in OpenAL because it plays that channel when you test a 5.1 wave file through it (I've at least done that in Windows with the dev software) but utilization of the LFE seems totally absent in games so it seems the only way to get any subwoofer activity from these games would be for the OS's audio system to do bass redirection.

Reply 3 of 17, by funkerwolf

User metadata
Rank Newbie
Rank
Newbie
lowenz wrote on 2020-05-10, 05:57:
There are already sound wrappers! *DSOAL+OpenAL Soft (positional audio + EAX3, center and LFE channels not really 'cause OpenAL […]
Show full quote
funkerwolf wrote on 2020-05-10, 05:55:

Сan I ask a stupid question? Are any processor instructions used to speed up wrapping? well, at least the same avx for modern machines ... because directly games often give more FPS than through the same dgvoodoo2.
And do you have plans for wrapping not only directx on graphics output, but also for sound with activation of the same eax from cerative?

There are already sound wrappers!
*DSOAL+OpenAL Soft (positional audio + EAX3, center and LFE channels not really 'cause OpenAL Soft behaviour about those)
*Indirect Sound (positional audio wrapping dsound to xaudio)
*Creative's own Alchemy (Creative OpenAL)

To work all this, you must first run alchemy, because it registers dll so that his game picks up, etc. and I don’t need to give personal examples that everything works, I’ve been faced with this for several years now.
I do not know about you, but alchemy in f.e.a.r. worst of all, the sound result gives, but dsoal the required volume is all in place. Worse will only be 3D soundback from realtek and indirectsound.
It’s especially remarkable that you gave a link with freebsdm, which you should be ashamed to consider a system in 2020, some problems with this red-eyed...
The problem is that all the hemorrhoids to use, it would be very nice if Dege integrated their support (dsoal) in dgvoodoo2. Okay, I won’t offtopic anymore, just a wish for improvement in the future.

Reply 4 of 17, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

Ashamed by a thread talking about a known problem of OpenAL Soft? It's a general problem, on all the platforms (Windows too): there's NO LFE signal.
So DSOAL using OpenAL Soft as a virtual device can't give you LFE channel in any game using it.

No need to use Alchemy, you can edit the Windows registry (it's the same tweak needed by Indirectsound) to give the correct scope for dsound.dll.

Reply 5 of 17, by funkerwolf

User metadata
Rank Newbie
Rank
Newbie

And why is it impossible to simply automate or provide a ready-made and easy solution?
low frequencies for surround sound in the headphones ... well, I don’t know, even some difference in the monitor headphones is not noticeable during the game, except that in some places alchemy in the distance starts making loud sounds, probably this is the same lfe.

Reply 7 of 17, by willow

User metadata
Rank Member
Rank
Member
lowenz wrote on 2020-05-10, 12:44:
OpenAL Soft can't give you 5.1 where DS3D did provide it. OpenAL Soft by design uses center channel ONLY for dialogues and never […]
Show full quote

OpenAL Soft can't give you 5.1 where DS3D did provide it. OpenAL Soft by design uses center channel ONLY for dialogues and never uses LFE channel.
So you got a 5.1 actually downmixed to 4.

Edit: read this https://forums.freebsd.org/threads/snd_hda-op … ubwoofer.33032/

Hello, one of the few to care about proper use of the LFE channel. I found this on my endless search to find out why OpenAL NEVER uses the LFE channel [in games]. I believe I have determined that this is primarily an OpenAL issue and that for some reason PulseAudio doesn't do bass redirection with OpenAL games.

So I first came across this issue when I was playing Amnesia in Ubuntu. I had played Amnesia in Windows and had LFE but why not in Ubuntu? Come to find out that I was using bass redirection in Windows so I disabled that feature and went on an LFE testing rampage in Windows-based games. No OpenAL games used the LFE channel while DirectSound, XAudio2, and FMOD games used the LFE channel; some games using those APIs didn't use the LFE but some did which leads me to believe that it's up to the programmer(s) to enable that feature. Perhaps OpenAL outright lacks the ability to route low-frequency audio to the LFE or perhaps it would require a lot of additional programming to implement and no one cares enough to do it in their game.

I went back to Ubuntu to figure out how to do bass redirection and what I found was that, even though I successfully had bass redirection working in music by enabling LFE-remixing in the Pulse config file, it wouldn't redirect bass in Amnesia (with default PulseAudio as the device in Amnesia's settings). Pulse should be able to redirect the bass if the audio is being routed through it but maybe it's not entirely understanding OpenAL and dropping the ball.

We know that the LFE is available in OpenAL because it plays that channel when you test a 5.1 wave file through it (I've at least done that in Windows with the dev software) but utilization of the LFE seems totally absent in games so it seems the only way to get any subwoofer activity from these games would be for the OS's audio system to do bass redirection.

open al with rapture 3d driver game use LFE like described in this site http://satsun.org/audio/index.php?sort=api#the_list

It would be interesting if any solution was found. Openal soft doesn't work with all games using openAL and can some versions of openal soft can crash with some
games (Openal soft 1.9 works well but not open al soft 2.0 with quake 2 rtx for example. ).

The proposition of funkerwolf would be a good idea.

Reply 8 of 17, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie
willow wrote on 2020-05-10, 19:49:

It would be interesting if any solution was found. Openal soft doesn't work with all games using openAL and can some versions of openal soft can crash with some
games (Openal soft 1.9 works well but not open al soft 2.0 with quake 2 rtx for example. ).

1.9? 2.0?
You mean 1.19.x and 1.20.x, right?

1.20.1 for me got every issue solved (Unreal 2 crashed before)

Still no LFE and on top of this the lastest version (built from the master tree) of DSOAL don't working anymore in Halo CE (Combat AND Custom). Last version working with Halo of DSOAL is this: http://vaporeon.io/hosted/dsoal-builds/

Reply 9 of 17, by VoidsShadow

User metadata
Rank Newbie
Rank
Newbie
lowenz wrote on 2020-05-10, 05:57:
There are already sound wrappers! *DSOAL+OpenAL Soft (positional audio + EAX3, center and LFE channels not really 'cause OpenAL […]
Show full quote

There are already sound wrappers!
*DSOAL+OpenAL Soft (positional audio + EAX3, center and LFE channels not really 'cause OpenAL Soft behaviour about those)
*Indirect Sound (positional audio wrapping dsound to xaudio)
*Creative's own Alchemy (Creative OpenAL)

KCat's OpenAL Soft is a fork of OpenAL developed by Creative Labs (the base for ALchemy). ALchemy hasn't been updated in years and poorly recreates games' original audio effects.
For instance, ALchemy has a bug that forces reverb on all positioned sounds in Halo CE even including sounds that aren't programmed to have reverb. Additionally, its emulated reverb tends to be much stronger than its legacy, hardware-accelerated counterparts.

Reply 10 of 17, by VoidsShadow

User metadata
Rank Newbie
Rank
Newbie
lowenz wrote on 2020-05-10, 12:44:

OpenAL Soft can't give you 5.1 where DS3D did provide it. OpenAL Soft by design uses center channel ONLY for dialogues and never uses LFE channel.
So you got a 5.1 actually downmixed to 4.

Edit: read this https://forums.freebsd.org/threads/snd_hda-op … ubwoofer.33032/

You seem to be under the assumption that OALSoft's LFE and Center channel-handling is limited to Dedicated Dialog and Dedicated LFE (part of the ALC_EXT_DEDICATED extension).

LFE is only used if the input stream has an LFE channel.
Center channel can be enabled with the `front-stabilizer=true` setting.
Source: https://github.com/kcat/openal-soft/issues/36 … mment-554020938

Regarding the center channel, it isn't used with the panner by default since it causes a level and sharpness imbalance with more […]
Show full quote

Regarding the center channel, it isn't used with the panner by default since it causes a level and sharpness imbalance with more speakers in front compared to the back. However, enabling the front stabilizer will create a signal for it from the front-left and front-right channels, which you can do by editing ~/.config/alsoft.conf and adding:

[General]
front-stablizer=true

kcat explains that OpenAL Soft's LFE output is silent unless fed by an LFE input channel. If there is no LFE channel in the input stream, OALSoft will not output LFE. In this case, the only way to output LFE from a stream lacking a LFE channel is to use frequency crossover—a feature not present in OALSoft 1.19.1 and I don't see it as an added feature in either 1.20.0's or 1.20.1's change log.
However, 1.20.1's change log mentions three channel-related changes.
Source: https://kcat.strangesoft.net/openal.html

  • Implemented the AL_SOFT_direct_channels_remix extension.
    This extends AL_DIRECT_CHANNELS_SOFT to optionally remix input channels that don't have a matching output channel.
  • Implemented the AL_SOFT_bformat_ex extension.
    This extends B-Format buffer support for N3D or SN3D scaling, or ACN channel ordering.
  • Improved handling of unsupported channel configurations with WASAPI.
    Such setups will now try to output at least a stereo mix.

Reply 11 of 17, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie
VoidsShadow wrote on 2020-05-19, 08:15:

LFE is only used if the input stream has an LFE channel.

And why a 5.1 wave file constructed to have it doesn't play correctly in foobar2000 avoiding ANY channel mixing (there's a dedicated plugin for that)?

I see the spectrum representation *graphically*, so the input is passed in foobar2000 to the openal plugin by the channel demuxer plugin.
But NO AUDIO.

Reply 14 of 17, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie

Thanks man!

Here's the waveform and the channels of my test file:

1.jpg

So the LFE is there, foobar can see the data, the channel plugin does the demuxing.....but OpenAL Soft can't give the subwoofer output (the "high" center track is played correctly and of course I have the LFE channel working 'cause I hear the output of that very same file when I use the DirectSound output)

Reply 16 of 17, by KainXVIII

User metadata
Rank Member
Rank
Member

How do you even force surround sound in Unreal 2? I have Creative X-fi Xtreme gamer/win10 and no luck with alchemy..
PS - also what is the best way (i mean game) to test LFE and on which software (soft openal or alchemy?)

Reply 17 of 17, by lowenz

User metadata
Rank Oldbie
Rank
Oldbie
KainXVIII wrote on 2020-05-20, 10:45:

How do you even force surround sound in Unreal 2? I have Creative X-fi Xtreme gamer/win10 and no luck with alchemy..
PS - also what is the best way (i mean game) to test LFE and on which software (soft openal or alchemy?)

If you want to "test" it you can simply create a 6 channels wav file: 3rd and 4th channel are "center" and "LFE".
And after that you must pass the file to a sound player with openal output plugin. Foobar2000's one is really old (2015)

About gaming: https://satsun.org/audio/