Droši vien gandrīz visi zina, ka ar izlaišanu Windows Vista 2007. gadā un pēc tam visās turpmākajās versijās Windows DirectSound3D audio API ir noņemts no Windows, DirectSound un DirectSound3D tika aizstāti ar jaunajiem XAudio2 un X3DAudio API. Tā rezultātā EAX (vides skaņas efekti) vairs nav pieejami vecākās spēlēs. Šajā rakstā es paskaidrošu, kā atjaunot DirectSound3D/EAX visās vecākās spēlēs, kas atbalsta šīs tehnoloģijas. Windows 2010. gada 8. jūlijs. Protams, pieredzējuši spēlētāji to visu zina, bet varbūt raksts kādam būs noderīgs.
Vecās spēles nav aizsūtītas vēstures mēslainē; gluži pretēji, tās ir ļoti pieprasītas gan vecākās, gan jaunākās paaudzes vidū. Vecās spēles labāk izskatās uz mūsdienu augstas izšķirtspējas monitoriem, un daudzu spēļu modifikācijas uzlabo tekstūras un ēnotājus, taču sākotnēji skaņa sagādāja nelielu vilšanos. Izlaižot nākamo paaudzi... Windows Vista, sekojot Windows XP versijā Microsoft izstrādātāji uzskatīja DirectSound3D par novecojušu — tas bija ierobežots līdz 6 kanālu audio, neatbalstīja audio saspiešanu un bija atkarīgs no procesora —, tāpēc to aizstāja ar XAudio2/X3DAudio. Un tā kā Creative EAX tehnoloģija nebija atsevišķa API, tāpat kā Aureal A3D, bet gan tikai DirectSound3D paplašinājums, Creative skaņas kartes tika atstātas novārtā. Ja vien neizmantojat īpašus programmatūras apvalkus, atskaņošana uz Windows 2010. gada 8. jūlijā vecākās spēlēs izvēlnes vienumi, kas iespējo EAX, tiks atspējoti. Bez EAX spēles skaņa būs mazāk bagātīga, ietilpīga un pozicionāla.
Lai atrisinātu šo problēmu, Creative izstrādāja ALchemy iesaiņojuma programmu, kas novirza DirectSound3D un EAX izsaukumus uz starpplatformu OpenAL API. Bet šī programma oficiāli darbojas ar Creative skaņas kartēm un pat ne gluži to pašu modeli. Piemēram, moderna Audigy Rx karte ar CA10300 aparatūras DSP procesoru oficiāli nedarbojas. Citu skaņas karšu īpašniekiem, piemēram, iebūvēto Realtek, jums ir jāizmanto arī Creative Sound Blaster X-Fi MB draivera programmatūra, kas maksā naudu. Varat arī izmēģināt vietējo 3DSoundBack programmu, taču Realtek to nepabeidza - tā apstājās beta versijas stadijā, tā nedarbojas labi un nedarbojas ar visām mikroshēmām. Bet ir labāks veids, tas ir vieglāk lietojams un bezmaksas.
Pirmā metode
Sākšu ar ASUS skaņas kartēm. ASUS DGX/DSX/DX/D1/Phoebus skaņas kartes ir balstītas uz C-Media mikroshēmām, un pat ASUS AV66/AV100/AV200 mikroshēmas ir tās pašas nomainītās C-Media mikroshēmas. Šo skaņas karšu īpašības liecina, ka tās atbalsta EAX 1/2/5. Visas šīs mikroshēmas ir mantotas no to priekšgājēja CMI8738 DSP programmatūras-aparatūras bloka EAX 1/2, EAX 5 jau ir programmatūra.
Xonar sērijas karšu īpašniekiem ir ļoti paveicies; visi ir redzējuši GX pogu draiveru panelī, bet, iespējams, ne visi zina, ko tā dara. Es jums parādīšu ar ekrānuzņēmumiem no AIDA64; šādi izskatās DirectX skaņas cilne, kad poga ir neaktīva. Integrēto Realtek skaņas karšu īpašniekiem Windows 7 / 8 / 10:

Visi audio buferi ir nulle, visas API ir neaktīvas. Bet uzreiz pēc GX pogas ieslēgšanas mēs redzam

