[since FModEX removal] Surround Sound Issues

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.

Post a reply

Smilies
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :geek: :ugeek: :!: :?: :idea: :arrow: :| :mrgreen: :3: :wub: >:( :blergh:
View more smilies

BBCode is OFF
Smilies are ON

Topic review
   

Expand view Topic review: [since FModEX removal] Surround Sound Issues

Re: [since FModEX removal] Surround Sound Issues

by Chris » Fri May 08, 2020 2:36 pm

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.

Re: [since FModEX removal] Surround Sound Issues

by The Bright Side » Fri May 08, 2020 8:45 am

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?

Re: [since FModEX removal] Surround Sound Issues

by Chris » Tue May 05, 2020 3:49 am

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.

Re: [since FModEX removal] Surround Sound Issues

by The Bright Side » Tue May 05, 2020 1:54 am

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.

Re: [since FModEX removal] Surround Sound Issues

by Chris » Mon May 04, 2020 6:30 pm

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).

Re: [since FModEX removal] Surround Sound Issues

by Graf Zahl » Mon May 04, 2020 2:58 pm

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.

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?

Re: [since FModEX removal] Surround Sound Issues

by Chris » Mon May 04, 2020 2:55 pm

The Bright Side wrote:Hey guys, I'm wondering if any additions or changes have been made to the surround sound implementation since this discussion? I'm playing on 7.1 and I'm getting sound from all speakers except, unless my hearing is way off, the center speaker. I'll keep an ear on this in the future to find out whether anything is coming from that channel though.
OpenAL Soft's default panners don't use the front center speaker due to the layout irregularity it creates (3D sound reproduction likes to have a uniform speaker layout). It's instead kept as a dialog-only channel by default, so it'll only play something that feeds the "Dedicated Dialog" effect, or from a 5.1/6.1/7.1 direct channels source (neither of which GZDoom currently uses).

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.
The Bright Side wrote:EDIT: yeah, running pavumeter, I can see that the center and subwoofer channels are completely silent. Odd.
The subwoofer has a similar deal going on with it. It's not used for the spatial mix and is kept as an LFE-only channel, so it'll only play something that feeds the "Dedicated LFE" effect, or a 5.1/6.1/7.1 direct channels source. However, unlike the front center, there is no option to force its use because it has no spatial position, its intended for "special effects" (hence LFE = Low Frequency Effects), and most N.1 systems will automatically produce a subwoofer feed from the low frequencies in the other speakers as desired.

Re: [since FModEX removal] Surround Sound Issues

by The Bright Side » Mon May 04, 2020 2:37 am

Hey guys, I'm wondering if any additions or changes have been made to the surround sound implementation since this discussion? I'm playing on 7.1 and I'm getting sound from all speakers except, unless my hearing is way off, the center speaker. I'll keep an ear on this in the future to find out whether anything is coming from that channel though.

In the sound options, I am seeing a few options that I don't quite understand, so perhaps there's something in there?

I'm on Linux Mint 19.3, GZDoom 4.3.3. Playing Heretic at the moment.

EDIT: yeah, running pavumeter, I can see that the center and subwoofer channels are completely silent. Odd.

Re: [since FModEX removal] Surround Sound Issues

by SanyaWaffles » Sun Jul 16, 2017 10:22 pm

If you do any testing, Kama's your girl to test the shit out of OpenAL stuff. She's very good at reporting stuff and knows the ins and outs, as she has demonstrated. I highly recommend if you do work on implementing a better centre channel thing to keep in contact with her. I can advocate she has a keen ear for this stuff.

Re: [since FModEX removal] Surround Sound Issues

by kama.stein » Sun Jul 16, 2017 9:34 pm

That article is interesting to me esp. in regards to audio history. I'd be interested in testing a new version that implements upmixing based on it.

Re: [since FModEX removal] Surround Sound Issues

by Chris » Sun Jul 16, 2017 8:56 pm

kama.stein wrote:BTW, if I may.. One option what I would actually like to see done at least for now is an option for the older method (pairwise) as sub-optimal as it arguably is. I actually prefer it until a method can be implemented into ambisonics in OpenAL-soft that addresses my little center channel issue.
I had thought about it, and I'm not opposed to making it an option. Though it would add a good amount of mess to the code. In regards to better utilizing the center channel, I may have stumbled onto a lead.

Re: [since FModEX removal] Surround Sound Issues

by kama.stein » Sun Jul 16, 2017 7:21 pm

Chris wrote:
kama.stein wrote:There's better ways to setup 5.1 so that it's better...
In particular, I understand Dolby receivers include some kind of "steering" functionality to take a two-channel front stereo mix and pan the sounds in it between the front three speakers. Though I've found very little information regarding how that works, unfortunately, so it's something that needs to wait on the back burner until I can find something to go on.
From what I have always heard and experienced what matrixing methods tend to do is play all sounds that are = between the front right and left combined and then routed to the center.. with prologic adding steering to increase separation in L/R after the center information has been extracted.

Having this sort of thing would help in games to extract a center channel (at least three channel logic as it used to be called) (and I kinda wish OSes or A/V receivers had a game mode that had center channel extraction for LPCM mode) considering the fact that not everyone has surround sound in their workflow in the games industry and some simply just mix in stereo sound... Like Croteam did for their cut scenes in Serious Sam 3.

However, given what I've read from you this doesn't sound like a solution I think you'd like.

BTW, if I may.. One option what I would actually like to see done at least for now is an option for the older method (pairwise) as sub-optimal as it arguably is. I actually prefer it until a method can be implemented into ambisonics in OpenAL-soft that addresses my little center channel issue.

As it is right now I've been sticking to the last version that had that as a bandaid to this.

Re: [since FModEX removal] Surround Sound Issues

by kama.stein » Sun Jul 16, 2017 7:09 pm

BTW I think a problem I have with game audio is that. Even though for example some have complained about the lack of standards in the cinema.. They are even worse in gaming as far as I'm concerned. Like even what method is used to convey dialog in games.... as I've implied before some games have dedicated cut scenes rendered in game, others have FMV, others do everything in-game. Standards seem quite scattered in game audio and even behaviors between APIs like microsoft vs. open source can vary wildly. So for example you could have a game that sounds one way on a microsoft OS but sound very different when ported to an alternative platform. Sometimes one can't even count on a game supporting the same features as on the OS it was ported from particularly when it comes to audio (sometimes games have been ported only supporting stereo sound despite supporting up to 7.1 in windows).

Re: [since FModEX removal] Surround Sound Issues

by kama.stein » Sun Jul 16, 2017 6:42 pm

Then again I guess center channel usage is still rather debatable as I've found information on the AVS forums as below.. some people prefer a hard center.. others phantom.. I understand that not everyone agrees with any particular solution or setup.

I found these particular comments which interested me: "distributing the discrete center information to the L/R channels without compensating for the phase/time shifts produced will cause interference with the L/R information."

they further elaborated: "Consider a case where each of the L/C/R signals comes from its own mic feed in a live setup. Each mic 'hears' all the instruments but each hears each instrument with a unique level/phase relationship depending on its placement with respect to that instrument. So, an instrument in the center is 'heard' differently by the center and right mics. If your home processor splits the center feed to simply mix it with the right channel signal, the addition may be algebraically linear but the results will suffer because the centered instrument will be represented by two signals that differ in level and phase. (In the mastering studio, such a mix is done with sophisticated tools and ears in order to get the best outcome.) If the same happens on the left, it is hard to expect that the acoustic results will re-establish a pristine center signal."

also someone else said: "I think the problem some people have with a center channel is because they are so accustomed to hearing comb filtering in 2 channel they miss it when it is gone. They are comparing the sound of a center against 2 channel, not against the real world. Nobody speaks from two locations at once."

http://www.avsforum.com/forum/86-ultra- ... annel.html

There are also plenty of people who prefer phantom center channels though so no matter which position you hold you can find someone to support it I suppose.

Good to know the issue is still open though.
It would be like if you had a monitor with a high DPI in the center that reduces as you go to the sides


actually.. this reminds me of some hypothetical experiments\techniques that john carmack and been experimenting, with particularly for VR to reduce the load of 3D graphics rendering.. only rendering in full resolution where the eyes are currently looking in a scene on a screen... aka foveated rendering: it is when the game engine renders things that your eye is focusing on at high quality, and renders things in your peripheral vision at low quality, since that stuff is going to be blurry for you anyways. This allows the GPU to save a bunch of processing power that it can use for higher framerates and level of detail of whatever you're looking at.

Re: [since FModEX removal] Surround Sound Issues

by Chris » Sun Jul 16, 2017 5:56 pm

kama.stein wrote:There's better ways to setup 5.1 so that it's better...
As far as positional sound is concerned, it's best to have speakers placed in a regular or semi-regular layout (that is, each quadrant or octant has speaker placements that are mirrors of adjacent quadrants or octants), or at least spaced evenly. Dolby's 5.1 layout doesn't adhere to that; it's designed to handle the needs and desires of film, which is different than real-time positional audio. With film, you can more precisely control where sounds can be and how they get mixed for an optimal response, and the viewer's focus is going to be toward the front 99% of the time. With games, you don't have that luxury. A sound can come from anywhere at any time, and it's important that the listener be able to localize it as best they can regardless of it's actual direction.
As for 5.1 being "front heavy" it has been argued that our hearing is more sensitive in the front.
That's true, but it doesn't make it any less problematic to deal with. It would be like if you had a monitor with a high DPI in the center that reduces as you go to the sides (human visual acuity is greater in the center compared to the edges), then being tasked with rendering and displaying a fixed DPI image in real-time with as little distortion as possible.
As Wendy Carlos has said on her site: "We're interested in an optimum plan or two for Human Surround Sound. Since the back of our heads is not nearly as sensitive to sound directionality and nuance (not to mention a poorer frequency response, and unfortunate interference as sounds move away from the rear of one ear towards the rear of the other), we ought not "waste" too much effort trying to obtain what we can't: a uniform sound field. That's where so many surround concepts fall down, assuming we humans can hear in 360 degrees and follow it all accurately."
She's talking about film and music, a non-interactive medium that can make sacrifices by knowing and designing the content ahead of time. But consider a game that has the player finding the location of a sound, either to reach it or avoid it. The player controls their character, so the sound's relative position to them at any given time is out of the control of the designer. And a person (in the real world) will instinctively turn their head in an attempt to more clearly localize it if they're trying to actively locate it, suddenly making what the designer thinks is the front and back of the soundfield no longer so.

Not wasting too much effort also doesn't mean to put little effort into it. In fact, it could actually require quite a bit of effort to reproduce a soundfield in such a non-uniform manner since you need to make sure any and all left over distortions are masked by the human auditory system's perceptual inaccuracy. In the long run it can be a desirable outcome as a way to save costs, but you need to be careful on how you get there. Adding audible distortions on top of the perceptual inaccuracy will make it sound worse.
Also, I gotta mention.. further setups with more channels (like ATMOS) tend to use the 5.1 layout as a bed and then they add on top of that.
OpenAL Soft handles each layout uniquely. Quad, 6.1, 7.1, and even 3D7.1 all have their own decoders designed for their particular layouts, regardless of any concessions 5.1 needs to make.
This is something that's less a problem with gzdoom since it doesn't tend to do a lot of in-game dialog (some mods might though) but having two different behaviors for sounds at 12 o'clock for in-game vs. cut scenes causes a jarring difference IMHO where the dialog would come from the center during full blown cut scenes but in in-game ones like in half-life they don't. There are games that use both (like the Mafia series).
It's less "different behaviors for sounds at 12 o'clock", and more different behaviors for a sound that happens to be at front (as with normal panned sounds) vs a sound that wants your clear and focused attention. Speaking characters are usually not centered (rule of thirds, etc), but their dialog still comes out the front-center speaker because it's close enough to what we expect and provides an unobstructed response that the viewer can clearly hear.

FWIW, I'm not the only one that considers the front-center speaker this way:
No sound coming from Front Centre. - In some surround-sound speaker sets, the Front Centre speaker is a special "dialogue" speaker optimised for voice. Because of this, by default this speaker is only used for dialogue and not for general environmental sounds - so this is correct behaviour.
Some speaker manufacturers, and at least one other OpenAL vendor, see it the same way, the front-center speaker is designed for dialog rather than positional sounds. However, they default to excluding the front-center for positional sounds, while OpenAL Soft does include it (if at a reduced volume to maintain balance).

As I mentioned in the OpenAL Soft issue on this topic, there are improvements that can be made. In particular, I understand Dolby receivers include some kind of "steering" functionality to take a two-channel front stereo mix and pan the sounds in it between the front three speakers. Though I've found very little information regarding how that works, unfortunately, so it's something that needs to wait on the back burner until I can find something to go on.
SanyaWaffles wrote:The developer kind of all ready shot down this in a bug report Kama filed, so it's hard to expect help when we're kind of being told something different from the developer's perspective. I don't know the exact details but it seems the developer sees nothing wrong with the issues Kama described.

IMO at least, this kind of makes 3d spacializing of sound kind of useless, but that's just me.
On the contrary, what OpenAL Soft does is to help improve spatialized sound with 5.1. I also didn't "shoot down" this in the bug report; it's still an open issue, and I did say there is room to improve it. It's just not as easy to do as it may seem (simple pair-wise mixing doesn't work for surround sound).

Top