幾乎所有人都知道,隨著發布… Windows Vista 系統早在 2007 年就出現了這個問題,之後的所有版本也都出現了這個問題。 Windows DirectSound3D 音訊 API 已從系統中移除。 WindowsDirectSound 和 DirectSound3D 已被新的 XAudio2 和 X3DAudio API 取代。因此,EAX(環境音效)在舊遊戲中不再可用。本文將介紹如何為所有支援這些技術的舊遊戲恢復 DirectSound3D/EAX。 Windows 10年7月8日。當然,經驗豐富的玩家都知道這些,但或許這篇文章對某些人會有所幫助。
老遊戲並沒有被歷史遺忘;恰恰相反,它們在老玩家和年輕玩家群中都備受歡迎。舊遊戲在現代高解析度顯示器上畫面更佳,許多遊戲的MOD也提升了紋理和著色器的效果,但音效最初卻略顯遜色。隨著新一代遊戲機的發布,這種情況正在改善。 Windows Vista,緊跟在後 Windows 在XP系統中,微軟開發人員認為DirectSound3D已經過時——它僅限於6聲道音頻,不支援音頻壓縮,並且依賴處理器——因此被XAudio2/X3DAudio所取代。由於創新科技的EAX技術並非像Aureal的A3D那樣是獨立的API,而只是DirectSound3D的擴展,因此創新科技的音效卡被淘汰了。除非使用特殊的軟體封裝程序,否則在XP系統中播放音訊時,EAX技術將無法正常運作。 Windows 10年7月8日 在較舊的遊戲中,啟用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的截圖來展示;這就是當該按鈕未啟動時DirectX聲音選項卡的樣子。對於Realtek整合音效卡的用戶, Windows 7 / 8 / 10:

所有音訊緩衝區均為零,所有 API 均處於非活動狀態。 但在開啟 GX 按鈕後我們立即看到

所以,這非常方便——你無需啟動像 Creative ALchemy 這樣的額外程序,也無需將 dsound.dll 檔案複製到每個遊戲資料夾。關鍵問題是,為什麼 Creative 沒有在他們的驅動程式中實現這一點?此外,在所有新 Sound Blaster Z/Zx/AE 機型中,它們都沒有使用硬體 DSP 處理器進行 EAX 處理,而是透過驅動程式使用簡化的演算法進行軟體處理。有些人認為軟體音訊處理就足夠了,因為現代 CPU 比 10 年前音效卡中的處理器強大得多,而 10 年前的音效卡是使用硬體進行音訊處理的。這種說法完全錯誤。 CPU 針對 x86 指令進行了最佳化,而 DSP 處理音訊的速度比 CPU 快得多,就像顯示卡進行光柵化處理的速度比 CPU 快一樣。 CPU 足以處理簡單的演算法,但即使是強大的 CPU,處理具有多個聲音來源的高品質殘響也會消耗過多資源,從而影響遊戲的幀率。微軟已經意識到了這一點,並已恢復了對 DSP 處理器音訊處理的支援。 Windows 8,還有索尼,它在其 PS5 遊戲機中添加了一個單獨的晶片來處理 3D 音效。
第二種方式
此選項適合主機板內建音效卡的用戶,佔大多數。 有這樣一個項目 是使用 OpenAL(系統上必須安裝 OpenAL)的 DirectSound3D 和 EAX 的軟體模擬,不需要硬體加速。 如果您的聲音晶片有任何用於音訊處理的硬體功能,那麼它們將自動使用。 該程式運行得非常好,透過它我可以讓 EAX 在我所有設定中具有 EAX 複選框的舊遊戲上運行。 如果將 DSOAL 檔案複製到程式資料夾,AIDA64 視窗如下所示:

如果這種情況沒有發生,而你得到的圖片像第一張截圖那樣,那麼它就是原生的。 Windows 聲音.dll 它不允許 API 被攔截,就像我遇到的情況一樣。那麼這個方法會有幫助——你需要從某個地方啟動。 Windows LiveCD 鏡像並刪除文件 聲音.dll 必須藉助目錄中的 Unlocker 實用程式(在進行回溯時製作副本之後) 與:WindowsSysWOW64 並寫下相同的 dsoal-aldrv.dll и 聲音.dll我也為自己做了同樣的事情。 Windows所有遊戲都能正常運作,而且更加方便——你不需要每次都把這些檔案複製到遊戲資料夾裡,在極端情況下,你還可以恢復到原來的檔案。 聲音.dll 到位。 確實,如果您不使用其他 ASUS 或 Creative 音效卡,此方法是合適的,因為在這種情況下,DirectSound3D 將始終僅透過 DSOAL 工作,而不是透過本機驅動程式或 ALchemy。
您可以在此影片中收聽 DSOAL:

→ 下載
對比不同音效卡的 EAX 音質,我驚訝地發現整合的 Realtek EAX 音質竟然比華碩音效卡或我的 Audigy Rx 還要好。如果你閱讀數據手冊,你會發現幾乎所有 Realtek 晶片都支援 DirectSound3D/EAX 1&2。啟動 AIDA64 Windows XP 可見:

原來,與華碩和創新音效卡不同,瑞昱音效卡也支援一種名為 I3DL2 的技術(並非所有瑞昱音效卡的數據手冊都會提及這一點)。 I3DL2(Interactive 3D Audio Level 2,互動式 3D 音訊等級 2)是開放的 3D 互動式音訊產業標準;它是 DirectSound3D 的擴展,用於實現混響和遮蔽效果。它基本上與 EAX 相同,但音質更好——遊戲中混響效果更悅耳,例如角色在洞穴或城堡中奔跑時的腳步聲,以及房間內更逼真的環繞聲。因此,如果一款老遊戲在… Windows 我只在 XP 系統上玩遊戲。也許聲音引擎能用上 I3DL2。 DSOAL 雖然是開源項目,任何人都可以改進它,但它永遠無法使用 I3DL2,因為 OpenAL 不支援 I3DL2,只支援 EAX 1-5。不過也有好消息:從…開始 Windows 8 I3DL2 包含在 所以,新遊戲中的音效處於低谷。 Windows 10 這會比…更好 Windows 7.
最後,我想提醒您,所有這些 3D 聲音技術都是為耳機開發的;在 2 個揚聲器上您幾乎聽不到 3D 聲音。 享受耳機細緻的聲級 斯文AP860 不適合,您需要從便宜的耳機開始 阿克塞爾沃克斯 HD 241 - 已經有差別了 斯文AP860就像天地一樣。 不知何故,讓自己像這樣定位。
來源: www.habr.com
