[since FModEX removal] Surround Sound Issues

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
User avatar
Chris
Posts: 2942
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: [since FModEX removal] Surround Sound Issues

Post by Chris »

Graf Zahl wrote:
Chris wrote: There is an option to generate a center signal from the left/right channels. In $HOME/.config/alsoft.conf, put:

Code: Select all

[general]
front-stablizer = true
Although, aside from the fact that "it's using the front-center channel now", I make no guarantee the 3D sound output will have more accurate positioning.
Shouldn't this be under application control? It's something I'd immediately put into the menu as an option.
I have to be honest here, but this out-of-app configuration of OpenAL Soft is somewhat annoying.
I should probably at least add it to the alsoft-config GUI. But the intention is that it's a global (or per-device) setting based on user preference for how they want 3D sound mixed on their speakers. There are also other options for getting the front-center speaker used, such as using a custom ambisonic decoder configuration that includes it (the results of which may or may not be better than the front stablizer for a particular user). Having to configure each and every OpenAL app to do the same thing would be rather annoying, especially if the user changes their mind about which if any method to use and needs to reconfigure multiple apps, so it just needs to be done once and all OpenAL apps will do the same thing.

Going into the future, the front stablizer isn't guaranteed to stick around. It's an implementation of an algorithm designed for upmixing a stereo track to 3-channel left+center+right output, and is built on a fair bit of guesswork and assumptions. It doesn't even really consider that the 2-channel input is the front-left/right speaker feeds of a surround sound mix. That it happens to work well enough for some people is great and is why I added it, but if another ambisonic decoding method (or a completely new panning method) comes along that includes the front center without notable compromise, the stablizer could just as well be dropped or repurposed. Conversely, additional settings for it may be added, like adjustable cross-over frequency and/or dividers, presuming there isn't an optimal set of parameters that don't need changing. That stuff is up in the air.
Graf Zahl wrote:And regarding the center channel, how can I play some sound on it so that this content gets redistributed to the other channels if there is no center?
Using the AL_EFFECT_DEDICATED_DIALOGUE effect, from the ALC_EXT_DEDICATED extension (available since OpenAL Soft 1.14). Whatever is sent to it is routed to the front center channel if it exists, or gets panned normally to the front center location otherwise. A second effect slot needs to be created that can process the Dedicated Dialog effect (along side the current one for the reverb effect), and a silencing filter needs to be created (any type with its gain set to 0). Then whatever sources that you want to play on the front-center channel should have the silencing filter applied to its direct path, and its second auxiliary send should target the "Dedicated" effect slot (the first auxiliary send may or may not still target the reverb effect slot, if you want reverb with it).
The Bright Side
Posts: 27
Joined: Thu Jan 07, 2016 1:09 pm

Re: [since FModEX removal] Surround Sound Issues

Post by The Bright Side »

Hey Chris, thanks for your quick reply! I actually stumbled on Kama's bug report yesterday, too, where you mentioned the same front-stabilizer option. I put it into /etc/openal/alsoft.conf, and I also copied that alsoft.conf to ~/.config (it wasn't there on my system). However, sound playback remains the same in GZDoom.

I have version 1.18.2-2 of libopenal1 installed on my system. I see the latest is 1.20, but I couldn't find a PPA or deb. The last time I tried compiling something a few years ago, I ended up with broken packages wedged so hard into my system that I reinstalled Linux to get rid of them.

Is it just that my version of OpenAL is too old, or am I missing another puzzle piece? I see there are some OpenAL-related apps in Software Manager.
User avatar
Chris
Posts: 2942
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: [since FModEX removal] Surround Sound Issues

Post by Chris »

The Bright Side wrote:Is it just that my version of OpenAL is too old, or am I missing another puzzle piece? I see there are some OpenAL-related apps in Software Manager.
The front stablizer was added with 1.19, so it is indeed too old. 1.20.1 was release at the end of January, and Debian at least has 1.19.1 in stable, so I don't know why Linux Mint is that far behind.
The Bright Side
Posts: 27
Joined: Thu Jan 07, 2016 1:09 pm

Re: [since FModEX removal] Surround Sound Issues

Post by The Bright Side »

Chris wrote:
The Bright Side wrote:Is it just that my version of OpenAL is too old, or am I missing another puzzle piece? I see there are some OpenAL-related apps in Software Manager.
The front stablizer was added with 1.19, so it is indeed too old. 1.20.1 was release at the end of January, and Debian at least has 1.19.1 in stable, so I don't know why Linux Mint is that far behind.
Thanks Chris! I was curious about other Linux distros anyway, so I installed Manjaro on my laptop this week. That distro comes with OpenAL 1.20, but there is no alsoft.conf to be found anywhere on the entire file system. Do you know why this file doesn't exist or where to get one?
User avatar
Chris
Posts: 2942
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: [since FModEX removal] Surround Sound Issues

Post by Chris »

The Bright Side wrote:Thanks Chris! I was curious about other Linux distros anyway, so I installed Manjaro on my laptop this week. That distro comes with OpenAL 1.20, but there is no alsoft.conf to be found anywhere on the entire file system. Do you know why this file doesn't exist or where to get one?
It's there only as-needed (using alsoft-config would create it automatically, but the option you want can't currently be set in the GUI). If $HOME/.config/alsoft.conf doesn't exist, create it and add the aforementioned lines.
Post Reply

Return to “Closed Bugs [GZDoom]”