如何在Windows 7/8/10的游戏中启用3D声音



大概几乎每个人都知道,自2007年发布Windows Vista之后,在Windows Vista及其之后的所有后续版本中,DirectSound3D声音API已从Windows中删除,而不是使用DirectSound和DirectSound3D,而是开始使用新的XAudio2和X3DAudio API。结果,EAX(环境音效)音效在较旧的游戏中变得不可用。在本文中,我将告诉您如何在Windows 7/8/10上播放时将相同的DirectSound3D / EAX返回支持这些技术的所有旧游戏。当然,经验丰富的游戏玩家都知道这一点,但也许这篇文章对某人有用。



老游戏还没有走到历史的垃圾桶;相反,老一辈用户和年轻一代的用户对老游戏的需求都很大。旧游戏在现代高分辨率显示器上看起来更好,许多游戏都有可以改善纹理和着色器的mod,但起初我们对声音没有运气。随着Windows XP之后的下一代Windows Vista的发布,Microsoft开发人员认为DirectSound3D在道德上已经过时-它在6声道音频中有限制,不支持音频压缩,取决于处理器,因此被XAudio2 / X3DAudio取代。而且,由于Creative的EAX技术并非像Aureal的A3D那样是独立的API,而只是DirectSound3D的扩展,因此Creative的声卡过于复杂。如果您不使用特殊的软件包装,然后在旧游戏的Windows 7/8/10上播放时,包括EAX在内的菜单项将不处于活动状态。如果没有EAX,游戏中的声音将不会那么多汁,音量大,位置大。



为了解决此问题,Creative开发了ALchemy,这是一个包装程序,可将DirectSound3D和EAX调用重定向到OpenAL跨平台API。但是,此程序可以在Creative公司的声卡上正式使用,甚至不能在所有型号上使用。例如,带有硬件DSP处理器CA10300的现代Audigy Rx卡无法正常使用。对于其他声卡的所有者,例如内置的Realtek,您需要使用Creative Sound Blaster X-Fi MB驱动程序软件,该软件需要付费。您也可以尝试使用本机3DSoundBack程序,但Realtek尚未完成该程序-它在beta阶段停止,无法正常运行,并且不适用于所有芯片。但是有一种更好的方法,它更易于使用且免费。



第一种方式



我将从华硕的声卡开始。ASUS DGX / DSX / DX / D1 / Phoebus的声卡均基于C-Media芯片,甚至ASUS AV66 / AV100 / AV200芯片也带有相同的重新标记的C-Media芯片。这些声卡的特性表明它们支持EAX 1/2/5。所有这些芯片都是从其前身CMI8738 DSP硬件软件EAX 1/2继承而来的,EAX 5已经是软件。



Xonar系列持卡人很幸运能够看到驱动程序面板上的GX按钮,但也许不是每个人都知道它的作用。我将在AIDA64程序的屏幕快照中显示,这是DirectX声音选项卡带有非活动按钮的外观以及Windows 7/8/10中内置Realtek声卡所有者的外观:





所有声音缓冲区均为零,所有API均处于非活动状态。但是在打开GX按钮后,我们立即看到





那些。非常方便-无需启动其他程序(例如Creative ALchemy)并将dsound.dll文件复制到游戏的每个文件夹中。这就提出了一个大问题,为什么Creative没有在他们的驱动程序中这样做?此外,在所有新的Sound Blaster Z / Zx / AE模型中,它都不使用硬件DSP处理器来处理EAX,而是通过使用简化算法的驱动程序在软件中进行处理。有人认为软件声音处理就足够了,因为现代CPU比具有10年历史的声卡处理器更强大,后者在硬件中处理声音。根本不是那样。 CPU经过优化,可以处理x86命令,而DSP在处理中央处理器的声音方面要快得多,而视频卡在光栅化方面要比CPU快。中央处理器足以应付不复杂的算法,但是具有许多声源的高质量混响将消耗甚至强大的CPU太多的资源,这将影响游戏的FPS下降。微软已经认识到这一点,并且已经返回了Windows 8中使用DSP处理器进行声音处理的支持,以及索尼公司(Sony)为其PS5机顶盒添加了一个用于处理3D声音的单独芯片。



第二种方式



此选项适合大多数情况下使用主板内置声卡的用户。有一个这样的项目DSOAL-它是使用OpenAL(必须在系统中安装OpenAL)进行的DirectSound3D和EAX的软件仿真,不需要硬件加速。如果您的声音芯片具有用于处理声音的任何硬件功能,则将自动使用它们。该程序运行良好,通过它我在所有旧游戏中都获得了EAX,其中在设置中有一个EAX复选标记。如果将DSOAL文件复制到程序文件夹,则AIDA64窗口将如下所示:







如果没有发生这种情况,并且您有图片(如第一个屏幕截图所示),则本机Windows dsound.dll不允许拦截API,就我而言。然后,该方法将有所帮助-您需要从某些Windows Live-CD映像启动并删除dsound.dll文件而不是没有C:\ Windows \ SysWOW64目录中的Unlocker实用程序的帮助(如果发生回滚,请在复制后),并写下来dsoal-aldrv.dlldsound.dll。我这样做了,对我来说,Windows本身和所有游戏都可以正常运行,因此更加方便-您无需每次都将这些文件复制到带有游戏的文件夹中,作为最后的选择,您可以将本机dsound.dll返回到位。的确,如果您不使用其他ASUS或Creative声卡,则此方法是合适的,因为在这种情况下,DirectSound3D将始终仅通过DSOAL而不是通过本机驱动程序或ALchemy为您工作。



您可以在此视频中收听DSOAL:







→您可以从此处下载最新版本现成库。



比较EAX在不同声卡上的发音方式后,我很惊讶地发现,内置Realtek上的EAX听起来比华硕或Audigy Rx上的听起来更好。如果您阅读了数据表,那么几乎所有的Realtek芯片都支持DirectSound3D / EAX 1和2。在Windows XP下运行AIDA64,您可以看到:





事实证明,与华硕和Creative声卡不同,Realtecs支持其他I3DL2(并非每个Realtech数据表都对此有所说明)。 I3DL2(交互式3D音频级别2)是用于处理3D交互式声音的开放式行业标准,它是DirectSound3D的扩展,用于处理混响和遮挡。从原理上讲,类似于EAX,但听起来更好-角色游戏在洞穴或城堡中奔跑时,脚步游戏中的混响更令人愉悦,房间中的环绕声更真实。因此,如果旧游戏可以在Windows XP上运行,那么我只能在XP上玩,那么声音引擎将可以使用I3DL2。尽管DSOAL是一个开源项目,并且任何人都可以对其进行改进,但是他永远无法使用I3DL2,因为OpenAL不适用于I3DL2,仅适用于EAX 1-5。但是有个好消息-从Windows 8开始,I3DL2已包含在其中XAudio 2.7库因此,Windows 10下的新游戏中的声音将比Windows 7下的更好。



最后,我想提醒您,所有这些3D声音技术都是为耳机开发的,您几乎不会在2个扬声器上听到3D声音。要享受细腻的声音,SVEN AP860级别的耳机无法使用,从价格便宜的耳机开始,您需要使用Axelvox HD 241 - SVEN AP860已经与众不同,例如天地。被某种方式引导。



All Articles