Jak włączyć dźwięk 3D w grach w Windows 7/8/10

Jak włączyć dźwięk 3D w grach w Windows 7/8/10
Prawie każdy wie, że wraz z wydaniem systemu Windows Vista w 2007 roku, a później we wszystkich jego kolejnych wersjach, interfejs API dźwiękowego DirectSound3D został usunięty z systemu Windows. Zamiast DirectSound i DirectSound3D zaczęto stosować nowe interfejsy API XAudio2 i X3DAudio. W efekcie, w starszych grach przestały być dostępne efekty dźwiękowe EAX (efekty dźwiękowe otoczenia). W tym artykule opowiem, jak przywrócić DirectSound3D/EAX do wszystkich starych gier, które obsługują te technologie, grając na systemie Windows 7/8/10. Oczywiście doświadczeni gracze już to wszystko wiedzą, ale być może artykuł ten będzie przydatny dla innych.

Stare gry nie poszły na śmietnik historii, wręcz przeciwnie, cieszą się ogromnym zainteresowaniem zarówno wśród starszych użytkowników, jak i młodszych pokoleń. Stare gry lepiej wyglądają na nowoczesnych monitorach o wysokiej rozdzielczości, dla wielu gier powstają modyfikacje poprawiające tekstury i shadery, ale jeśli chodzi o dźwięk, na początku nie było tak łatwo. Po wydaniu kolejnej generacji systemu Windows Vista, po Windows XP, deweloperzy z Microsoftu uznali, że DirectSound3D jest moralnie przestarzały — miał ograniczenie do dźwięku 6-kanałowego, nie wspierał kompresji dźwięku, był uzależniony od procesora i dlatego zastąpiono go XAudio2/X3DAudio. A ponieważ technologia EAX firmy Creative nie była samodzielnym API, takim jak niegdyś A3D od firmy Aureal, a jedynie rozszerzeniem DirectSound3D — karty dźwiękowe firmy Creative znalazły się na poboczu. Jeśli nie używać specjalnych programowych wrapperów, to grając w stare gry na systemie Windows 7/8/10, opcje w menu obejmujące EAX będą nieaktywne. A bez EAX dźwięk w grach nie będzie tak pełny, przestrzenny, z dobrą lokalizacją.

Aby rozwiązać ten problem, firma Creative opracowała program wrapper ALchemy, który przekierowuje wywołania DirectSound3D i EAX do wieloplatformowego interfejsu API OpenAL. Jednak program ten działa oficjalnie tylko z kartami dźwiękowymi firmy Creative, i to nie ze wszystkimi modelami. Na przykład, nowoczesna karta Audigy Rx z sprzętowym procesorem DSP CA10300 oficjalnie nie działa. Właściciele innych kart dźwiękowych, takich jak wbudowana Realtek, muszą używać dodatkowego sterownika programowego Creative Sound Blaster X-Fi MB, który kosztuje. Można również spróbować użyć oryginalnego programu 3DSoundBack, jednak ten program nie został ukończony przez firmę Realtek - zatrzymał się na etapie beta, działa bardzo słabo i nie z wszystkimi chipami. Ale jest lepszy sposób, który jest prostszy w użyciu i bezpłatny.

Pierwszy sposób

Zacznę od kart dźwiękowych firmy ASUS. Karty dźwiękowe ASUS DGX/DSX/DX/D1/Phoebus opierają się na chipach C-Media, a nawet chipy ASUS AV66/AV100/AV200 to te same przemalowane chipy C-Media. W specyfikacjach tych kart dźwiękowych napisano, że wspierają EAX 1/2/5. Wszystkie te chipy odziedziczyły po swoim poprzedniku CMI8738 blok DSP EAX 1/2, EAX 5 jest już programowy.

Właściciele kart z serii Xonar mają duże szczęście, wszyscy widzieli przycisk GX na panelu sterowania, ale być może nie wszyscy wiedzą, co on robi. Pokażę na zrzutach ekranu z programu AIDA64, tak wygląda zakładka dźwięku DirectX przy nieaktywnym przycisku i u właścicieli wbudowanych kart dźwiękowych Realtek w Windows 7/8/10:

Jak włączyć dźwięk 3D w grach w Windows 7/8/10
Wszystkie bufory dźwiękowe są równe zeru, wszystkie API są nieaktywne. A po włączeniu przycisku GX od razu widzimy

Jak włączyć dźwięk 3D w grach w Windows 7/8/10
To znaczy, to bardzo wygodne – nie trzeba uruchamiać dodatkowych programów, jak Creative ALchemy i kopiować pliku dsound.dll do każdej folderu z grą. Rodzi się więc wielkie pytanie, dlaczego firma Creative nie zrobiła tego w swoich sterownikach? Co więcej, w wszystkich nowych modelach Sound Blaster Z/Zx/AE nie wykorzystuje sprzętowego procesora DSP do przetwarzania EAX, ale robi to programowo przez sterownik według uproszczonych algorytmów. Niektórzy uważają, że programowe przetwarzanie dźwięku jest wystarczające, ponieważ nowoczesne CPU są znacznie mocniejsze niż procesory kart dźwiękowych sprzed 10 lat, które obsługiwały dźwięk sprzętowo. To wcale nie jest prawda. CPU jest zoptymalizowane do obsługi poleceń x86, a DSP znacznie szybciej przetwarza dźwięk niż procesor centralny, podobnie jak karta graficzna szybciej wykonuje rastrowanie niż CPU. Procesora centralnego wystarczy do prostych algorytmów, ale wysokiej jakości pogłos z wieloma źródłami dźwięku będzie zabierać zbyt dużo zasobów, nawet mocnego CPU, co wpłynie na spadek FPS w grach. Firma Microsoft już to przyznała i przywróciła obsługę dźwięku przez procesory DSP w Windows 8, a także firma Sony, która dodała do swojej konsoli PS5 oddzielny chip do przetwarzania dźwięku 3D.

