Emulating EAX on any onboard sound hardware?

Emulation of old PCs, PC hardware, or PC peripherals.

Re: Emulating EAX on any onboard sound hardware?

Postby mirh » 2016-9-02 @ 21:15

GreatEmerald wrote:I did not have anything set to multichannel, since I'm using headphones. And one can't set Windows settings to 7.1 or so and downmix it to stereo either, because at least Realtek drivers synchronise the two options (and when testing channels that are not the two front speakers, I hear nothing at all, so I assume it doesn't work). I think the X-Fi drivers synchronise the options with Windows settings too. But in both cases CMSS-3D/virtual surround was enabled, and I'd imagine it should get picked up in the recording. Hence a fair comparison.
My xonar has windows setting and "driver-only knowledge" separated.
And.. I mean, it recommends you to set as much channels as possible in windows (since of course that's getting you the "most information" in the majority of software games), then tell him whether you are driving a bunch of speakers (so it allows you to enable.. Virtual speaker iirc) or headphones (dolby headphone indeed).
...
Then I dunno how cmss-3d works.. But I hope that you could confirm recordings accuracy before submitting it.
GreatEmerald wrote:Positive. Don't mix up Unreal II and other Unreal Engine 2 games, the others all had working network implementations, whereas Unreal II has a broken one (and demo playback is treated as a network game by the engine). If I try to play them back, I get a frozen screen that says "CONNECTING".
Ok, I understood that, but it's sure as sun that at least the first link should work.
GreatEmerald wrote:Indeed, that's another interesting thing that would be nice to check, but I can't do that. XP doesn't work on GPT partitions, and all that jazz.
I wonder if Vmware pci-passthrough even works for sound cards :lol:
pcgamingwiki.com
mirh
Member
 
Posts: 317
Joined: 2014-9-13 @ 21:39

Re: Emulating EAX on any onboard sound hardware?

Postby GreatEmerald » 2016-9-02 @ 21:41

mirh wrote:Then I dunno how cmss-3d works.. But I hope that you could confirm recordings accuracy before submitting it.

https://en.wikipedia.org/wiki/Sound_Bla ... Fi#CMSS-3D
And yes, I listened to them all and they sound accurate.

mirh wrote:Ok, I understood that, but it's sure as sun that at least the first link should work.

Well, the link is dead. I guess what that was is a customised map that does an automated Matinee flyby a la Unreal. It's doable to make that, but it wouldn't show all the complex situations you normally get into and is not really worth the effort to make one.

mirh wrote:I wonder if Vmware pci-passthrough even works for sound cards :lol:

KVM's should work, I think, but you need to boot with the device disabled so that two drivers don't try to use it at the same time, which can be tricky (and again sounds like too much effort).
GreatEmerald
Newbie
 
Posts: 12
Joined: 2016-8-31 @ 10:08

Re: Emulating EAX on any onboard sound hardware?

Postby KainXVIII » 2016-9-02 @ 22:13

Slightly offtop, but anybody have same issue?
http://forums.creative.com/showthread.p ... post612224
User avatar
KainXVIII
Member
 
Posts: 221
Joined: 2015-5-20 @ 15:04
Location: Yaroslavl

Re: Emulating EAX on any onboard sound hardware?

Postby mirh » 2016-9-03 @ 08:58

GreatEmerald wrote:https://en.wikipedia.org/wiki/Sound_Blaster_X-Fi#CMSS-3D
And yes, I listened to them all and they sound accurate.
I didn't mean the PR explanation (for example, 90% of that could even apply to my DX, still when you enable GX processing everything happens beyond windows "horizon") but okay.
GreatEmerald wrote:Well, the link is dead. I guess what that was is a customised map that does an automated Matinee flyby a la Unreal. It's doable to make that, but it wouldn't show all the complex situations you normally get into and is not really worth the effort to make one.
"Acheron - Belly of the Beast" seems a normal game map actually.
GreatEmerald wrote:KVM's should work, I think, but you need to boot with the device disabled so that two drivers don't try to use it at the same time, which can be tricky (and again sounds like too much effort).
Tbh it sounded easy to do with graphics cards (where I think you need a second monitor perhaps?).. Sound card isn't so vital to live without for some minutes.

KainXVIII wrote:Slightly offtop, but anybody have same issue?
http://forums.creative.com/showthread.p ... post612224
Try to use daniel_k's drivers, therwise there isn't very much you can do with closed source software...
pcgamingwiki.com
mirh
Member
 
Posts: 317
Joined: 2014-9-13 @ 21:39

Re: Emulating EAX on any onboard sound hardware?

Postby GreatEmerald » 2016-9-03 @ 10:33

KainXVIII wrote:Slightly offtop, but anybody have same issue?
http://forums.creative.com/showthread.p ... post612224

Not me.

mirh wrote:I didn't mean the PR explanation (for example, 90% of that could even apply to my DX, still when you enable GX processing everything happens beyond windows "horizon") but okay.

It's basically an HRTF implementation. Speaking of which, I should test OpenAL Soft with an HRTF setting too, hm.

mirh wrote:"Acheron - Belly of the Beast" seems a normal game map actually.

Yes, like I said, they probably modified the map to make a flyby through it.

mirh wrote:Tbh it sounded easy to do with graphics cards (where I think you need a second monitor perhaps?).. Sound card isn't so vital to live without for some minutes.

For graphics cards, you need to have two of them (usually integrated and dedicated), as well as motherboard support for passthrough. Then you plug a monitor into whichever output you want to see. Though last I tried, it just gave me no signal.
With sound cards you don't need two, as you said, but still need support in the motherboard and it still needs to be disabled at startup in the kenel level so it does not get initialised by the host.
GreatEmerald
Newbie
 
Posts: 12
Joined: 2016-8-31 @ 10:08

Re: Emulating EAX on any onboard sound hardware?

Postby lowenz » 2016-9-03 @ 17:59

GreatEmerald wrote:
lowenz wrote:In the ini file there's the option "Use3DSound".....what does it do, exactly? Is it the surround? I already force 5.1 speakers configuration in OpenAL Soft management utility.


That's a good question. I don't actually know for sure. I'm guessing that if it's set to False, it will use some sort of fallback a la Generic Software (or "Safe Mode" in UT2004; there, "3D audio" is the basic audio setting). I always kept it at True but I can check what happens otherwise.

Let me know what you discover! Maybe it's only some subtle thing.
lowenz
Oldbie
 
Posts: 818
Joined: 2014-12-20 @ 01:30

Re: Emulating EAX on any onboard sound hardware?

Postby GreatEmerald » 2016-9-03 @ 20:08

Here's the next part of the testing: https://youtu.be/V1W10yBgQb8
The first one is rtk_oal.dll on the Realtek chip. The second is OpenAL Soft with HRTF (I think; basically I copied the included file for 48000 Hz into %appdata%/openal/hrtf but I don't know if it gets used?). The third is... a bit complicated, it's the OpenAL → DS3D → OpenAL route on the realtek chip. I used wrap_oal.dll, Creative ALchemy, renamed my Speakers to "Speakers not on X-Fi" ( ;) ), and renamed Sens_oal.dll to ct_oal.dll. The idea was to use the best available ALchemy route. The OpenAL capability viewer showed EAX 5 support in Generic Hardware, and EAX 2 support in Generic Software; I don't know how to tell which one was used, but Unreal II didn't activate EAX for it.

As usual, unprocessed versions: http://www.mediafire.com/download/iz3hc ... tk_oal.m4a http://www.mediafire.com/download/8k8hq ... t_hrtf.m4a http://www.mediafire.com/download/y4uy1 ... lchemy.m4a

lowenz wrote:Let me know what you discover! Maybe it's only some subtle thing.


I tested it a bit, but found no difference between it on or off. It might be an unused setting, or perhaps UseEAX overrides it.
GreatEmerald
Newbie
 
Posts: 12
Joined: 2016-8-31 @ 10:08

Re: Emulating EAX on any onboard sound hardware?

Postby lagonauta » 2016-9-06 @ 13:07

mirh wrote:My xonar has windows setting and "driver-only knowledge" separated.
And.. I mean, it recommends you to set as much channels as possible in windows (since of course that's getting you the "most information" in the majority of software games), then tell him whether you are driving a bunch of speakers (so it allows you to enable.. Virtual speaker iirc) or headphones (dolby headphone indeed).
...
Then I dunno how cmss-3d works.. But I hope that you could confirm recordings accuracy before submitting it.


The X-Fi can be set to headphones on its own configuration dialog and to 7.1 speakers on Windows, no problem. OpenAL games which use the ct_oal.dll driver obviously do not rely on the config set on Windows, but OpenAL Soft must see Stereo or Headphones for HRTF to work (unless you want to use Dolby Headphones or something).
The X-Fi also has really good virtual surround with Stereo speakers, but sadly one cannot set Windows to 7.1 and the driver to Stereo Speakers at the same time with newer drivers... At least it still works fine on games that can be forced to output surround sound, like CS: GO and Half-Life 2.
lagonauta
Newbie
 
Posts: 18
Joined: 2015-5-28 @ 10:43

Re: Emulating EAX on any onboard sound hardware?

Postby Nucleoprotein » 2016-9-18 @ 15:16

GreatEmerald wrote:Here's the next part of the testing: https://youtu.be/V1W10yBgQb8
The first one is rtk_oal.dll on the Realtek chip. The second is OpenAL Soft with HRTF (I think; basically I copied the included file for 48000 Hz into %appdata%/openal/hrtf but I don't know if it gets used?). The third is... a bit complicated, it's the OpenAL → DS3D → OpenAL route on the realtek chip. I used wrap_oal.dll, Creative ALchemy, renamed my Speakers to "Speakers not on X-Fi" ( ;) ), and renamed Sens_oal.dll to ct_oal.dll. The idea was to use the best available ALchemy route. The OpenAL capability viewer showed EAX 5 support in Generic Hardware, and EAX 2 support in Generic Software; I don't know how to tell which one was used, but Unreal II didn't activate EAX for it.

As usual, unprocessed versions: http://www.mediafire.com/download/iz3hc ... tk_oal.m4a http://www.mediafire.com/download/8k8hq ... t_hrtf.m4a http://www.mediafire.com/download/y4uy1 ... lchemy.m4a

lowenz wrote:Let me know what you discover! Maybe it's only some subtle thing.


I tested it a bit, but found no difference between it on or off. It might be an unused setting, or perhaps UseEAX overrides it.


Third one is IMHO stupid because if you use OpenAL → DS3D → OpenAL route and then renamed Sens_oal.dll to ct_oal.dll what you want to expect ? HOAL (Sens_oal.dll) is -EAX EMUALTOR- so it will be used to emulate EAX effects so OpenAL → DS3D → OpenAL route is IMHO pointless ... Also using HOAL as best route is pointress because HOAL EAX emulation is much worse than build-in Alchemy emulation.
Nucleoprotein
Newbie
 
Posts: 97
Joined: 2016-7-02 @ 20:53

Re: Emulating EAX on any onboard sound hardware?

Postby GreatEmerald » 2016-9-18 @ 16:54

Nucleoprotein wrote:Third one is IMHO stupid because if you use OpenAL → DS3D → OpenAL route and then renamed Sens_oal.dll to ct_oal.dll what you want to expect ? HOAL (Sens_oal.dll) is -EAX EMUALTOR- so it will be used to emulate EAX effects so OpenAL → DS3D → OpenAL route is IMHO pointless ... Also using HOAL as best route is pointress because HOAL EAX emulation is much worse than build-in Alchemy emulation.


I tried several things, but in case of Unreal II, it simply refuses to activate EAX that way. It will only activate EAX when a direct route is used, not through DS3D. So it literally doesn't matter what you use in the end, you will get no EAX this way.
GreatEmerald
Newbie
 
Posts: 12
Joined: 2016-8-31 @ 10:08

Re: Emulating EAX on any onboard sound hardware?

Postby mirh » 2016-9-18 @ 18:37

Nucleoprotein wrote:Third one is IMHO stupid because if you use OpenAL → DS3D → OpenAL route and then renamed Sens_oal.dll to ct_oal.dll what you want to expect ? HOAL (Sens_oal.dll) is -EAX EMUALTOR- so it will be used to emulate EAX effects so OpenAL → DS3D → OpenAL route is IMHO pointless ... Also using HOAL as best route is pointress because HOAL EAX emulation is much worse than build-in Alchemy emulation.
As I said in another post, for as much as dumb, that can still have sense given it enables EAX 3-4 in games.
Thank Creative for the cleverness ofc.
pcgamingwiki.com
mirh
Member
 
Posts: 317
Joined: 2014-9-13 @ 21:39

Re: Emulating EAX on any onboard sound hardware?

Postby lowenz » 2016-10-13 @ 20:39

Nucleoprotein wrote:
unic0rn wrote:sure it's based on the same old wine code, but there's no openal support in that github tree, so it's useless. the whole point of that wrapper is to translate eax2 into openal effects. also, that wrapper was written by openal-soft author.

if you can't spot the difference, well. good luck with building it.


I cant spot the difference at looking in the code for 5s... if you can good luck for your. I currently successfully compiled fine old one in MSYS2 with small changes in code.
PS: EAX emulation is not my main concern, I need a stable dsound implementation for some broken games like Soul Reaver.

EDIT: Full proof-of-concept build, old src you posted, compiled using MSYS2, includes changed source code and -full- OpenAL Soft release - current master, VS2015 U3 build, includes QT4 configuration app! http://www48.zippyshare.com/v/7WDIzYIe/file.html
EDIT: Upps, i forgot to include default HRTF tables, link updated.

Up

How did you build the config utility? (I'm using MSVC 2015 Community Edition+QT SDK and CMake).
lowenz
Oldbie
 
Posts: 818
Joined: 2014-12-20 @ 01:30

Re: Emulating EAX on any onboard sound hardware?

Postby Nucleoprotein » 2016-10-13 @ 20:49

lowenz wrote:
Nucleoprotein wrote:
unic0rn wrote:sure it's based on the same old wine code, but there's no openal support in that github tree, so it's useless. the whole point of that wrapper is to translate eax2 into openal effects. also, that wrapper was written by openal-soft author.

if you can't spot the difference, well. good luck with building it.


I cant spot the difference at looking in the code for 5s... if you can good luck for your. I currently successfully compiled fine old one in MSYS2 with small changes in code.
PS: EAX emulation is not my main concern, I need a stable dsound implementation for some broken games like Soul Reaver.

EDIT: Full proof-of-concept build, old src you posted, compiled using MSYS2, includes changed source code and -full- OpenAL Soft release - current master, VS2015 U3 build, includes QT4 configuration app! http://www48.zippyshare.com/v/7WDIzYIe/file.html
EDIT: Upps, i forgot to include default HRTF tables, link updated.

Up

How did you build the config utility? (I'm using MSVC 2015 Community Edition+QT SDK and CMake).


You need the old QT 4.8 SDK for that, then set correct path for qmake in CMake configuration.
Nucleoprotein
Newbie
 
Posts: 97
Joined: 2016-7-02 @ 20:53

Re: Emulating EAX on any onboard sound hardware?

Postby lowenz » 2016-10-13 @ 20:56

No chance with 5.7.0?
lowenz
Oldbie
 
Posts: 818
Joined: 2014-12-20 @ 01:30

Re: Emulating EAX on any onboard sound hardware?

Postby lowenz » 2016-10-13 @ 21:11

Got some problems with 4.8.6 too :/

C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(670): error C2039: 'mem_fun_ref': is not a member of 'std'
7> alAuxEffectSlot.c
4> c:\qt\4.8.6\include\qtgui\../../src/gui/painting/qpen.h(135): note: see declaration of 'std'
7> alBuffer.c
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(670): error C3861: 'mem_fun_ref': identifier not found
7> alEffect.c
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(681): error C2039: 'mem_fun_ref': is not a member of 'std'
7> alError.c
4> c:\qt\4.8.6\include\qtgui\../../src/gui/painting/qpen.h(135): note: see declaration of 'std'
7> alExtension.c
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(681): error C3861: 'mem_fun_ref': identifier not found
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(737): error C2039: 'mem_fun_ref': is not a member of 'std'
4> c:\qt\4.8.6\include\qtgui\../../src/gui/painting/qpen.h(135): note: see declaration of 'std'
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(737): error C3861: 'mem_fun_ref': identifier not found
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(790): error C2039: 'mem_fun_ref': is not a member of 'std'
4> c:\qt\4.8.6\include\qtgui\../../src/gui/painting/qpen.h(135): note: see declaration of 'std'
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(790): error C3861: 'mem_fun_ref': identifier not found
lowenz
Oldbie
 
Posts: 818
Joined: 2014-12-20 @ 01:30

Re: Emulating EAX on any onboard sound hardware?

Postby Nucleoprotein » 2017-1-09 @ 11:54

lowenz wrote:Got some problems with 4.8.6 too :/

C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(670): error C2039: 'mem_fun_ref': is not a member of 'std'
7> alAuxEffectSlot.c
4> c:\qt\4.8.6\include\qtgui\../../src/gui/painting/qpen.h(135): note: see declaration of 'std'
7> alBuffer.c
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(670): error C3861: 'mem_fun_ref': identifier not found
7> alEffect.c
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(681): error C2039: 'mem_fun_ref': is not a member of 'std'
7> alError.c
4> c:\qt\4.8.6\include\qtgui\../../src/gui/painting/qpen.h(135): note: see declaration of 'std'
7> alExtension.c
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(681): error C3861: 'mem_fun_ref': identifier not found
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(737): error C2039: 'mem_fun_ref': is not a member of 'std'
4> c:\qt\4.8.6\include\qtgui\../../src/gui/painting/qpen.h(135): note: see declaration of 'std'
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(737): error C3861: 'mem_fun_ref': identifier not found
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(790): error C2039: 'mem_fun_ref': is not a member of 'std'
4> c:\qt\4.8.6\include\qtgui\../../src/gui/painting/qpen.h(135): note: see declaration of 'std'
4>C:\Projects\openal-soft-master\utils\alsoft-config\mainwindow.cpp(790): error C3861: 'mem_fun_ref': identifier not found


Upps, sorry - stupid Gmail sent thread notifications to spam ...
std::mem_fun_ref should be in <functional> so
Code: Select all
#include <functional>
somewhere ?
Nucleoprotein
Newbie
 
Posts: 97
Joined: 2016-7-02 @ 20:53

Re: Emulating EAX on any onboard sound hardware?

Postby lowenz » 2017-1-09 @ 15:53

I ended up compiling only the runtime and using your configurator :p

Can you release an updated version of the entire pack?
lowenz
Oldbie
 
Posts: 818
Joined: 2014-12-20 @ 01:30

Re: Emulating EAX on any onboard sound hardware?

Postby Nucleoprotein » 2017-1-19 @ 16:40

lowenz wrote:I ended up compiling only the runtime and using your configurator :p

Can you release an updated version of the entire pack?


Sorry for delay - I really do not know why I do not get notification :/
Also it seems they added QT5 support for config util in Git, so I used QT 5.7.1 to build it in new package:
http://www18.zippyshare.com/v/QN3TPNms/file.html (x86 only)

PS: OpenAL32.dll has embedded default HRTF profiles (ALSOFT_EMBED_HRTF_DATA)
Last edited by Nucleoprotein on 2017-1-19 @ 19:45, edited 1 time in total.
Nucleoprotein
Newbie
 
Posts: 97
Joined: 2016-7-02 @ 20:53

Re: Emulating EAX on any onboard sound hardware?

Postby lowenz » 2017-1-19 @ 19:41

Image
lowenz
Oldbie
 
Posts: 818
Joined: 2014-12-20 @ 01:30

Re: Emulating EAX on any onboard sound hardware?

Postby Nucleoprotein » 2017-1-19 @ 19:45

Upps, it seems Qt installer added some directories to system path and I missed platform file. (updated original post with new link)
Nucleoprotein
Newbie
 
Posts: 97
Joined: 2016-7-02 @ 20:53

PreviousNext

Return to PC Emulation

Who is online

Users browsing this forum: notsofossil and 5 guests