Tātad, tas ir ļoti ērti — nav nepieciešams palaist papildu programmas, piemēram, Creative ALchemy, un kopēt failu dsound.dll katrā spēles mapē. Galvenais jautājums ir, kāpēc Creative to neieviesa savos draiveros? Turklāt visos jaunajos Sound Blaster Z/Zx/AE modeļos EAX apstrādei netiek izmantots aparatūras DSP procesors, bet gan tiek darīts programmatūrā, izmantojot draiveri, izmantojot vienkāršotus algoritmus. Daži cilvēki uzskata, ka programmatūras skaņas apstrāde ir pietiekama, jo mūsdienu centrālie procesori ir daudz jaudīgāki nekā skaņas karšu procesori pirms 10 gadiem, kas skaņu apstrādāja aparatūrā. Tas ir pilnīgi nepatiesi. Centrālais procesors ir optimizēts x86 komandām, un DSP apstrādā skaņu daudz ātrāk nekā centrālais procesors, tāpat kā grafikas karte veic rasterizāciju ātrāk nekā centrālais procesors. Centrālais procesors ir pietiekams vienkāršiem algoritmiem, taču augstas kvalitātes atbalss ar vairākiem skaņas avotiem patērēs pārāk daudz resursu pat jaudīgam centrālajam procesoram, kas ietekmēs FPS spēlēs. To jau ir atzinis Microsoft un jau ir atgriezis atbalstu skaņas apstrādei ar DSP procesoriem. Windows 8, kā arī Sony, kas savai PS5 konsolei pievienoja atsevišķu mikroshēmu 3D skaņas apstrādei.
otrā metode
Šī opcija ir piemērota lietotājiem, kuriem mātesplatē ir iebūvēta skaņas karte, kas ir lielākā daļa. Ir tāds projekts ir DirectSound3D un EAX programmatūras emulācija, izmantojot OpenAL (sistēmā jābūt instalētai OpenAL), un tai nav nepieciešams aparatūras paātrinājums. Ja jūsu skaņas mikroshēmai ir kādas aparatūras funkcijas audio apstrādei, tās tiks izmantotas automātiski. Programma darbojas tik labi, ka caur to es panācu, ka EAX strādā pie visām manām vecajām spēlēm, kuru iestatījumos bija EAX izvēles rūtiņa. Šādi izskatās AIDA64 logs, ja kopējat DSOAL failus programmas mapē:

Ja tas nenotika un jums ir attēls, piemēram, pašā pirmajā ekrānuzņēmumā, tad tas ir oriģināls Windows dsound.dll Tas neļauj pārtvert API, kā tas notika manā gadījumā. Tad šī metode palīdzēs — jums būs jāpalaiž no kāda Windows Live-CD attēls un faila dzēšana dsound.dll ne bez utilīta Unlocker palīdzības (pēc kopijas izgatavošanas atcelšanas gadījumā) no direktorija C:WindowsSysWOW64 un tā vietā pierakstiet tos pašus dsoal-aldrv.dll и dsound.dllEs darīju to pašu sev, kā sev. Windows, un visas spēles darbojās bez problēmām, un tas ir vēl ērtāk - jums nav nepieciešams katru reizi kopēt šos failus spēļu mapēs, ārkārtējos gadījumos varat atgriezt oriģinālu dsound.dll vietā. Tiesa, šī metode ir piemērota, ja neizmantojat citas ASUS vai Creative skaņas kartes, jo šajā gadījumā DirectSound3D vienmēr darbosies tikai caur DSOAL, nevis caur vietējo draiveri vai ALchemy.
Varat klausīties DSOAL šajā video:

→ Lejupielādēt
Salīdzinot EAX skanējumu dažādās skaņas kartēs, mani pārsteidza tas, ka integrētais Realtek EAX skan labāk nekā Asus kartes vai mans Audigy Rx. Ja izlasīsiet datu lapas, gandrīz visi Realtek mikroshēmas atbalsta DirectSound3D/EAX 1 un 2. AIDA64 palaišana no Windows XP var redzēt:

Izrādās, ka Realtek, atšķirībā no ASUS un Creative skaņas kartēm, atbalsta arī kaut ko ar nosaukumu I3DL2 (ne katrā Realtek datu lapā tas ir minēts). I3DL2 (Interactive 3D Audio Level 2) ir atvērts nozares standarts 3D interaktīvai skaņai; tas ir DirectSound3D paplašinājums atbalss un aizseguma nodrošināšanai. Tas būtībā ir tāds pats kā EAX, bet skan patīkamāk — patīkamāka atbalss spēlēs, piemēram, soļi, kad varonis skrien cauri alai vai pilij, un reālistiskāka telpiskā skaņa telpās. Tātad, ja vecāka spēle darbojas uz Windows XP, es spēlēju tikai uz XP. Varbūt skaņas dzinējs varēs izmantot I3DL2. DSOAL, lai gan ir atvērtā koda projekts un jebkurš to var uzlabot, nekad nevarēs izmantot I3DL2, jo OpenAL nedarbojas ar I3DL2, tikai ar EAX 1-5. Bet ir labas ziņas: sākot ar Windows 8 I3DL2 iekļauts Tātad skaņa jaunajās spēlēs ir zem Windows 10 būs labāk nekā zem Windows 7.
Un visbeidzot vēlos atgādināt, ka visas šīs 3D skaņas tehnoloģijas tika izstrādātas austiņām, 2 skaļruņos 3D skaņu gandrīz nedzirdēsiet. Lai izbaudītu detalizētas skaņas līmeņa austiņas SVEN AP860 nederēs, no lētām austiņām jāsāk ar Axelvox HD 241 - jau būs atšķirība ar SVEN AP860kā debesis un zeme. Kaut kā orientējies šādi.
Avots: www.habr.com
