Vjerojatno je skoro svima poznato da je izlaskom Windows Vista 2007. godine, a potom i svih sljedećih verzija Windowsa, zvučni API DirectSound3D uklonjen iz Windowsa, a umjesto DirectSounda i DirectSound3D počeli su se koristiti novi API-ji XAudio2 i X3DAudio. Kao rezultat toga, u starim igrama postali su nedostupni zvučni specijalni efekti EAX (zvučni efekti okruženja). U ovom članku ću objasniti kako vratiti taj stari DirectSound3D/EAX u sve stare igre koje podržavaju ove tehnologije na Windowsu 7/8/10. Naravno, iskusni gameri to već znaju, ali možda će ovaj članak nekome biti koristan.
Stare igre nisu otišle na otpad povijesti, naprotiv, uživaju ogroman interes kako od strane starije generacije, tako i mlađe. Stare igre izgledaju bolje na modernim ekranima visoke razlučivosti, za mnoge igre izlaze modovi koji poboljšavaju teksture i shadere, ali s zvukom su isprva imali problema. Izlaskom sljedeće generacije Windows Vista, nakon Windows XP, Microsoftovi programeri su smatrali da je DirectSound3D moralno zastario – imao je ograničenje na 6-kanalni zvuk, nije podržavao kompresiju zvuka, bio je procesorski ovisan i zato mu je zamjena postao XAudio2/X3DAudio. A s obzirom na to da je tehnologija EAX tvrtke Creative bila neovisno API, kao što je nekada bio A3D tvrtke Aureal, već samo proširenje DirectSound3D – zvučne kartice tvrtke Creative našle su se izvan igre. Ako se ne koriste posebni softverski omotači, prilikom igranja starih igara na Windows 7/8/10 menu stavke koje uključuju EAX neće biti aktivne. A bez EAX zvuk u igrama neće biti toliko bogat, prostoran, pozicioniran.
Kako bi riješila ovaj problem, kompanija Creative je razvila wrapper program ALchemy, koji preusmjerava pozive DirectSound3D i EAX u cross-platform API OpenAL. Međutim, ovaj program službeno radi samo sa zvučnim karticama kompanije Creative i to ne sa svim modelima. Na primjer, moderna karta Audigy Rx sa hardverskim DSP procesorom CA10300 službeno ne funkcioniše. Za vlasnike drugih zvučnih kartica, kao što je integrisana Realtek, potrebno je koristiti još jedan softverski drajver Creative Sound Blaster X-Fi MB, koji košta novac. Možete pokušati i sa originalnim programom 3DSoundBack, ali on nije dovršen od strane kompanije Realtek — ostao je u beta verziji, radi loše i ne sa svim čipovima. No, postoji bolji način, jednostavniji za korištenje i besplatan.
Prvi način
Počnimo sa zvučnim karticama kompanije ASUS. Zvučne karte kompanije ASUS DGX/DSX/DX/D1/Phoebus temelje se na čipovima C-Media, a čak i čipovi ASUS AV66/AV100/AV200 — to su sve iste preimenovane čipove C-Media. U karakteristikama ovih zvučnih kartica piše da podržavaju EAX 1/2/5. Svi ovi čipovi su naslijedili od svog prethodnika CMI8738 DSP modul hardverski EAX 1/2, EAX 5 je već softverski.
Vlasnicima kartica serije Xonar je jako sretno, svi su vidjeli dugme GX na panelu drajvera, ali možda ne znaju svi što ono radi. Pokažem na snimcima programa AIDA64, ovako izgleda kartica DirectX zvuka kada dugme nije aktivno i kod vlasnika integrisanih zvučnih kartica Realtek u Windows 7/8/10:

Sve zvučne baferi su jednaki nuli, svi API su neaktivni. A odmah nakon uključivanja dugmeta GX vidimo

