Hogyan lehet 3D hangot engedélyezni a játékokban Windows 7/8/10 alatt

Hogyan lehet 3D hangot engedélyezni a játékokban Windows 7/8/10 alatt
Valószínűleg szinte mindenki tudja, hogy a Windows Vista 2007-es megjelenésével, és az azt követő összes Windows verzióban a DirectSound3D hang API eltávolításra került a Windows rendszerből. A DirectSound és a DirectSound3D helyett a új XAudio2 és X3DAudio API-k kerültek bevezetésre. Ennek következtében a régi játékokban nem voltak elérhetők az EAX (környezeti hanghatások) speciális hanghatások. Ebben a cikkben bemutatom, hogyan lehet visszaállítani a DirectSound3D/EAX-t minden olyan régi játékban, amely támogatja ezeket a technológiákat Windows 7/8/10 alatt. Természetesen a tapasztalt játékosok mindezt tudják, de lehet, hogy valakinek hasznos lesz ez a cikk.

A régi játékok nem tűntek el a történelem szemétdombjára, éppen ellenkezőleg, hatalmas kereslet van rájuk, mind az idősebb generáció, mind a fiatalabb felhasználók körében. A régi játékok jobban mutatnak a modern, nagy felbontású monitorokon, sok játékhoz megjelennek olyan modok, amelyek javítják a textúrákat és shader-eket, de a hanggal kezdetben nem volt szerencsénk. A következő generációs Windows Vista megjelenésével, a Windows XP-t követően, a Microsoft fejlesztői úgy gondolták, hogy a DirectSound3D elavult — 6 csatornás hangra volt korlátozva, nem támogatta a hang tömörítését, processzortól függő volt, ezért helyette az XAudio2/X3DAudio került bevezetésre. Mivel a Creative cég EAX technológiája nem egy önálló API volt, mint egykor az Aureal cég A3D-je, hanem csupán a DirectSound3D bővítménye — a Creative hangkártyák a kispadra kerültek. Ha nem használunk speciális szoftveres wrapper-eket, akkor Windows 7/8/10 alatt a régi játékokban az EAX-t tartalmazó menüpontok inaktívak lesznek. E nélkül az EAX nélkül a hang a játékokban nem lesz olyan gazdag, térbeli és pozicionált.

A Creative cég megoldásaként kidolgozta az ALchemy wrapper programot, amely átirányítja a DirectSound3D és EAX hívásokat a platformokon átívelő OpenAL API-ra. Azonban ez a program hivatalosan csak a Creative hangkártyákkal működik, és nem minden modell esetében. Például a modern Audigy Rx hangkártya, amely rendelkezik egy hardveres DSP-processzorral (CA10300), hivatalosan nem működik. A többi hangkártya tulajdonosoknak, például a beépített Realtek hangkártya tulajdonosoknak, szükségük van még a Creative Sound Blaster X-Fi MB szoftveres meghajtóra, amely fizetős. Próbálkozhatunk a Realtek saját 3DSoundBack programjával is, de azt a Realtek soha nem fejezte be – a beta verziónál megakadt, nem működik jól, és nem minden chip-el kompatibilis. De van egy jobb megoldás, ami egyszerűbb a használata és ingyenes.

Első mód

Az ASUS hangkártyákkal kezdem. Az ASUS DGX/DSX/DX/D1/Phoebus hangkártyák C-Media chippekre épülnek, és még az ASUS AV66/AV100/AV200 chippek is ugyanazok a C-Media chippek variálásai. Ezeknek a hangkártyáknak a specifikációiban szerepel, hogy támogatják az EAX 1/2/5-öt. Mindezek a chippek örökölték a CMI8738 DSP-től a programozott-hardveres EAX 1/2, az EAX 5 pedig már programozott.

A Xonar sorozat kártya tulajdonosai nagyon szerencsések, mindenki látta a GX gombot a meghajtópanelen, de lehet, hogy nem mindenki tudja, mit csinál. A program AIDA64 képernyőképein mutatom, így néz ki a DirectX hang fül, amikor a gomb inaktív, valamint a beépített Realtek hangkártyával rendelkező Windows 7/8/10 felhasználók számára:

Hogyan lehet 3D hangot engedélyezni a játékokban Windows 7/8/10 alatt
Minden hangbuffer nulla, minden API inaktív. De amint a GX gombot bekapcsoljuk, látjuk.

Hogyan lehet 3D hangot engedélyezni a játékokban Windows 7/8/10 alatt
Ez nagyon kényelmes — nem kell további programokat indítani, mint a Creative ALchemy, és minden játék mappájába átmásolni a dsound.dll fájlt. Felmerül a nagy kérdés, miért nem tette ezt meg a Creative a drivereivel? Ráadásul az összes új Sound Blaster Z/Zx/AE modellen nem használja a hardveres DSP processzort az EAX feldolgozására, hanem szoftveresen, leegyszerűsített algoritmusokon keresztül a driverek révén. Egyesek úgy vélik, hogy a szoftveres hangfeldolgozás elegendő, mert a modern CPU-k sokkal erősebbek, mint a 10 évvel ezelőtti hangkártyák processzorai, amelyek hardveresen dolgozták fel a hangot. Ez azonban egyáltalán nem így van. A CPU-t az x86 utasítások feldolgozására optimalizálták, míg a DSP sokkal gyorsabban dolgozza fel a hangot, mint a központi processzor, hasonlóan ahhoz, ahogy a grafikus kártya is gyorsabban végzi a raszterizálást, mint a CPU. A központi processzor elegendő lesz nem bonyolult algoritmusokhoz, de a minőségi visszhang, sok hangforrással, túl sok erőforrást igényel még egy erősebb CPU-tól is, ami csökkenti a FPS-t a játékokban. Ezt már elismerte a Microsoft, és visszaállította a DSP processzorok hangfeldolgozásának támogatását a Windows 8-ban, valamint a Sony is, amely külön chipet adott hozzá a PS5 konzoljához a 3D hang feldolgozásához.

