
Probablemente casi todo el mundo sepa que con el lanzamiento de Windows Vista en 2007, y después y en todas las versiones posteriores de Windows, la API de sonido DirectSound3D se eliminó de Windows, en lugar de DirectSound y DirectSound3D, las nuevas API XAudio2 y X3DAudio comenzaron a usarse. Como resultado, los efectos de sonido EAX (efectos de sonido ambiental) dejaron de estar disponibles en juegos más antiguos. En este artículo, le diré cómo devolver el mismo DirectSound3D / EAX a todos los juegos antiguos que admiten estas tecnologías cuando se juega en Windows 7/8/10. Por supuesto, todos los jugadores experimentados lo saben, pero tal vez el artículo sea útil para alguien.
Los juegos antiguos no han ido al basurero de la historia, por el contrario, tienen una gran demanda, tanto entre los usuarios de la generación mayor como entre los más jóvenes. Los juegos antiguos se ven mejor en los monitores modernos de alta resolución, para muchos juegos hay mods que mejoran las texturas y los shaders, pero al principio no tuvimos suerte con el sonido. Con el lanzamiento de la próxima generación de Windows Vista, después de Windows XP, los desarrolladores de Microsoft consideraron que DirectSound3D estaba desactualizado: tenía una limitación de audio de 6 canales, no admitía compresión de audio, dependía del procesador y, por lo tanto, fue reemplazado por XAudio2 / X3DAudio. Y dado que la tecnología EAX de Creative no era una API independiente, como lo fue el A3D de Aureal en un momento, sino solo una extensión de DirectSound3D, las tarjetas de sonido de Creative estaban por la borda. Si no utiliza envoltorios de software especiales,luego, al jugar en Windows 7/8/10 en los elementos del menú de juegos antiguos, incluido EAX, no estarán activos. Y sin EAX, el sonido en los juegos no será tan jugoso, voluminoso, posicionado.
Para resolver este problema, Creative ha desarrollado ALchemy, un programa contenedor que redirige las llamadas DirectSound3D y EAX a la API multiplataforma de OpenAL. Pero este programa funciona oficialmente con tarjetas de sonido de Creative, y aun así no con todos los modelos. Por ejemplo, una tarjeta Audigy Rx moderna con un procesador DSP de hardware CA10300 no funciona oficialmente. Para los propietarios de otras tarjetas de sonido, por ejemplo el Realtek integrado, es necesario utilizar el software controlador Creative Sound Blaster X-Fi MB, que cuesta dinero. También puede probar el programa nativo 3DSoundBack, pero Realtek no lo completó: se detuvo en la etapa beta, no funciona bien y no funciona con todos los chips. Pero hay una forma mejor, es más fácil de usar y es gratis.
La primera forma
Empezaré con tarjetas de sonido de ASUS. Las tarjetas de sonido de ASUS DGX / DSX / DX / D1 / Phoebus se basan en chips C-Media, e incluso los chips ASUS AV66 / AV100 / AV200 son los mismos chips C-Media reetiquetados. Las características de estas tarjetas de sonido dicen que son compatibles con EAX 1/2/5. Todos estos chips heredados de su predecesor CMI8738 DSP-hardware-software EAX 1/2, EAX 5 ya es software.
Los titulares de tarjetas de la serie Xonar son muy afortunados de haber visto el botón GX en el panel del controlador, pero quizás no todos sepan lo que hace. Lo mostraré en las capturas de pantalla del programa AIDA64, así es como se ve la pestaña de sonido de DirectX con un botón inactivo y para los propietarios de tarjetas de sonido Realtek integradas en Windows 7/8/10:

Todos los búferes de sonido son cero, todas las API están inactivas. Pero justo después de encender el botón GX, vemos

