• Welcome to PiBoSo Official Forum. Please login or sign up.
 
March 29, 2024, 12:07:41 PM

News:

World Racing Series beta14 available! :)


Headphones sound virtualization, for free !

Started by HornetMaX, March 07, 2018, 11:17:53 PM

Previous topic - Next topic

HornetMaX

https://www.reddit.com/r/headphones/comments/6rtbcb/guide_every_headphone_surround_virtualization_on/

I didn't try that personally but it may be of interest for people without a sound card with decent virtualization for headphones.

I kind of stumbled on this when looking into the Sennheiser GSX 1000. I have an old sound blaster that supports CMSS3D and does a very nice job, but he sennheiser thingy looks very nice, is driverless and more handy and seems to be on par in terms of audio quality (maybe even less noisy as it's external.

I'm unsure how well this would work with PiBoSo's games, but I guess that OpenAL will see a 5.1 or 7.1 output device and output sound accordingly (i.e. with positional clues). That will then go into the software virtualization of your choice and give you nice positional sound into your headphones.

The other solution I posted about a while ago (using OpenAL_Soft instead of OpenAL, and plugging in one HRTF) looks more elegant to me and may be better overall, but with this one you can use some of the best rated virtualization stuff (Creative CMSS-3D, Sennheiser's one in the GSX) for games not using OpenAL.

P.S.
Some info on binaural sound: https://www.youtube.com/watch?v=Xb6dMYkc6r8 (only works with headphones, and if you have sound virtualization devices, you have to turn the virtualization off for the example in the video to work).


Vini

thanks for the link, max!
would be amazing to have proper sound in gpb.

HornetMaX

Quote from: Vini on March 07, 2018, 11:50:12 PM
thanks for the link, max!
would be amazing to have proper sound in gpb.
In general sound in GPB is proper (from the spatialization point of view), thanks to the usage of OpenAL. It may lack a bit of finesse when using headphones in case you don't have CMSS-3D or similar stuff.

I chatted with the guy that posted on reddit and he confirmed that for games like GPB (using OpenAL), the best solution is to have either a soundcard with CMSS-3D, or to use OpenALSoft with an HRTF. But again, all this is only relevant if you're using headphones: if you have 5.1 or 7.1 setup you should be fine (no need for extra stuff) and if you're on 2.0 or 2.1 you're dead no matter what.

The tricks above are only interesting for games that do not have proper headphones support, which is the vast majority of them: some recent titles have sound options specific to headphones (and CS:GO does implement an HRTF).

P.S.
I confirmed with the guy that a solution like the GSX-1000 would in principle be worse than my current sound card with CMSS-3D: with the GSX GPB would be tricked into thinking I have a 7.1 setup, then the GSX would transform this via some sort of simplified HRTF.
With my soundcard, positional info of each sound source will be used to process them via the HRTF: that is better.
The advantage of the GSX is that as soon as a game supports 51 or 7.1, the GSX will be able to spatialize that, no matter the audio system used by the game (openAL or anything else). It wont be as good as the OpenAL+CMSS-3D combo, but it will work on way more games.

Vini

Ok, just to get this cleared up for me: GPB does not have binaural audio ("proper headphone audio") by itself but since it's OpenAL (which passes positional info), it can be easily produced via software or hardware without much trickery (like letting the game output 7.1 and then convert it to binaural)?
I'm wondering if there is a noticable difference between the different solutions (OpenALSoft, CMSS-3D, Dolby Headphone), as my soundcard only supports Dolby Headphone.

HornetMaX

Quote from: Vini on March 08, 2018, 08:51:38 AM
Ok, just to get this cleared up for me: GPB does not have binaural audio ("proper headphone audio") by itself but since it's OpenAL (which passes positional info), it can be easily produced via software or hardware without much trickery (like letting the game output 7.1 and then convert it to binaural)?
I'm wondering if there is a noticable difference between the different solutions (OpenALSoft, CMSS-3D, Dolby Headphone), as my soundcard only supports Dolby Headphone.
OpenALSoft and CMSS-3D process each sound source according to its position in 3d space. When outputting to headphones they can use an HRTF (or something else to output to 5.1 / 7.1 setups). In principle, that's the right way of doing things.

Dolby Headphones (and the GSX 1000) do something different: they tell windows that you're using a 7.1 system, so that windows (and the game) will output a 7.1 sound. After that, they transform the 7.1 into stereo binaural. The difference is that dolby headphones and the GSX do not use the  audio source position in the 3d world *directly*: the game itself will use this info to output 7.1 (via openAL), then this is converted to bianural. So that's less good, at least in principle (but more flexible).

From what I've read around, dolby headphones seems to be bad for games (no surprise, it has been designed more for movies).
The GSX stuff seems to be pretty good overall, on par with the CMSS-3D in general but it may be worse for openAL games. How worse I cannot say, maybe the difference is minimal.
You can probably compare OpenALSoft with HRTF (my original post on it is here) to your dolby headphones in GPB. Just remember to switch dolby headphones off in your soundcard when you use OpenAlSoft.

I think PiBoSo could consider using OpenALSoft instead of plain OpenAL and add an in-game option to configure what your audio output is, 5.1, 7.1, 2.0 or heaphones, using one (configurabe) HRTF when headphones is selected. It would need to detect if something like CMSS-3D is there, in which case the processing could be delegated to the sound card. If not, OpenALSoft would do the processing.

All the stuff needed seems to be free/open source, but maybe it's a PITA to code properly.

HornetMaX

Forgot to add:

  • Dolby Headphones seems to be bad, but Dolby Atmos Headphones seems to be good.
  • It weems Windows 10 has some sort of virtualization built in. Can't test (I'm on 7), some links below.

https://msdn.microsoft.com/en-us/library/windows/desktop/mt807491(v=vs.85).aspx
https://www.techrepublic.com/article/how-to-get-better-audio-with-the-windows-sonic-for-headphones-spatial-sound-format/

Vini

ok, well maybe i'll have to give another soundcard a try then.

davidboda46

I use a logitech headphone with 7.1 virtual surround. I think it does the job.

Cheers,

/David "Gonzo" Boda #46
"THE EDGE... THERE IS NO HONEST WAY TO EXPLAIN IT BECAUSE THE ONLY PEOPLE WHO REALLY KNOW WHERE IT IS ARE THE ONES WHO HAVE GONE OVER"

HornetMaX

Quote from: davidboda46 on March 08, 2018, 10:31:04 AM
I use a logitech headphone with 7.1 virtual surround. I think it does the job.
If it works like the GSX, windows/the game thinks you have a 7.1 setup and will output to that accordingly. Then your headset will downmix to stereo doing some magic, but not the "full magic": for example, height information of the source is totally lost. This can only be transferred with true source postion + an HRTF.

Not a biggie in GPB (bikes tend to stay on the track :) ), but in other games ...