Dakle, vrlo je praktično — ne morate pokretati dodatne programe poput Creative ALchemy i kopirati datoteku dsound.dll u svaku mapu s igrom. Postavlja se veliko pitanje zašto to nije učinila tvrtka Creative u svojim upravljačkim programima? Štoviše, u svim novim modelima Sound Blaster Z/Zx/AE ne koristi hardverski DSP procesor za obradu EAX-a, već to čini softverski putem upravljačkog programa prema pojednostavljenim algoritmima. Neki ljudi smatraju da je softverska obrada zvuka dovoljna, jer su moderne CPU mnogo snažnije od procesora zvučnih kartica prije 10 godina koje su hardverski obrađivale zvuk. To nije točno. CPU je optimiziran za obradu x86 instrukcija, dok DSP brže obrađuje zvuk od centralnog procesora, kao što grafička kartica brže provodi rasterizaciju nego CPU. Centralni procesor će biti dovoljan za jednostavnije algoritme, ali kvalitetna reverberacija s više izvora zvuka oduzet će previše resursa, čak i snažnom CPU-u, što će rezultirati smanjenjem FPS-a u igrama. To je već priznala tvrtka Microsoft i ponovo je omogućila podršku za obradu zvuka DSP procesorima u Windows 8, kao i tvrtka Sony koja je dodala poseban čip za obradu 3D zvuka u svoju konzolu PS5.
Drugi način
Ova opcija je pogodna za korisnike ugrađene zvučne kartice na matičnoj ploči, kojih je većina. Postoji takav projekt — to je softverska emulacija DirectSound3D i EAX-a putem OpenAL (OpenAL mora biti obvezno instaliran u sustavu) koja ne zahtijeva hardversko ubrzanje. Ako vaša zvučna čip ima neke hardverske funkcije za obradu zvuka, one će se automatski koristiti. Program radi tako dobro da je EAX radio sa mnom u svim starim igrama gde postoji oznaka EAX u podešavanjima. Ovako izgleda prozor AIDA64, ako kopirate datoteke DSOAL u mapu programa:

Ako se to nije dogodilo i imate sliku kao na prvom snimku ekrana, znači da izvorni Windows dsound.dll ne dopušta presretanje API-a, kao što je to bio slučaj u mom slučaju. Tada će pomoći ovakav način — potrebno je pokrenuti neki Windows Live-CD i ukloniti datoteku dsound.dll ne bez pomoći alata Unlocker (prije toga napravite kopiju za slučaj povratka) iz direktorija C:WindowsSysWOW64 i umjesto nje zapisati one dsoal-aldrv.dll i dsound.dll. Učinila sam to i kod mene su i Windows i sve igre radile bez problema, čak je i zgodnije — ne trebate svaki put kopirati te datoteke u mape s igrama, a u najgorem slučaju, možete ih vratiti natrag. dsound.dll Istina, ovaj način će odgovarati ako ne koristite druge zvučne kartice ASUS ili Creative, jer će vam u tom slučaju DirectSound3D uvijek raditi samo preko DSOAL-a, a ne preko izvornih drajvera ili ALchemy.
Možete poslušati DSOAL u ovom videu:

→ Preuzmite
Uspoređujući kako EAX zvuči na različitim zvučnim karticama, s iznenađenjem sam otkrila da na ugrađenom Realteku EAX zvuči bolje nego na Asusima ili na mojoj Audigy Rx. Ako pročitate tehničke podatke, gotovo svi Realtek čipovi podržavaju DirectSound3D/EAX 1&2. Pokrenuvši AIDA64 pod Windows XP, može se vidjeti:

Ispostavilo se da Realtek, za razliku od ASUS i Creative zvučnih kartica, podržava i neki I3DL2 (nije u svakom Realtek tehničkom dokumentu to pisano). I3DL2 (Interactive 3D Audio Level 2) je otvoreni industrijski standard za 3D interaktivni zvuk, to je proširenje za DirectSound3D za rad s reverbom i okluzijom. U načelu, to je analogija EAX-u, ali zvuči ugodnije — ugodniji reverb u igrama koraka, kada lik trči kroz pećinu ili dvorac, realističniji zvuk prostornog zvuka u prostorijama. Dakle, ako stara igra radi na Windows XP, igram samo na XP jer se nadam da će zvučni engine moći iskoristiti I3DL2. DSOAL, iako je otvoreni projekt i svatko ga može unaprijediti, nikada neće moći iskoristiti I3DL2 jer OpenAL ne radi s I3DL2, već samo s EAX 1-5. No, postoji i dobra vijest — počevši s Windows 8, I3DL2 je uključen u Dakle, zvuk u novim igrama pod Windows 10 bit će bolji nego pod Windows 7.
I na kraju, želim naglasiti da su sve te tehnologije 3D zvuka razvijene za slušalice, na dva zvučnika praktički nećete čuti 3D zvuk. Da biste uživali u detaljnom zvuku, slušalice razine SVEN AP860 neće odgovarati, od jeftinijih slušalica trebate početi s Axelvox HD 241 — već će biti razlika u odnosu na SVEN AP860, poput neba i zemlje. Tako to gledajte.
Izvor: habr.com