Aquellos. muy conveniente: no es necesario iniciar programas adicionales como Creative ALchemy y copiar el archivo dsound.dll en cada carpeta con el juego. Esto plantea una gran pregunta: ¿por qué Creative no hizo esto en sus controladores? Además, en todos los modelos nuevos de Sound Blaster Z / Zx / AE, no utiliza un procesador DSP de hardware para procesar EAX, sino que lo hace mediante un controlador mediante algoritmos simplificados. Algunas personas piensan que el procesamiento de sonido por software es suficiente porque las CPU modernas son mucho más poderosas que los procesadores de tarjetas de sonido de hace 10 años que procesaban el sonido en hardware. No es así en absoluto. La CPU está optimizada para procesar comandos x86, y el DSP procesa el sonido del procesador central mucho más rápido, y la tarjeta de video es más rápida en rasterizar que la CPU. El procesador central es suficiente para algoritmos no complejos,pero la reverberación de alta calidad con muchas fuentes de sonido consumirá demasiados recursos incluso de una CPU potente, lo que afectará la caída de FPS en los juegos. Esto ya ha sido reconocido por Microsoft y ya ha devuelto el soporte para el procesamiento de sonido con procesadores DSP en Windows 8, así como por Sony, que agregó un chip separado para procesar el sonido 3D a su decodificador PS5.
Segunda forma
Esta opción es adecuada para usuarios de la tarjeta de sonido incorporada en la placa base, que son la mayoría. Existe un proyecto de este tipo DSOAL : esta es una emulación de software de DirectSound3D y EAX que usa OpenAL (OpenAL debe estar instalado en el sistema) que no requiere aceleración de hardware. Si su chip de sonido tiene funciones de hardware para procesar el sonido, se utilizarán automáticamente. El programa funciona tan bien que a través de él he ganado EAX en todos los juegos antiguos en los que hay una marca de verificación para EAX en la configuración. Así es como se ve la ventana de AIDA64 si copia los archivos DSOAL a la carpeta del programa:

Si esto no sucedió y tiene una imagen, como en la primera captura de pantalla, entonces el dsound.dll nativo de Windows no permite interceptar la API, como fue en mi caso. Entonces este método ayudará: deberá iniciar desde alguna imagen de Windows Live-CD y eliminar el archivo dsound.dll, no sin la ayuda de la utilidad Unlocker (después de hacer una copia en caso de reversión) desde el directorio C: \ Windows \ SysWOW64 y anotar lo mismo dsoal-aldrv.dll y dsound.dll . Hice esto y para mí, tanto Windows como todos los juegos funcionaron sin fallas, por lo que es aún más conveniente: no es necesario que copie estos archivos en las carpetas con juegos cada vez, como último recurso, puede devolver el dsound.dll nativo .en su lugar. Es cierto que este método es adecuado si no va a utilizar otras tarjetas de sonido ASUS o Creative, porque en este caso DirectSound3D siempre funcionará para usted solo a través de DSOAL, y no a través del controlador nativo o ALchemy.
Puedes escuchar DSOAL en este video:
→ Puede descargar la biblioteca lista para usar de la última versión desde aquí.
Comparando cómo suena EAX en diferentes tarjetas de sonido, me sorprendió descubrir que EAX suena mejor en el Realtek integrado que en Asus o en mi Audigy Rx. Si lee las hojas de datos, casi todos los chips Realtek son compatibles con DirectSound3D / EAX 1 y 2. Al ejecutar AIDA64 desde Windows XP, puede ver:

Resulta que Realtecs, a diferencia de ASUS y las tarjetas de sonido Creative, admite algunos otros I3DL2 (no todas las hojas de datos de Realtech dicen sobre esto). I3DL2 (Nivel de audio 3D interactivo 2) es un estándar industrial abierto para trabajar con sonido interactivo 3D, es una extensión de DirectSound3D para trabajar con reverberación y oclusión. En principio, es análogo a EAX, pero suena mejor: una reverberación más agradable en los juegos de pasos cuando un personaje corre por una cueva o un castillo, un sonido envolvente más realista en las habitaciones. Por lo tanto, si el juego antiguo funciona en Windows XP, entonces juego solo en XP, de repente el motor de sonido podrá usar I3DL2. Aunque DSOAL es un proyecto de código abierto y cualquiera puede mejorarlo, nunca podrá usar I3DL2, porque OpenAL no funciona con I3DL2, solo EAX 1-5.Pero hay buenas noticias: a partir de Windows 8, I3DL2 se incluye enla biblioteca XAudio 2.7 . Así que el sonido en los juegos nuevos bajo Windows 10 será mejor que bajo Windows 7.
Y finalmente, me gustaría recordarte que todas estas tecnologías de sonido 3D fueron desarrolladas para auriculares, no escucharás prácticamente sonido 3D en 2 altavoces. Para disfrutar de un sonido detallado, los auriculares del nivel SVEN AP860 no funcionarán, desde auriculares económicos, debe comenzar con Axelvox HD 241 ; ya habrá una diferencia con SVEN AP860 , como el cielo y la tierra. Déjese guiar de alguna manera.