Második módszer

Ez a lehetőség megfelelő a legtöbb alaplapi integrált hangkártyát használó felhasználónak. Létezik egy ilyen projekt DSOAL — ez a DirectSound3D és EAX szoftveres emulációja az OpenAL segítségével (az OpenAL-nak kötelezően telepítve kell lennie a rendszerbe) hardveres gyorsítás nélkül. Ha a hangchiped rendelkezik bármilyen hardveres funkcióval a hang feldolgozásához, akkor azokat automatikusan használni fogja. A program olyan jól működik, hogy rajta keresztül az EAX minden régi játékomban működött, ahol az EAX beállításokban be volt jelölve. Így néz ki az AIDA64 ablak, ha a DSOAL fájlokat átmásolod a program mappájába:

Hogyan lehet 3D hangot engedélyezni a játékokban Windows 7/8/10 alatt

Ha ez nem történt meg, és olyan képet látsz, mint az első képernyőképen, akkor a natív Windows dsound.dll nem engedi átkapcsolni az API-t, ami az én esetemben is így volt. Akkor ez a módszer segíthet — bootolnod kell egy Windows Live-CD képből, és törölnöd kell a fájlt dsound.dll az Unlocker segédprogram használatával (először készíts biztonsági másolatot a visszaállítás esetére) a következő mappából: C:WindowsSysWOW64 és írd fel azt a fájlt, ami dsoal-aldrv.dll és dsound.dll. Én is így tettem, és nekem a Windows, valamint az összes játék zökkenőmentesen működött, emellett még kényelmesebb is — nem kell minden alkalommal átmásolni ezeket a fájlokat a játékok mappáiba, legrosszabb esetben vissza lehet állítani az eredetit. dsound.dll Ez a módszer azonban akkor megfelelő, ha nem használ más ASUS vagy Creative hangkártyákat, mert ebben az esetben a DirectSound3D mindig csak a DSOAL-lal fog működni, nem az eredeti illesztőprogramon vagy az ALchemy-n keresztül.

A DSOAL-t ezen a videón hallgathatja meg:

Videó lejátszása

→ Letöltés a legfrissebb könyvtárat innen lehet beszerezni

Örömmel tapasztaltam, hogy az EAX hangzása különböző hangkártyákon összehasonlítva a beépített Realtek esetében jobban szól, mint az ASUS-on vagy az én Audigy Rx-emen. Ha megnézi a műszaki adatlapokat, szinte minden Realtek chip támogatja a DirectSound3D/EAX 1&2-t. Az AIDA64 indítása Windows XP alatt megmutatja:

Hogyan lehet 3D hangot engedélyezni a játékokban Windows 7/8/10 alatt
Kiderült, hogy a Realtek ellentétben az ASUS és Creative hangkártyákkal, támogat még valamilyen I3DL2-t is (nem minden Realtek adatlap mond róla). Az I3DL2 (Interaktív 3D Audio Level 2) egy ipari szabvány a 3D interaktív hangzás kezelésére, ez egy kiterjesztés a DirectSound3D számára a reverb és az akusztika kezelésére. Alapvetően az EAX analógja, de kellemesebb hangzást kínál — kellemesebb reverb a játékokban lépéseknél, amikor a karakter barlangban vagy kastélyban fut, és élethűbb térhangzás a helyiségekben. Így ha egy régi játék Windows XP-n működik, akkor én csak XP-n játszom, hátha a hangmotor ki tudja használni az I3DL2-t. A DSOAL bár egy nyílt projekt, amelyet bárki fejleszthet, de soha nem tudja kihasználni az I3DL2-t, mert az OpenAL nem működik az I3DL2-vel, csak az EAX 1-5-tel. De van jó hír is — 8-as Windows-tól kezdve az I3DL2 benne van a XAudio 2.7 könyvtárban.Tehát a hang az új játékokban Windows 10 alatt jobb lesz, mint Windows 7 alatt.

Végül szeretném emlékeztetni, hogy az összes ilyen 3D-hangtechnológiát fejhallgatókhoz fejlesztették, 2 hangfalon gyakorlatilag nem hallja a 3D-hangzást. A részletes hangzás élvezetéhez olyan fejhallgatók kellenek, amelyek szintje SVEN AP860 nem megfelelő, olcsó fejhallgatók közül az Axelvox HD 241 — már érezhető különbség lesz köztük, mint ég és föld. Körülbelül így tájékozódjon. SVEN AP860-hoz képest, mint ég és föld. Körülbelül így tájékozódj.

Hogyan lehet 3D hangot engedélyezni a játékokban Windows 7/8/10 alatt

Hogyan lehet 3D hangot engedélyezni a játékokban Windows 7/8/10 alatt

Forrás: habr.com

Megbízható hosting vásárlása weboldalak számára, DDoS védelemmel, VPS VDS szerverek. 🔥 Megbízható webtárhely vásárlása DDoS védelemmel, VPS VDS szerverek | ProHoster