Drugi sposób

Ta opcja jest odpowiednia dla użytkowników zintegrowanej karty dźwiękowej na płycie głównej, których jest większość. Istnieje taki projekt DSOAL to programowa emulacja DirectSound3D i EAX za pomocą OpenAL (OpenAL musi być obowiązkowo zainstalowane w systemie), która nie wymaga przyspieszenia sprzętowego. Jeśli Twój chip dźwiękowy ma jakieś sprzętowe funkcje do przetwarzania dźwięku, będą one wykorzystywane automatycznie. Program działa na tyle dobrze, że dzięki niemu EAX działał u mnie we wszystkich starych grach, które mają zaznaczoną opcję EAX w ustawieniach. Oto jak wygląda okno AIDA64, jeśli skopiujesz pliki DSOAL do folderu programu:

Jak włączyć dźwięk 3D w grach w Windows 7/8/10

Jeśli to jednak nie nastąpiło i masz obraz jak na pierwszym zrzucie ekranu, to znaczy, że oryginalny Windows dsound.dll nie pozwala na przechwycenie API, jak to miało miejsce w moim przypadku. Wtedy pomoże taki sposób – trzeba będzie uruchomić się z jakiegoś obrazu Windows Live-CD i usunąć plik dsound.dll nie bez pomocy narzędzia Unlocker (wcześniej zrób kopię na wypadek cofnięcia) z katalogu C:WindowsSysWOW64 i zapisać zamiast niego te właśnie dsoal-aldrv.dll i dsound.dll. Zrobiłem tak i u mnie Windows oraz wszystkie gry działały bez awarii i jest to nawet wygodniejsze — nie trzeba za każdym razem przenosić tych plików do folderów gier, w razie potrzeby można je później przywrócić do oryginalnych folderów. dsound.dll Prawda jest taka, że taki sposób sprawdzi się tylko w przypadku, gdy nie będziesz korzystać z innych kart dźwiękowych ASUS lub Creative, ponieważ w takim przypadku DirectSound3D zawsze będzie działać tylko przez DSOAL, a nie przez oryginalny sterownik lub ALchemy.

Można posłuchać DSOAL w tym filmie:

Odtwarzaj wideo

→ Pobierz gotową bibliotekę najnowszej wersji można stąd

Porównując jak brzmi EAX na różnych kartach dźwiękowych, z zaskoczeniem odkryłem, że na zintegrowanym Realtek EAX brzmi lepiej niż na kartach ASUS czy moim Audigy Rx. Jeśli poczytamy karty katalogowe, to prawie wszystkie układy Realtek obsługują DirectSound3D/EAX 1&2. Uruchamiając AIDA64 z Windows XP można zobaczyć:

Jak włączyć dźwięk 3D w grach w Windows 7/8/10
Okazuje się, że Realteki w przeciwieństwie do kart dźwiękowych ASUS i Creative obsługują jeszcze jakiś I3DL2 (nie w każdym katalogu Realteka o tym to napisano). I3DL2 (Interactive 3D Audio Level 2) — to otwarty standard przemysłowy do pracy z dźwiękiem 3D interaktywnym, jest to rozszerzenie dla DirectSound3D do pracy z reverberacją i okkluzją. W zasadzie analog EAX, ale brzmi przyjemniej — bardziej przyjemna reverberacja dźwięków kroków w grach, gdy postać biegnie po jaskini lub zamku, bardziej realistyczne brzmienie dźwięku przestrzennego w pomieszczeniach. Dlatego, jeśli stara gra działa na Windows XP, to gram tylko na XP, może silnik dźwiękowy będzie mógł wykorzystać I3DL2. DSOAL, choć jest otwartym projektem, który każdy może usprawnić, nigdy nie będzie w stanie wykorzystać I3DL2, ponieważ OpenAL nie współpracuje z I3DL2, a tylko z EAX 1-5. Ale jest też dobra wiadomość — od Windows 8 I3DL2 jest zawarte w bibliotece XAudio 2.7. Tak więc dźwięk w nowych grach pod Windows 10 będzie lepszy niż pod Windows 7.

Na koniec chcę przypomnieć, że wszystkie te technologie dźwięku 3D były rozwijane dla słuchawek, na dwóch głośnikach praktycznie nie usłyszysz dźwięku 3D. Aby cieszyć się szczegółowym dźwiękiem, słuchawki poziomu SVEN AP860 nie będą odpowiednie, z tańszych słuchawek trzeba zacząć od Axelvox HD 241 — już będzie różnica w porównaniu do SVEN AP860, jak niebo i ziemia. W ten sposób się orientuj.

Jak włączyć dźwięk 3D w grach w Windows 7/8/10

Jak włączyć dźwięk 3D w grach w Windows 7/8/10

Źródło: habr.com

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster