Hoe 3D-geluid in games in Windows 7/8/10 in te schakelen

Hoe 3D-geluid in games in Windows 7/8/10 in te schakelen
Waarschijnlijk weet bijna iedereen dat met de release van Windows Vista in 2007, en daarna in alle volgende versies van Windows, de DirectSound3D-geluids-API uit Windows werd verwijderd en de nieuwe API's XAudio3 en X2DAudio begonnen te worden gebruikt in plaats van DirectSound en DirectSound3D . Als gevolg hiervan zijn EAX-geluidseffecten (omgevingsgeluidseffecten) niet meer beschikbaar in oudere games. In dit artikel vertel ik je hoe je dezelfde DirectSound3D/EAX kunt teruggeven aan alle oude games die deze technologieën ondersteunen bij het spelen op Windows 7/8/10. Natuurlijk weten ervaren gamers dit allemaal, maar misschien is het artikel nuttig voor iemand.

Oude spellen zijn niet in de vuilnisbak van de geschiedenis beland; integendeel, er is veel vraag naar onder zowel oudere als jongere gebruikers. Oude games zien er beter uit op moderne monitoren met hoge resolutie, voor veel games worden mods uitgebracht die texturen en shaders verbeteren, maar in eerste instantie was er geen geluk met het geluid. Met de release van de volgende generatie Windows Vista, na Windows XP, beschouwden Microsoft-ontwikkelaars DirectSound3D als verouderd: het was beperkt tot 6-kanaals audio, ondersteunde geen audiocompressie, was processorafhankelijk en werd daarom vervangen door XAudio2/X3DAudio . En omdat de EAX-technologie van Creative geen onafhankelijke API was, zoals A3D van Aureal ooit was, maar slechts een uitbreiding van DirectSound3D, bleven de geluidskaarten van Creative achter. Als u geen speciale softwarewrappers gebruikt, zullen bij het spelen op Windows 7/8/10 in oude games de menu-items die EAX bevatten niet actief zijn. En zonder EAX zal het geluid in games niet zo rijk, volumineus of gepositioneerd zijn.

Om dit probleem op te lossen heeft Creative het ALchemy wrapper-programma ontwikkeld, dat DirectSound3D- en EAX-aanroepen omleidt naar de platformonafhankelijke OpenAL API. Maar dit programma werkt officieel met Creative-geluidskaarten, en zelfs niet helemaal hetzelfde model. Een moderne Audigy Rx-kaart met een CA10300 hardware DSP-processor werkt bijvoorbeeld officieel niet. Voor bezitters van andere geluidskaarten, bijvoorbeeld ingebouwde Realtek, moet je ook de Creative Sound Blaster X-Fi MB driversoftware gebruiken, wat geld kost. Je kunt ook het native 3DSoundBack-programma proberen, maar het is nog niet afgemaakt door Realtek - het stopte in de bètaversiefase, het werkt niet goed en werkt niet met alle chips. Maar er is een betere manier: het is gemakkelijker te gebruiken en gratis.

De eerste methode

Ik begin met ASUS-geluidskaarten. ASUS DGX/DSX/DX/D1/Phoebus-geluidskaarten zijn gebaseerd op C-Media-chips, en zelfs ASUS AV66/AV100/AV200-chips zijn dezelfde geherlabelde C-Media-chips. De kenmerken van deze geluidskaarten zeggen dat ze EAX 1/2/5 ondersteunen. Al deze chips hebben van hun voorganger het CMI8738 DSP-software-hardwareblok EAX 1/2 geërfd, EAX 5 is al software.

Bezitters van kaarten uit de Xonar-serie hebben veel geluk: iedereen heeft de GX-knop op het bestuurderspaneel gezien, maar misschien weet niet iedereen wat deze doet. Ik zal je in screenshots van het AIDA64-programma laten zien hoe het DirectX-geluidstabblad eruit ziet als de knop niet actief is en voor bezitters van ingebouwde Realtek-geluidskaarten in Windows 7/8/10:

Hoe 3D-geluid in games in Windows 7/8/10 in te schakelen
Alle audiobuffers zijn nul, alle API's zijn inactief. Maar direct na het aanzetten van de GX-knop zien we het

Hoe 3D-geluid in games in Windows 7/8/10 in te schakelen
Die. erg handig - u hoeft geen extra programma's zoals Creative ALchemy te starten en het bestand dsound.dll naar elke gamemap te kopiëren. De grote vraag rijst: waarom heeft Creative dit niet gedaan in zijn drivers? Bovendien gebruikt het in alle nieuwe Sound Blaster Z/Zx/AE-modellen geen hardware DSP-processor om EAX te verwerken, maar gebeurt dit in software via een stuurprogramma met behulp van vereenvoudigde algoritmen. Sommige mensen zijn van mening dat op software gebaseerde audioverwerking voldoende is omdat moderne CPU's veel krachtiger zijn dan de geluidskaartprocessors van 10 jaar geleden, die audio in hardware verwerkten. Het is helemaal niet zo. De CPU is geoptimaliseerd om x86-opdrachten te verwerken, en de DSP verwerkt het geluid van de centrale processor veel sneller, net zoals de videokaart sneller rasterisatie produceert dan de CPU. De centrale processor is voldoende voor eenvoudige algoritmen, maar hoogwaardige nagalm met veel geluidsbronnen zal zelfs van een krachtige CPU te veel bronnen in beslag nemen, wat de daling van de FPS in games zal beïnvloeden. Microsoft heeft dit al onderkend en heeft al ondersteuning voor audioverwerking met DSP-processors in Windows 8 teruggegeven, evenals Sony, dat een aparte chip aan zijn PS5-console heeft toegevoegd voor het verwerken van 3D-audio.

De tweede manier

Deze optie is geschikt voor gebruikers van een ingebouwde geluidskaart in het moederbord, wat de meerderheid is. Er bestaat zo'n project DSOAL is een software-emulatie van DirectSound3D en EAX met behulp van OpenAL (OpenAL moet op het systeem zijn geïnstalleerd) en vereist geen hardwareversnelling. Als uw geluidschip hardwarefuncties voor audioverwerking heeft, worden deze automatisch gebruikt. Het programma werkt zo goed dat ik EAX hierdoor aan het werk kreeg met al mijn oude games die het EAX-selectievakje in de instellingen hadden. Zo ziet het AIDA64-venster eruit als u de DSOAL-bestanden naar de programmamap kopieert:

Hoe 3D-geluid in games in Windows 7/8/10 in te schakelen

Als dit niet gebeurt en je hebt een afbeelding zoals in de allereerste schermafbeelding, dan is het native Windows dsound.dll staat niet toe dat je de API onderschept, zoals in mijn geval het geval was. Dan zal deze methode helpen: u moet opstarten vanaf een Windows Live-CD-image en het bestand verwijderen dsound.dll niet zonder de hulp van het hulpprogramma Unlocker (na het maken van een kopie in geval van een rollback) uit de map C:WindowsSysWOW64 en schrijf in plaats daarvan dezelfde op dsoal-aldrv.dll и dsound.dll. Ik deed dit en voor mij werkten zowel Windows zelf als alle games zonder fouten en het is zelfs nog handiger - je hoeft deze bestanden niet elke keer naar de mappen met games te kopiëren, in extreme gevallen kun je de originele terugsturen rug dsound.dll in situ. Toegegeven, deze methode is geschikt als je geen andere ASUS- of Creative-geluidskaarten gebruikt, omdat DirectSound3D in dit geval altijd alleen via DSOAL werkt, en niet via de native driver of ALchemy.

Je kunt DSOAL beluisteren in deze video:

→ Downloaden De nieuwste versie van de kant-en-klare bibliotheek vindt u hier

Toen ik vergeleek hoe EAX klinkt op verschillende geluidskaarten, was ik verrast toen ik ontdekte dat de ingebouwde Realtek EAX beter klinkt dan op Asus of op mijn Audigy Rx. Als je de datasheets leest, ondersteunen bijna alle Realtek-chips DirectSound3D/EAX 1&2. Als u AIDA64 vanuit Windows XP uitvoert, kunt u het volgende zien:

Hoe 3D-geluid in games in Windows 7/8/10 in te schakelen
Het blijkt dat Realtek, in tegenstelling tot ASUS- en Creative-geluidskaarten, ook een soort I3DL2 ondersteunt (niet elke Realtek-datasheet zegt dit). I3DL2 (Interactive 3D Audio Level 2) is een open industriestandaard voor het werken met 3D interactieve audio, en is een uitbreiding op DirectSound3D voor het werken met nagalm en occlusie. In principe is het analoog aan EAX, maar het klinkt mooier: aangenamere nagalm bij stappenspellen, wanneer een personage door een grot of kasteel rent, realistischer klinken van surroundgeluid in kamers. Daarom, als het oude spel op Windows XP draait, speel ik alleen op XP, misschien kan de geluidsengine I3DL2 gebruiken. Hoewel DSOAL een open project is en iedereen het kan verbeteren, zal het nooit I3DL2 kunnen gebruiken, omdat OpenAL werkt niet met I3DL2, maar alleen met EAX 1-5. Maar er is goed nieuws: vanaf Windows 8 is I3DL2 inbegrepen XAudio 2.7-bibliotheek. Het geluid in nieuwe games onder Windows 10 zal dus beter zijn dan onder Windows 7.

En tot slot wil ik je eraan herinneren dat al deze 3D-geluidstechnologieën zijn ontwikkeld voor hoofdtelefoons; op 2 speakers hoor je nauwelijks 3D-geluid. Om te genieten van een hoofdtelefoon met gedetailleerd geluidsniveau SVEN AP860 past niet, van goedkope koptelefoons waar je mee moet beginnen Axelvox HD241 - er zal al een verschil zijn met SVEN AP860zoals hemel en aarde. Oriënteer jezelf op de een of andere manier zo.

Hoe 3D-geluid in games in Windows 7/8/10 in te schakelen

Hoe 3D-geluid in games in Windows 7/8/10 in te schakelen

Bron: www.habr.com

Voeg een reactie