• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Why isn't OpenAL more widespread? (Headphones and HRTF inside)

Arkanius

Member
TL;DR AUDIO IS WORSE THAN IT WAS 12 YEARS AGO

Seriously, it's 2014 and we are still using shitty badly mixed, 2.0 audio in most games.

OpenAL implementations such as OpenAL Soft and Rapture3D can give you fantastic 5.1/7.1 and HRTF audio. While Rapture3D costs money to licence, OpenAL Soft is free.

Creative has since abadonned OpenAL it seems, is there some kind of legal problem that is making most indie games adopt OpenAL but major studios using shitty middlewares like Xaudio2?

The kicker: Every game in Linux uses OpenAL or routes the audio through OpenAL, which makes it have HRTF by default for most games. (I still haven't made it work with Source games though, despite Valve saying Source Engine under Linux/OSX uses OpenAL)

What is HRTF:
HRTF stands for Head-Related Transfer Function. In fairly layman's terms, it represents the changes that occur to a sound when it interacts with your ears and head before reaching your ear drum.

An article from a fellow user ranting about lack of HRTF support in games:
http://matthewkerswill.com/i-want-hrtfs-in-my-games/

On Linux, more or less ANYTHING which uses 3d sound, even games in WINE using the windows software 3d, end up having the full HRTF effect.

EDIT:

http://www.reddit.com/r/oculus/comments/1fzonq/psa_for_games_using_openal_including_minecraft/

Reddit thread with instructions for activating it on Linux. Minecraft requires extra tinkering nowadays though.

Demonstrations (USE WITH HEADPHONES):

Mirrors Edge:
https://www.youtube.com/watch?v=wHhwUT4BYMk

Freespace2 Open:
https://www.youtube.com/watch?v=OVB6dLyCIxQ

Thief Gold:

https://www.youtube.com/watch?v=cYIc7HLpk-w

STALKER with Rapture3D:
https://www.youtube.com/watch?v=zx4k8qewC_8

Unreal Tournament 3 with Rapture3D:

https://www.youtube.com/watch?v=lqqiIR017SQ

Dirt2:
https://www.youtube.com/watch?v=upTijwKT1sg

The Dark Mod:
https://www.youtube.com/watch?v=uJNr7IzcMR4

Minecraft:
https://www.youtube.com/watch?v=f4PJ68LHU-I
 

Timeless

Member
I only have two speakers hooked up. I don't want to wear headphones for many reasons. One is that I am worried about damaging my hearing (as one GAF user did while playing Brutal Legend).
 

Arkanius

Member
I only have two speakers hooked up. I don't want to wear headphones for many reasons. One is that I am worried about damaging my hearing (as one GAF user did while playing Brutal Legend).

That may happen if people abuse on the volume while wearing Headphones. They are perfectly safe if the volume is set up correctly.
 

The End

Member
Yup. Look at Wolfenstein: they went with a 5.1 audio mix, but lots and lots of people play with headphones and can't hear shit.
 

Arkanius

Member
Yup. Look at Wolfenstein: they went with a 5.1 audio mix, but lots and lots of people play with headphones and can't hear shit.

But even for 5.1 users it was pretty shitty.
It's a prime example how audio is neglected in most high profile games nowadays.

If it was done correctly, it would work well for Headphones/Stereo/5.1/7.1
 
If I'm understanding right, I just have to edit /etc/openal/alsoft.conf in order to get this working in most linux games?

Yup. Look at Wolfenstein: they went with a 5.1 audio mix, but lots and lots of people play with headphones and can't hear shit.

Aside from the cutscenes, Wolf is one of the shittiest sounding games I've played in a long time.
 

Arkanius

Member
If I'm understanding right, I just have to edit /etc/openal/alsoft.conf in order to get this working in most linux games?



Aside from the cutscenes, Wolf is one of the shittiest sounding games I've played in a long time.

Yes, and guarantee that the game is indeed using OpenAL, but it should be.
Try Amnesia for example (non steam, because Steam packs the game with outdated libraries without HRTF support, but that is fixable as well)
 

Mindlog

Member
TL;DR AUDIO IS WORSE THAN IT WAS 12 YEARS AGO

Seriously, it's 2014 and we are still using shitty badly mixed, 2.0 audio in most games.
I've been saying this for years :(
I've also been blaming Creative the whole time.
We still miss you Aureal.

I've been hoping that AMD's recent TrueAudio push would finally pick up the ball again. That's the first movement on that front we've seen in years. Having that tech in consoles should push some devs to get back in the game.
 

Arkanius

Member
I've been saying this for years :(
I've also been blaming Creative the whole time.
We still miss you Aureal.

I've been hoping that AMD's recent TrueAudio push would finally pick up the ball again. That's the first movement on that front we've seen in years. Having that tech in consoles should push some devs to get back in the game.

TrueAudio sounded cool, but it seems more proprietary technology behind exclusive hardware, and AMD doesn't seem to be pushing it that hard.
Was it confirmed that it's present in current gen consoles? THAT might pick up the pace
 
Why? Most people don't have dedicated sound cards. It is also hard to market sound. (I also like how Thief 1/2/3 has 10x better sound, technically, in design and in art, than the new Thief).

Also, it doesn't help that SoundBlaster generally has really shitty drivers and were a pain to deal with from a game developer perspective. Though they have gotten better. As well as Microsoft's standardization of audio in general in Windows Vista and on and inclusion of integrated audio in chipsets.
 

RedAssedApe

Banned
of recent memory two games i've played on the ps4 had the worse sound related issues.

thief - game about stealth and being mindful of your surroundings and surround sound was totally busted

wolf - can't hear what the characters are saying half the time.

sound engineering definitely feels like an afterthought in a lot of games.
 

Mindlog

Member
TrueAudio sounded cool, but it seems more proprietary technology behind exclusive hardware, and AMD doesn't seem to be pushing it that hard.
Was it confirmed that it's present in current gen consoles? THAT might pick up the pace
I remember reading several articles covering PS4 support for TrueAudio. It's supposed to be there and I just took it at face value. I'm just really eager to see more HRTF related development. It's glaringly absent now and with gaming VR headsets it could make an even bigger difference.
 

Arkanius

Member
Can someone describe the difference this makes without the use of examples and headphones?

Positional audio. You get a precise reference of where the sound is coming from despite using stereo/headphones output. (You only have two ears for example, and you know if the sounds in real life are coming from top, bottom, behind, etc)

I remember reading several articles covering PS4 support for TrueAudio. It's supposed to be there and I just took it at face value. I'm just really eager to see more HRTF related development. It's glaringly absent now and with gaming VR headsets it could make an even bigger difference.

Yeah, the Reddit thread came from the oculus subreddit. VR WILL require good HRTF audio for the effect to be credible.
 

Arkanius

Member
Why? Most people don't have dedicated sound cards. It is also hard to market sound. (I also like how Thief 1/2/3 has 10x better sound, technically, in design and in art, than the new Thief).

Also, it doesn't help that SoundBlaster generally has really shitty drivers and were a pain to deal with from a game developer perspective. Though they have gotten better. As well as Microsoft's standardization of audio in general in Windows Vista and on and inclusion of integrated audio in chipsets.

You don't even need dedicated soundcards. Processors are more than enough to process all the audio signals transformations before it's sent to the DAC from the motherboard/console.

That is not an argument, it was back in 1999, but that didn't stop the industry of having good audio in games.
 
I can't answer your question OP, but I too miss good audio in games. Battlefield 4 is the closest we've gotten to older tech in a long time, and even that game is far off from the likes of Jedi Outcast + EAX.
 
You don't even need dedicated soundcards. Processors are more than enough to process all the audio signals transformations before it's sent to the DAC from the motherboard/console.

That is not an argument, it was back in 1999, but that didn't stop the industry of having good audio in games.

The point I'm getting at is, do onboard sound cards (like the ones by Realtek) support OpenAL? I don't know too much about audio processing but there might be a hardware block from getting full OpenAL support on onboard sound cards.

And that wasn't my only argument. Driver and software maturity is a big reason why developers stay away from stuff like OpenAL, which might not even be OpenAL's fault.

For example = http://www.terathon.com/wiki/index.php/Release_Notes_for_Build_137
This gets rid of all the headaches associated with supporting different hardware, buggy drivers, and poorly designed APIs. Furthermore, it means that the audio experience is identical on all machines, so testing across a wide spectrum of sound hardware is not necessary.
 

Mareg

Member
This thread makes me nostalgious about the time when sound cards were actually important.

I still have that Roland LAPC-1 somewhere in a box. Along with a godly gravis ultrasound that I actually upgraded with added ROM !!! Them red PCBs :D
 

Arkanius

Member
Is OpenAL only for PCs?

Most console games nowadays are in 5.1/7.1 LPCM.

Yes. Microsoft uses XAudio in Xbox360/One and PS4 uses... something.

The point I'm getting at is, do onboard sound cards (like the ones by Realtek) support OpenAL? I don't know too much about audio processing but there might be a hardware block from getting full OpenAL support on onboard sound cards.

Yes they do. Basically there are two kinds of OpenAL.

Creative's OpenAL fork -> It's used for audio, and its processed by the soundcard. Requires X-Fi/Soundblaster cards.
OpenAL Soft fork -> It's software based, processed by CPU. Compatible with every soundcard.

I think all the headaches of the past was implementing OpenAL from Creative. The codebase sucked.

OpenAL soft is way way better though, and free and without licence restrictions.
 

Arulan

Member
I'm still using Creative's solution which now functions through Creative ALchemy to translate DirectSound3D calls to OpenAL. The game obviously has to have supported hardware DirectSound3D to begin with though. Most modern games unfortunately do not support it, unless they use the alternative OpenAL (which is better because Microsoft killed DirectSound3D) as stated by the OP, but that is usually rare. I believe Path of Exile was the last game I specifically remember using it.

On X-Fi cards, even if the game doesn't support hardware 3D sound you can also use Headphones CMSS-3D to "downsample" however many discreet channels the game supports (5.1 or 7.1 for example) to your headphones for HRTF. It isn't nearly as good as true support 3D hardware support but it still works fairly well for the most part.

Speaking of Source games, you can actually enable 3D hardware sound support in them. It may only work for Creative cards with ALchemy but you need to type in snd_legacy_surround and set it to "1" in the console. You should have your audio settings set to 5.1 or 7.1 before doing this and have added the game to ALchemy.

When a game has real hardware sound support for HRTF it really is amazing and I fully understand the frustrations of the OP because I've felt the same for a while now. I hope that with VR the need for HRTF might be re-established and we'll start seeing new and better implementations of it.
 

wsippel

Banned
Is OpenAL only for PCs?

Most console games nowadays are in 5.1/7.1 LPCM.
OpenAL is open source and runs on pretty much every platform under the sun - and if it doesn't, it's designed with portability in mind. It's just that many big companies are often afraid to use open source software unless there is no alternative, even if the license is completely unproblematic in this particular case.


Yes. Microsoft uses XAudio in Xbox360/One and PS4 uses... something.
OpenAL can interface with anything, it doesn't usually talk directly to the hardware. It can, and it's most efficient if it does, but it doesn't have to.
 
Positional audio. You get a precise reference of where the sound is coming from despite using stereo/headphones output. (You only have two ears for example, and you know if the sounds in real life are coming from top, bottom, behind, etc)

Interesting. So does this have to be coded directly into the game engine? How much effort does this take? Is it easy or difficult?

Also if anyone else has more information, I'm still not 100% on how this works.

Plus always wondered why modern PC's don't need sound cards. Always seems to think it was a relic from when PC's literally couldn't produce sound without a dedicated audio processor.
 

Arkanius

Member
I'm still using Creative's solution which now functions through Creative ALchemy to translate DirectSound3D calls to OpenAL. The game obviously has to have supported hardware DirectSound3D to begin with though. Most modern games unfortunately do not support it, unless they use OpenAL as stated by the OP, but that is usually rare. I believe Path of Exile was the last game I specifically remember using it.

On X-Fi cards, even if the game doesn't support hardware 3D sound you can also use Headphones CMSS-3D to "downsample" however many discreet channels the game supports (5.1 or 7.1 for example) to your headphones for HRTF. It isn't nearly as good as true support 3D hardware support but it still works fairly well for the most part.

Speaking of Source games, you can actually enable 3D hardware sound support in them. It may only work for Creative cards with ALchemy but you need to type in snd_legacy_surround and set it to "1" in the console. You should have your audio settings set to 5.1 or 7.1 before doing this and have added the game to ALchemy.

When a game has real hardware sound support for HRTF it really is amazing and I fully understand the frustrations of the OP because I've felt the same for a while now. I hope that with VR the need for HRTF might be re-established and we'll start seeing new and better implementations of it.

Yeah I have an X-Fi card, and I use ALchemy to bring OpenAL support for old Direct3D games. But that's the problem, they are old games and from the past.
Source games in Windows can use OpenAL but it's through that workaround to make them use Directsound. It's not ideal, and it's not bug free.
 

Arkanius

Member
Interesting. So does this have to be coded directly into the game engine? How much effort does this take? Is it easy or difficult?

Also if anyone else has more information, I'm still not 100% on how this works.

Plus always wondered why modern PC's don't need sound cards. Always seems to think it was a relic from when PC's literally couldn't produce sound without a dedicated audio processor.

Let's put it on these terms. Lot's of indie games use OpenAL because it's free. Not sure if it's painless from them.
Consider Minecraft that was made in Java and is still hacked code jumbled together, and it uses OpenAL. But I would love to hear from developers on this.

Soundcards nowadays come integrated with the Motherboard, for audiophiles, that is no good. Realtek cards suck from a quality standpoint, but they do the job for the people that can't hear/don't care.
Dedicated soundcards still have their uses, for Digital audio passthrough and such. But they aren't really needed anymore for offloading work from the CPU.
 

ZetaEpyon

Member
Maybe this will improve as VR spreads? Seems like good positional audio will be a lot more important in that scenario than when you're looking at a monitor.
 

Arkanius

Member
OpenAL is open source and runs on pretty much every platform under the sun - and if it doesn't, it's designed with portability in mind. It's just that many big companies are often afraid to use open source software unless there is no alternative, even if the license is completely unproblematic in this particular case.

It's something that sounds so weird. For example, Unreal 4 supports OpenAL on Linux/OSX (That is a very very pretty recent engine) except on Windows. u w0t m8.

Unity uses fmod sadly, which is a shame, Unity is pretty popular nowadays for Indies.
 
Interesting. So does this have to be coded directly into the game engine? How much effort does this take? Is it easy or difficult?

Also if anyone else has more information, I'm still not 100% on how this works.

Plus always wondered why modern PC's don't need sound cards. Always seems to think it was a relic from when PC's literally couldn't produce sound without a dedicated audio processor.

Well from what I heard it's not needed because onboard audio chip was good enough. And even then the CPU cycles it takes on modern CPUs isn't enough to effect the gameplay experience.
 
Yes. Microsoft uses XAudio in Xbox360/One and PS4 uses... something.



Yes they do. Basically there are two kinds of OpenAL.

Creative's OpenAL fork -> It's used for audio, and its processed by the soundcard. Requires X-Fi/Soundblaster cards.
OpenAL Soft fork -> It's software based, processed by CPU. Compatible with every soundcard.

I think all the headaches of the past was implementing OpenAL from Creative. The codebase sucked.

OpenAL soft is way way better though, and free and without licence restrictions.

That is what I mean though, Creative made a lot of scars in the industry in terms of software APIs for this kind of stuff, so developers naturally went away from it. I mean I would like to see more support but at the same time, I see what OpenAL produces, I just don't know the headaches it may or may not cause. Middleware in general is tough to deal with, and the more middleware your game has, the more moving parts, and the more chances for things breaking.

According to some devs OpenAL has been a major disappointment, but it also had some time to mature since it came out.
 

Arkanius

Member
That is what I mean though, Creative made a lot of scars in the industry in terms of software APIs for this kind of stuff, so developers naturally went away from it. I mean I would like to see more support but at the same time, I see what OpenAL produces, I just don't know the headaches it may or may not cause. Middleware in general is tough to deal with, and the more middleware your game has, the more moving parts, and the more chances for things breaking.

According to some devs OpenAL has been a major disappointment, but it also had some time to mature since it came out.

In the past or recently?
The thing about Middlewares, everyone uses them, but sometimes choices seem to be made by pure lazyness or ignorance of the existing products. Nothing is more permanent than temporary fixes in a codebase.
 
In the past or recently?
The thing about Middlewares, everyone uses them, but sometimes choices seem to be made by pure lazyness or ignorance of the existing products. Nothing is more permanent than temporary fixes in a codebase.

In the past, but how many devs continuously come back to check if a middleware is good now?

The problem with middleware is it removes control from you.
 
I remember OpenAL was the only way for a long time to get properly working positional audio in Quake 4's multiplayer. The actual doom 3 engine had great directional sound just by itself but it was totally bugged in multi and switching to OpenAL was the only way to fix it.
 

Reallink

Member
Isn't everyone's HRTF different? Is there any software that will let users calibrate to their specific head, perhaps by playing test tones and letting the user adjust perceived position with a slider or something? Then the games could use that created profile to deliver true positional audio?
 

Arkanius

Member
I remember OpenAL was the only way for a long time to get properly working positional audio in Quake 4's multiplayer. The actual doom 3 engine had great directional sound just by itself but it was totally bugged in multi and switching to OpenAL was the only way to fix it.

Doom 3 engine changed to OpenAL only in the 1.3 patch. It works pretty well. (I've played it recently, like, yesterday). And it was very good! (Well, the weapon sounds were bad, but that's a sound engineering problem not OpenAL's)

And guess what... Doom 3 BFG scrapped OpenAL and went with XAudio2.
Thankfuly, since the Source is Open, most built from source ports for Windows/Linux/OSX of idTech4 (and the BFG engine) re-implement OpenAL.

Isn't everyone's HRTF different? Is there any software that will let users calibrate to their specific head, perhaps by playing test tones and letting the user adjust perceived position with a slider or something? Then the games could use that created profile to deliver true positional audio?

Yes there are diferences, Rapture3D software allow you to customize it I think. OpenAL soft HRTF is fixed, but you can change the tables.
The Reddit thread on the OP has instructions in the comments how to do it!
 

Arulan

Member
Yeah I have an X-Fi card, and I use ALchemy to bring OpenAL support for old Direct3D games. But that's the problem, they are old games and from the past.
Source games in Windows can use OpenAL but it's through that workaround to make them use Directsound. It's not ideal, and it's not bug free.

Do you use CMSS-3D Headphones for games that do not support any form of HRTF?

I'm curious what kind of bugs are present for Source's workaround.

I would love to be able to use Linux exclusively for gaming but I don't think it's quite there yet. Exactly how good is Wine? Better than dual-booting?

Lastly, do you happen to know how open headphones handle HRTF compared to closed?
 

Mindlog

Member
Yeah without customization Y (height) and Z (depth) can get finicky, but it still sounds better to me than flat X (traditional L/R stereo.)
 

Woo-Fu

Banned
The answer is Creative Labs. Their anti-competitive business practices kept PC audio in the dark ages for decades.

Aureal provides a better product? Sue them. Lose the lawsuit but make it so expensive that Aureal has to go out of business anyway. Acquire their patents and then refuse to use the better technology.

Ensoniq makes a PCI audio card when you've been stalling for years? Buy them. Rebrand their product, increase its price by $100.

They make Microsoft look like angels.
 

Arkanius

Member
Do you use CMSS-3D Headphones for games that do not support any form of HRTF?

I'm curious what kind of bugs are present for Source's workaround.

I would love to be able to use Linux exclusively for gaming but I don't think it's quite there yet. Exactly how good is Wine? Better than dual-booting?

Lastly, do you happen to know how open headphones handle HRTF compared to closed?

1. Yeah I use CMSS-3D all the time for games. For unsuported OpenAL games I set the source as 5.1/7.1 so it simulates the positional data. For suported games, it's on as well, because, it must be (It doesn't matter if you set stereo/5.1/7.1 for OpenAL games with CMSS-3D active, the Engine bypasses all that and goes directly to the game for the data. If you don't activate CMSS-3D for OpenAL the soundcard won't offload the calculations for some reason. Creative is seriously bad in their documentation.

2. There are bugs concerning elevation of the sounds. Not sure if badly implemented by Valve or due the process of going Miles ->Legacy (DirectSound) -> OpenAL (ALchemy) -> Your ears.

3. Wine is very good for more old stuff. Basically DX9 games are good (with exceptions), there are major breakthroughs though recently though http://www.phoronix.com/scan.php?page=news_item&px=MTc1MTI
That's GTAIV running on Linux through a modified Wine, to skip the step of converting the calls to OpenGL. It's as good as native!

4. Open vs Closed. No idea, I'm using the DT880 right now which are Open and Binaural works perfectly. Before I used the PC350 which were closed, and tbh, I prefer the Open, but not sure if it fucks the HRTF effect.

http://www.head-fi.org/t/593050/the...-audio-with-binaural-headphone-surround-sound

These guys might tell you. Beware your wallet (Head-fi Warning)
 
This is all fine and dandy, but it seems like in all the examples in the OP the sounds happening behind the player are very hissy or staticy. Is there a way to get better positional audio without all the hissing? I'd rather have my games sound good than better positioning.
 

Arulan

Member
1. Yeah I use CMSS-3D all the time for games. For unsuported OpenAL games I set the source as 5.1/7.1 so it simulates the positional data. For suported games, it's on as well, because, it must be (It doesn't matter if you set stereo/5.1/7.1 for OpenAL games with CMSS-3D active, the Engine bypasses all that and goes directly to the game for the data. If you don't activate CMSS-3D for OpenAL the soundcard won't offload the calculations for some reason. Creative is seriously bad in their documentation.

Very true. I remember reading a 70+ page thread on how to properly configure settings for CMSS-3D and whether or not it actually "downsamples" discreet channels or only serves to expand. They even added to the confusion with different types of CMSS-3D for headphones and speakers.


3. Wine is very good for more old stuff. Basically DX9 games are good (with exceptions), there are major breakthroughs though recently though http://www.phoronix.com/scan.php?page=news_item&px=MTc1MTI
That's GTAIV running on Linux through a modified Wine, to skip the step of converting the calls to OpenGL. It's as good as native!

That's great to hear actually. Is performance as good as native?


4. Open vs Closed. No idea, I'm using the DT880 right now which are Open and Binaural works perfectly. Before I used the PC350 which were closed, and tbh, I prefer the Open, but not sure if it fucks the HRTF effect.

I only ask because I remember reading several comments of head-fi of users with open headphones disliking the effect of CMSS-3D (headphones) and instead using CMSS-3D in 2.1 mode for speakers. I'm using a Ultrasone Pro 550 so I can't really compare but I was curious for when I do upgrade.
 

Arkanius

Member
Very true. I remember reading a 70+ page thread on how to properly configure settings for CMSS-3D and whether or not it actually "downsamples" discreet channels or only serves to expand. They even added to the confusion with different types of CMSS-3D for headphones and speakers.




That's great to hear actually. Is performance as good as native?




I only ask because I remember reading several comments of head-fi of users with open headphones disliking the effect of CMSS-3D (headphones) and instead using CMSS-3D in 2.1 mode for speakers. I'm using a Ultrasone Pro 550 so I can't really compare but I was curious for when I do upgrade.

1. Not yet, but then again, the drivers used in that video are the Opensource ones, which don't have 100% of the performance that the binary blobs from Nvidia/AMD have.

2. Yeah, I also tested CMSS-3D for speakers (with my headphones) and it sounded better, but it has a problem that it's meant to be used with speakers that are in front of you and headphones are right on top of your ears. For non OpenAL games, I think it messes up the positioning, but I never tested deaply.
 

myca77

Member
Sounds like those that are missing out on 3d sound will love what Sony are planning with Morpheus. Fully head tracked binaural/3d sound (can't remember the exact details) with a virtual array of x amount of speakers surrounding the player, all handled by the api they'll supposedly be releasing for it. Sounds very promising, tbh I'm not in the loop with oculus but I can imagine something similar being developed.
 
Top Bottom