如何在 Windows 3/7/8 的遊戲中啟用 10D 聲音

如何在 Windows 3/7/8 的遊戲中啟用 10D 聲音
可能幾乎所有人都知道,隨著 2007 年 Windows Vista 的發布以及之後所有 Windows 的後續版本,DirectSound3D 聲音 API 從 Windows 中刪除,並且開始使用新的 API XAudio3 和 X2DAudio 來代替 DirectSound 和 DirectSound3D 。 結果,EAX音效(環境音效)在舊遊戲中變得不可用。 在本文中,我將告訴您如何在 Windows 3/7/8 上玩時將相同的 DirectSound10D/EAX 恢復到所有支援這些技術的舊遊戲中。 當然,經驗豐富的遊戲玩家都知道這一切,但也許這篇文章對某些人有用。

舊遊戲並沒有被扔進歷史的垃圾箱;相反,它們在老用戶和年輕用戶中都有很大的需求。 老遊戲在現代高解析度顯示器上看起來更好,許多遊戲都發布了改進紋理和著色器的模組,但一開始聲音不太好。 隨著Windows XP之後下一代Windows Vista的發布,微軟開發人員認為DirectSound3D已經過時——它僅限於6聲道音頻,不支援音頻壓縮,依賴於處理器,因此被XAudio2/X3DAudio取代。 而且,由於 Creative 的 EAX 技術並不是獨立的 API(就像 Aureal 的 A3D 那樣),而只是 DirectSound3D 的擴展,因此 Creative 的音效卡被拋在了後面。 如果您不使用特殊的軟體包裝器,那麼當在 Windows 7/8/10 上玩舊遊戲時,包含 EAX 的選單項目將不會處於活動狀態。 如果沒有 EAX,遊戲中的聲音將不會那麼豐富、龐大或定位。

為了解決這個問題,Creative 開發了 ALchemy 包裝程序,它將 DirectSound3D 和 EAX 呼叫重新導向到跨平台 OpenAL API。 但這個程式正式適用於 Creative 音效卡,甚至不是完全相同的型號。 例如,具有 CA10300 硬體 DSP 處理器的現代 Audigy Rx 卡並未正式運作。 對於其他音效卡的用戶,例如內建Realtek的音效卡,還需要使用Creative Sound Blaster X-Fi MB驅動軟體,這需要花錢。 你也可以嘗試原生的3DSoundBack程序,但它不是由Realtek完成的——它停留在測試版階段,它不能很好地工作,並且不能與所有晶片一起工作。 但還有更好的方法,它更容易使用且免費。

第一種方法

我將從華碩音效卡開始。 華碩DGX/DSX/DX/D1/Phoebus音效卡都是基於C-Media晶片的,甚至連華碩AV66/AV100/AV200晶片也是同樣重新貼標的C-Media晶片。 這些音效卡的特點是支援EAX 1/2/5。 所有這些晶片都繼承自其前身 CMI8738 DSP 軟體硬體模組 EAX 1/2,EAX 5 已經是軟體。

Xonar系列卡的擁有者非常幸運,每個人都在驅動面板上見過GX按鈕,但也許並不是每個人都知道它的作用。 我將在 AIDA64 程式的螢幕截圖中向您展示,這就是按鈕未啟動時以及 Windows 7/8/10 中內建 Realtek 音效卡擁有者的 DirectX 聲音標籤的樣子:

如何在 Windows 3/7/8 的遊戲中啟用 10D 聲音
所有音訊緩衝區均為零,所有 API 均處於非活動狀態。 但在開啟 GX 按鈕後我們立即看到

如何在 Windows 3/7/8 的遊戲中啟用 10D 聲音
那些。 非常方便 - 您無需啟動 Creative ALchemy 等其他程式並將 dsound.dll 檔案複製到每個遊戲資料夾。 最大的問題出現了,為什麼 Creative 不在其驅動程式中這樣做? 此外,在所有新的 Sound Blaster Z/Zx/AE 型號中,它不使用硬體 DSP 處理器來處理 EAX,而是透過使用簡化演算法的驅動程式在軟體中進行處理。 有些人認為基於軟體的音訊處理就足夠了,因為現代 CPU 比 10 年前在硬體中處理音訊的音效卡處理器要強大得多。 根本不是那樣的。 CPU 經過最佳化,可處理 x86 指令,DSP 處理中央處理器的聲音速度快得多,就像視訊卡比 CPU 更快產生光柵一樣。 中央處理器對於簡單的演算法來說已經足夠了,但是多聲源的高品質混響即使是再強大的CPU也會佔用太多的資源,從而影響遊戲中FPS的下降。 微軟已經認識到了這一點,並且已經在 Windows 8 中恢復了對 DSP 處理器音訊處理的支持,索尼也在其 PS5 控制台中添加了一個單獨的晶片來處理 3D 音訊。

第二種方式

此選項適合主機板內建音效卡的用戶,佔大多數。 有這樣一個項目 數字SOAL 是使用 OpenAL(系統上必須安裝 OpenAL)的 DirectSound3D 和 EAX 的軟體模擬,不需要硬體加速。 如果您的聲音晶片有任何用於音訊處理的硬體功能,那麼它們將自動使用。 該程式運行得非常好,透過它我可以讓 EAX 在我所有設定中具有 EAX 複選框的舊遊戲上運行。 如果將 DSOAL 檔案複製到程式資料夾,AIDA64 視窗如下所示:

如何在 Windows 3/7/8 的遊戲中啟用 10D 聲音

如果這種情況沒有發生,而您看到的圖片如第一個螢幕截圖所示,那麼它是本機 Windows 聲音.dll 不允許您攔截 API,就像我的情況一樣。 那麼這個方法會有所幫助 - 您將需要從某些 Windows Live-CD 映像啟動並刪除該文件 聲音.dll 必須藉助目錄中的 Unlocker 實用程式(在進行回溯時製作副本之後) C:WindowsSysWOW64 並寫下相同的 dsoal-aldrv.dll и 聲音.dll。 我這樣做了,對我來說,Windows本身和所有遊戲都沒有失敗,而且更方便——你不需要每次都將這些文件複製到遊戲所在的資料夾中,在極端情況下,你可以返回原始的後退 聲音.dll 到位。 確實,如果您不使用其他 ASUS 或 Creative 音效卡,此方法是合適的,因為在這種情況下,DirectSound3D 將始終僅透過 DSOAL 工作,而不是透過本機驅動程式或 ALchemy。

您可以在此影片中收聽 DSOAL:

→ 下載 可以在這裡找到最新版本的現成庫

比較 EAX 在不同音效卡上的聲音,我驚訝地發現內建 Realtek EAX 的聲音比在華碩或我的 Audigy Rx 上更好。 如果您閱讀資料表,幾乎所有 Realtek 晶片都支援 DirectSound3D/EAX 1&2。 從Windows XP運行AIDA64你可以看到:

如何在 Windows 3/7/8 的遊戲中啟用 10D 聲音
事實證明,與華碩和 Creative 音效卡不同,Realtek 也支援某種 I3DL2(並非每個 Realtek 數據表都這麼說)。 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 聲音。 享受耳機細緻的聲級 斯文AP860 不適合,您需要從便宜的耳機開始 阿克塞爾沃克斯 HD 241 - 已經有差別了 斯文AP860就像天地一樣。 不知何故,讓自己像這樣定位。

如何在 Windows 3/7/8 的遊戲中啟用 10D 聲音

如何在 Windows 3/7/8 的遊戲中啟用 10D 聲音

來源: www.habr.com

添加評論