kcat / dsoal

A DirectSound DLL replacer that enables surround sound, HRTF, and EAX support via OpenAL Soft
GNU Lesser General Public License v2.1
385 stars 51 forks source link

DOOM 3 sounds horribly, but anyway thank you! #14

Open vorob1 opened 4 years ago

vorob1 commented 4 years ago

Guys, I'm in old-games mood currently, even bought an old laptop with PCMCIA card to have proper EAX in old games. Then i found DSOAL and was shocked! Before i thought we've solved only 3dfx problem with nglide, but now i see that EAX is also saved! Didn't find any donate or patreon button, really wanna spend a coin here.

Back to business. I've i just took two files from here: https://community.pcgamingwiki.com/files/file/1363-dsoal 85453d77b45cbd877c02085d1b8b433e dsoal-aldrv.dll 479e05a2fdddb1f19a5da9790fdc7fd2 dsound.dll

and put them near doom3.exe. Same thing worked perfectly with half-life 1 and thief 2, but doom 3 sounds with EAX enabled like im playing in a barrel plus some echo sounds stuck and repeat itself.

I'm a total potato in programing, maybe i'm doing smth wrong like using old version or maybe doom is not fully compatible with DSOAL. Please help.

kcat commented 4 years ago

EAX3 and up (the Doom 3 engine uses EAX4) still has some problems. Since they weren't publicly well documented, their behavior has to be reverse engineered by figuring out how the individual properties work and interact with each other using the final expected output. It's still being worked on when I get time, but it's slow going since I can't directly test the real thing (as in, write custom code to run with real hardware and see what each individual parameter does).

NightSprinter commented 4 years ago

kcat, what hardware exactly would you need to try to do the proper bitbanging required? I could gladly snag up a used Audigy, Audigy 2/2ZS, or X-Fi card for you off eBay next week.

kcat commented 4 years ago

kcat, what hardware exactly would you need to try to do the proper bitbanging required? I could gladly snag up a used Audigy, Audigy 2/2ZS, or X-Fi card for you off eBay next week.

More than hardware, I don't have the proper OS for that. My (sole, development) system runs Linux, with Windows being tested under Wine, CI, or volunteers, so even if I had an Audigy or X-Fi, I won't get hardware DSound or OpenAL to actually test anything.

mirh commented 4 years ago

If your system has IOMMU it should be pretty straightforward to passthrough any device to QEMU/Workstation. The only unknown is if your motherboard even has a Parallel PCI slot, or you actually need a pcie xfi (that would also let you experiment with EAX5)

ThreeDeeJay commented 3 years ago

I'm not sure this will fix the original issue, but it might be worth a shot: https://github.com/bibendovsky/eaxefx Also, I managed to set up my Creative SoundBlaster X-Fi 5.1 Surround (SB1090) USB sound card with a Windows XP virtual machine. My particular card only seems to support up to EAX 4, but maybe there's a different one that does EAX5. I put together a guide for VirtualBox, but VMWare Player worked better and was a lot easier to set up.

mirh commented 2 years ago

https://github.com/LAGonauta/RetroArch/commit/3d0893a418cc83af9f9ac8c542e7422c8175d8eb#commitcomment-78170226 A recording from an Audigy 2 ZS would be greatly appreciated now tbh @NightSprinter

NightSprinter commented 2 years ago

Apologies, but been extremely busy with work this summer. Here's the requested recording. Taken from an Audigy 1 on my Shuttle XPC SB61G2 with the last driver revision in Doom 3. Audigy-Doom3-EAX4.zip

mirh commented 2 years ago

I would also test drivers more or less slightly following the EAX patch release (for absolute peace of mind), but nonetheless in this very simple snippet I could see some little clipping. FWIW https://github.com/bibendovsky/eaxefx/pull/28#issuecomment-1220910199 was our current grievance.

Kappa971 commented 2 years ago

I've come to the conclusion that it's better to use a Doom 3 source port with OpenAL Soft... It sounds better, the reverb is more balanced and I don't have those damn audio clippings. I'm thinking of switching to OpenAL Soft also in other "compatible" games (ie that do not suffer from strange bugs with OpenAL Soft/DSOAL) so as to get rid of the various audio clippings and pops/clicks (such as in Mafia 1 or Unreal 2), and use the X-Fi Titanium HD hardware only in the few games where it works well (e.g. Quake 4), without having to go crazy adjusting the game volume to avoid clipping.

Unfortunately nobody tells the truth on the web, if someone had told me that buying an X-Fi for EAX I had run into such problems, I would have saved myself money. I hope anyone reading this doesn't make the same mistake.

EDIT However I find the resampling of the sounds superior on X-Fi compared to DSOAL/OpenAL Soft, it seems somewhere between "Cubic Spline" and "11th order sinc (fast)" of OpenAL Soft. In comparison, "Cubic Spline" is too "rough" while "11th order sinc (fast)" and above make the sound too muffled, I guess because the sound of these games is very low quality and the best filters of OpenAL Soft apply a very strong "antialiasing", too strong compared to the X-Fi.