Hello @all,
somehow Trion has been rather secretive about what sound api Rift uses and in terms of problems with regarding to surround sound, there hasn't been really any comment -- at least none that I could find. So since I built a new machine which on purpose had no dedicated audio card, here my findings and a few questions for Trion:
Rift uses DirectSound/DirectSound3D as its low level audio api. No OpenAL or whatever. Unfortunately with Windows Vista, Microsoft revamped the audio stack and in short, positional audio (as well as EAX) through DirectSound3D won't work anymore.(see Wikipedia for more)
There are (proprietary) solutions from various dedicated audio card/chip vendors that provide solutions that (to put it very simply) intercept those api calls and emulate them through e.g. OpenAL or different means. So CMedia calls it "XEar 3D", Asus "GX" and Creative "Alchemy". The latter also tries to properly emulate higher EAX versions. All those solutions work only with their respective vendor audio chips/cards.
Unfortunately for users of a Realtek audio chip, their solution (called "3d SoundBack"), has long stopped working and was designed for Vista only.
There is also a free solution called IndirectSound which basically does the same and works across all audio chips.
Also, Creatives offers a product called "Sound Blaster X-Fi MB3"/"Sound Blaster X-Fi MB5" which includes Alchemy and whole lot of other stuff but works on all sound chips. Yet the last time I tried it, it was not able to utilize a setup with Dolby Digital Live or DTS Connect which was confirmed at that time by their user support.
If you depend on something like Dolby Digital Live or DTS Connect to connect your PC to your surround system, things get even more difficult at this point. If you are using one of the proprietary solutions, things might work out of the box. If you are not, you will probably run into a bug with the XAudio2 api which is basically the successor to DirectSound and used by e.g. IndirectSound to get you your audio back. So the bug I mentioned is that XAudio2 always detects a 2-channel setup when Dolby Digital Live or DTS Connect are used, thus even though you use something like IndirectSound, you will end up with stereo only. There is no real good solution, just workarounds. You can manually patch your XAudio2 dlls like described in the linked forum post or you could use a software like Virtual Audio Cable as a middle-man to at least evade that specific problem. But it might introduce other problems and latency.
That is it. This should give you a nice overview of what gears are involved with 3d positional audio and Rift, what possible workarounds and solutions you have at your disposal.
Now to my question for Trion: With the 64 bit client on the horizon, at least IndirectSound will no longer work, since there is only a 32 bit version available and there are no known workarounds for XAudio2 on 64 bit yet. Is there any chance at all that you will use this opportunity to switch away from DirectSound and use something like OpenAL or similar to make using surround sound easier and more readily available for the players?
I hope that this helps anyone having issues with Rift and surround sound.
Happy Gaming,
Matthias :-)
Rift and surround sound - explanations and fixes... and questions
Aucun commentaire:
Enregistrer un commentaire