Seguramente has visto el termino RayTracing Audio en alguna parte, pero no tienes ni idea de que es. En este artículo te explicaremos que es esto del RayTracing Audio, o mejor dicho, TrueAudio Next de AMD. Y es que la denominación comercial de RayTracing Audio se fundamenta en la extensión del termino RayTracing para el trazado de rayos de luz implementado por NVIDIA.

Realmente en este artículo encontraras muy pocas veces el término RayTracing Audio. Como decíamos, se debe a que el nombre de la tecnología es TrueAudio Next y ha sido desarrollada por AMD. Realmente la definición de trazado de rayos para el sonido no es correcta, sería más bien trazado de ondas. Pero ya se sabe, hay que ponerle un nombre comercial que llame la atención.

Para entender mejor cómo se comporta el sonido, es interesante entender un poco como funciona el Efecto Doppler. Buscando evitar decir algo incorrecto, prefiero dejaros un vídeo de Santaolalla, ya que está más cualificado que yo para explicarlo.

El origen de TrueAudio Next: la realidad virtual

La realidad virtual es una nueva tecnología que está creciendo poco a poco y que genera importantes desafíos, entre ellos, el procesamiento del audio.

Durante la historia de los videojuegos, el realismo de la representación de audio se ha mantenido relativamente. Esto se ve con mayor profundidad si miramos los avances en representación gráfica y en las cinemáticas modernas. Pero pese a que el sonido es inherente al sentido tridimensional, el audio no ha sufrido grandes cambios.

En un sistema 2D, como pueda ser una pantalla, si escuchas un sonido tras de ti y te giras, veras la fuente del sonido o una pared u otro elemento. Los juegos FPS suelen usar audio 3D para ofrecer asistencia táctica que nos puede beneficial. Incluso en el cine, el sonido envolvente se basa en altavoces traseros y laterales que ofrecen efectos de relleno ambienta. No suelen ofrecer señales auditivamente significativas, sencillamente, porque de hacerlo nos podrían distraer de la acción de la pantalla.

Montar una pantalla en nuestra cabeza, como pasa en los visores de realidad virtual, lo cambia todo. Podemos movernos en todas direcciones y vemos una escena visual completa. Actualmente incluso podemos caminar de manera independiente en un mundo virtual. Los sistemas de realidad virtual ses espera que den una sensación de presencia que se aproxima a la realidad consensuada: ‘ilusión perceptiva de no mediación’. Hay estudios que indican que el audio realista es importante para la realidad virtual.

Conceptos básicos para un audio realista

Normalmente se indica que la representación precisa de audio especial y posicional usando funciones de transferencias relacionadas con la cabeza basta para ofrecer audio realista (HRTF). Esto está muy bien para entornos con un recorrido cerrado. El diseñador puede añadir efectos ambientales de reverberación, oclusión, reflexión, difracción, absorción y difusión en cada pre grabado con sonido.

Esto se vuelve inadecuado cuando el usuario tiene capacidad de moverse libremente por la escena, incluso dentro de un área limitada. El usuario con el movimiento o con el cambio de posición de la cabeza, genera que las rutas de reflexión y los efectos ambientales sean diferentes.

Lo que se hace habitualmente es tomar todos los efectos en un complemento de reverberación. Suele ser común usar una configuración de reverberación para toda la escena o múltiples configuraciones para diferentes habitaciones en la escena. Para que lo entendamos, si en una habitación anexa hay un sonido, se procesa con una configuración de reverberación diferente a la que nosotros estamos.

Tecnología de la década de 1990

Dentro de un mundo virtual, dichas aproximaciones no generan una presencia, aunque los sonidos estén configurados con mucha precisión. Tomemos un ejemplo en realidad virtual. Vamos por un pasillo y hay una abertura desde la que sale un sonido. Con el sistema típico el sonido sería siempre el mismo, estemos en el punto que estamos, pero en la realidad esto cambia por el efecto Doppler. Cuando nos acercamos al punto que genera el sonido, aumenta el ‘volumen’, cuando llegamos al punto el ‘volumen’ es máximo y cuando lo pasamos, el ‘volumen’, decae.

Esto se debe por:

Oclusión de las paredes de la habitación

Difracción alrededor de la abertura

Reflexión de las superficies de las paredes, piso y techo

Difusión y absorción de los materiales que componen las superficies

Así el sistema de diseño de audio convencional y la representación de la reverberación de una sala, agrega atenuación simple y filtrado de paso bajo de una fuente de sonido. Posicionarlo con un HRTF genera una representación de sonido creíble, pero no logra crear presencia. Algo que sucede por mucho que el diseñador use curvas de audio realistas para la atenuación de distancia y filtrado de fuentes de sonido.

La razón sencilla por la que este enfoque convencional se queda corto es porque la acústica del mundo real es más compleja. Nuestro cerebro está bien entrenado por exposición y adaptación a reconocer la acústica del mundo real y lo discriminamos con precisión. Nuestra audición es una adaptación de crítica para la supervivencia: el sonido es un primer indicador de peligro, habitualmente. Conocer la dirección y la distancia de la fuente de sonido, dado un entorno, supone una adaptación crítica.

Modelado del audio del entorno

Ofrecer sonido ambiental con una acústica similar a la del mundo real requiere del modelado de la física de la propagación del sonido. Este proceso se denomina auralización. Para esta implementación hay varios enfoques de modelado de la propagación con compensaciones entre complejidad y precisión.

El modelo perfecto, por ejemplo resolver la ecuación de onda acústica para cada propagación de sonido, no tiene un alcance práctico. Se debe a que la capacidad de cómputo en tiempo real para sistemas de realidad virtual es limitada. La potencia de cómputo en tiempo real mediante GPU con TrueAudio Next de AMD se podrá habilitar en un futuro. Esto permitirá la auralización que no se puede conseguir con una CPU.

La acústica geométrica inicia con el trazado de los caminos de los rayos entre cada fuente de sonido y la posición de los oídos del oyente. Se requieren algoritmos para el conjunto de datos sobre los caminos del trazado y las propiedades del material sobre el que rebotan. Esto genera una respuesta de impulso única para cada sonido por oído.

Necesidad de pocos recursos

Además, la reflexión del camino, la difusión y la oclusión, así como los efectos de difracción y los filtros HRTF, se pueden modelar en este marco, superponiéndose cada respuesta de impulsos variables en el tiempo.

Dentro de este proceso de representación y la respuesta del impulso se actualizan constantemente según la fuente y la posición del oyente. Estas señales se mezclan por separado por oído para generar las formas de onda de audio de salida escuchadas por el oyente. Un enfoque escalable implementado tanto en CPU como con TrueAudio Next de AMD.

Según el número de fuentes de sonido modeladas físicamente mejora significativamente. Se suprime la limitación a un número reducido de señales primarias de sonido, permitiendo escalar para incluir fuentes de sonido ambiental. Permite conseguir un paisaje sonoro completo de entre 40 y 64 sonidos. Esto se consigue con la asignación de entre un 10-15 de Compute Units de una GPU. Además se puede escalar en dimensiones aún mayores cuando se implementan múltiples GPU o combinaciones de APU y GPU.

TrueAudio Next y FireRay

Para esta representación acústica geométrica se necesitan dos elementos:

Convolución variable en el tiempo (componente de procesamiento de audio)

RayTracing (componente de propagación)

Las GPU Radeon de AMD permite el trazado de rayos mediante la biblioteca de código abierto FireRays desarrollada por AMD. Así la convolución en tiempo real variable en el tiempo se realizada mediante la biblioteca TrueAudio Next.

TrueAdio Next es una biblioteca de aceleración matemática en tiempo real basada en OpenCL de alto rendimiento de audio con especial énfasis en el compto por GPU. La convolución de baja latencia y variable en el tiempo soporta FFT y transformaciones Fast Hartley.

Ahora nos enfrentamos a dos preguntas críticas

¿Se puede usar esta tecnología con los Stream Processors de las GPU sin penalizar el renderizado de los fotogramas (FPS)?

¿Puede el audio de alto rendimiento por GPU reproducir sin problemas y con baja latencia en un juego de realidad virtual o en un escenario de renderización cinemático avanzado?

Tradicionalmente la respuesta sería que el procesamiento de audio por GPU genera una latencia inaceptable y penaliza en el rendimiento gráfico. Pero con TrueAudio Next se puede hacer sin problemas, reservando Compute Units para cómputo asíncrono.

La computación asíncrona de AMD es conocida en el renderizado de VR como elemento clave de las características Time Warp y Direct-to-GPU. Se basa en evitar que las colas se ejecuten en una única matriz de Compute Units. Lo que se busca es que múltiples colas utilicen diferentes conjuntos de manera simultánea, priorizando la ejecución variable bajo el control de un programador de hardware eficiente.

Reservar Compute Units lleva esto un paso más allá. Se puede coger un conjunto determinado de CPU y reservarse por el tiempo necesario, accediendo a la cola en tiempo real. Una GPU de 32 CU, por ejemplo, podría reservar 4-8 CU para el uso sólo bajo TrueAudio Next. La reserva se realiza dentro de la aplicación, complemente o motor habilitado para TrueAudio Next.

Reserva de las Compute Units

Este sistema permite reservar un número de CU flexible, escalable y discrecional según el juego. Los motores de audio ya tienen experiencia en el escalado de recursos del procesador mediante herramientas de creación de perfiles. TrueAudio Next agrega una sandbox privada, confiable y altamente configurable.

Para evitar posibles problemas futuros, se puede establecer una reserva de CU temprana en el ciclo de desarrollo de un juego. Así el desarrollo de audio y gráficos puede transcurrir de manera independiente. Esto además permite evitar la problemática que el procesamiento de audio ‘robe’ recursos al procesamiento gráfico. Realmente ofrecen un entorno limitado estricto, pero mucho más grande y potente que el ofrecido por un procesador.

Se aíslan los gráficos del audio y el audio de los gráficos. Únicamente se comparte el ancho de banda de la memoria, ocupando el audio una parte muy pequeña de este, comparada con los gráficos. Además, para el audio las latencias de transferencia DMA son más adecuadas.

Bajo estos parámetros se han conseguido latencias de convolución sin fallos con una latencia de solo 1.33ms en 64 muestras de 48kHz. Bajo este mismo test la respuesta de impulso ha sido de más de 2 segundos. El audio convencional en juegos típicos tiene una latencia de búfer de entre 5-21ms.

TrueAudio Next de AMD

El sonido, como pasa con la luz, interactúa con los elementos que tenemos a nuestro alrededor de diferentes manera. La textura, la forma, el desplazamiento o el volumen de un objeto influyen de manera directa en las onda de sonido. Quiza a muchos os suene de la serie The Big Bang Theory, el efecto Doppler, que describe cómo cambia una fuente de sonido acercándose o alejándose de nosotros, el observador.

La solución por software de TrueAudio Net permite el procesamiento de una señal de sonido mediante la aceleración por GPU. Se asignan algunas Compute Units de las tarjetas gráficas, aisladas del pipeline gráfico, para que realicen esta tarea.

Sería algo bastante parecido al trazado de rayos de luz de NVIDIA, que requiere los RT Cores, que básicamente son CUDA Cores que únicamente hacen los cálculos del movimiento de la luz y su interacción con otros elementos. En el caso de AMD, los desarrolladores asignan recursos de la GPU a esta función según las necesidades.

Para esto se ofrecen librerías optimizadas para algoritmos con un alto coste computacional. Estas ofrecen convolución de audio variable en el tiempo, FFT/FHT y matemática vectorial orientada al audio.

Todo esto permite a los diseñadores de sonido la opción de reproducir más fuentes de sonido con físicas de alta resolución. Permite también pasar a Ambisonic de orden superior para una mayor resolución del campo de sonido. Otra de las posibilidades es habilitar la respuesta de impulso de 5 segundos ideal para los sonidos de cuevas que no se podían renderizar mediante CPU.

TrueAudio Next 1.2 de AMD

Esta versión de la tecnología TrueAudio Next implementa importantes mejoras en cuanto a rendimiento y características.

El algoritmo de convolución de audio implementa una opción de aceleración denominada método particionado “head-tail”. Permite a un hilo de procesamiento de audio que se manda a un búfer de audio en tiempo real recibir una respuesta de TrueAudio Next más rápida que con respecto a una convolución convencional.

Gran parte de la sobrecarga de computación se produce en segundo plano, entre la presentación del búfer a TrueAudio Next. Esto permite que todo sea mucho más amigable para el procesamiento en paralelo.

Al mismo tiempo todo esto permite reducir la latencia y mejorar el rendimiento. Esto se debe a que el hilo de audio de llamada no se bloquea esperando que se calcule toda la convolución.

Por otro lado se añaden optimizaciones en la biblioteca de aceleración de audio de gráficos TrueAudio Next. Esto permite minimizar la cantidad de memoria necesaria, agilizar la transferencia de búfer y evitar la sobrecarga de sincronización. Todo esto mejora de manera significativa el rendimiento cuando el núcleo IR se actualiza de manera dinámica mientras se ejecuta la convolución.

La latencia que se genera para este subproceso de llamada de búfer de audio ahora es un cálculo corto de cabecera.

TrueAudio Next en esta generación permite reservar recursos de una GPU AMD para el procesamiento de audio. Esta reserva lo que permite es proteger las colas de audio y de gráficos. Explicado de manera sencilla, evitamos que ambas colas se pueden bloquear entre sí, trabajando en paralelo.

Finalmente en esta versión se añade la mezcla acelerada por GPU para minimizar la sobrecarga de la transferencia del búfer. Se añade ecualizador de 10 bandas, filtro IIR (respuesta de impulso infinita) y convolución en el dominio del tiempo y muestra Doppler.

Las esferas representan fuentes de sonido

Más allá del audio espacial

Los gráficos son muy importantes en los juegos, pero un factor importante en estos también es el sonido. Normalmente los diseñadores de sonido se centran en la representación 3D espacial de las fuentes de sonido directas. El sonido directo es fundamental para crear paisajes sonoros geniales que lleven al jugar al siguiente nivel.

El problema reside en que el sonido en su desplazamiento puede toparse con objetos que absorban parte del sonido o lo distorsionen. Normalmente el sonido que reflejan las paredes, el techo, el suelo o los objetos no se tiene en mucha consideración.

No se tiene en cuenta porque la reflexión del sonido requiere una cantidad de recursos significativa, mayor que el sonido directo. El problema es que las herramientas disponibles (hardware y software) pueden no estar a la altura. Por lo tanto los diseñadores priorizan el sonido directo y usan reverberaciones simples para implementar las reflexiones de sonido. Además, esta reverberación se hace a nivel bajo para evitar la pérdida de claridad.

RayTracing Audio

El nivel de realismo y credibilidad cuando se implementa el reflejo de sonido proceso en un juego aumenta la experiencia. Las reflexiones especializadas y generadas físicamente pueden lograr este objetivo y ofrecer señales posicionales muy útiles para el oyente, cosa que en el sonido directo esto se ve limitado.

Para ello Ambisonics ofrece codificación de audio 3D con cambios cuando se cambia la orientación de la cabeza. Permite de manera sencilla el cálculo de las reflexiones con resolución escalable. Ambisonics de Orden Superior (HOA) es una solución muy útil en este punto. Cada aumento en orden, aumenta exponencialmente la resolución espacial del campo de sonido reverberante, evitando el desorden y la ambigüedad.

Ambisonics de orden cero, por otro lado, es monodireccional, dirigiéndose hacia la cabeza. La nueva solución es Ambisonics de tercer orden o de orden superior ofrece sonido de dieciséis direcciones.

Ambisonics de tercer orden

Todo esto puede ser un poco complicado de entender, por eso AMD publicó un vídeo donde se pueden percibir las diferencias. La primera parte del vídeo basada en TrueAudio Next se basa en Ambisonics de orden cero o lo que es lo mismo, sin considerar refracción del sonido. La segunda parte del vídeo se basa en Ambisonics de tercer orden donde ya se perciben las diferencias que dependen de los objetos y la distancia.

Las 16 esferas que podemos ver en la sala representan focos de sonido diferentes hablando de manera simultánea. Empezamos fuera de la sala, pasamos por un pasillo y llegamos a la sala. Podemos escuchar en el segundo caso como el sonido cambia a cada movimiento.

Sonido de las dos escenas:

Primera parte con sonido en tiempo real mediante Ambisonics de orden cero. Se utilizan 16 convoluciones totales y se puede renderizar fácilmente con una CPU moderna.

Segunda parte con sonido en tiempo real mediante Ambisonics de tercer orden acelerado por TrueAudio Next. Son 16 fuentes con 256 filtros de convolución que se ejecutan en la GPU con recursos reservados para esta tarea.

Cabe destacar que en los dos casos se utiliza la misma representación de sonido 3D directo. La diferencia entre las dos secuencias se debe al manejo de los reflejos de sonido.

Vídeo de Ambisonics de tercer orden (utilizar auriculares para mayor nitidez)

Elementos que se pueden escuchar cuando se habilita TrueAudio Next:

Fuera del edificio es sencillo escuchar la dirección del sonido reflejado. El posicionamiento directo del sonido no puede funcionar solo los reflejos son audibles. No se añaden dispositivos de dirección de sonido en esta escena para crear dicho efecto, se genera automáticamente con física.

Dentro del pasillo el sonido reflejado es más natural y cambia según el movimiento de la cabeza.

Cuando entramos en la habitación, pese al aumento de la reverberación de paredes y techo, es más fácil distinguir las fuentes de sonido individuales. La habituación va sonando más natural a medida que nos movemos. Pese a que suceden muchas cosas, el sonido se vuelve más cómodo de escuchar. En Ambisonics de Orden cero el diseñador debería bajar la reverberación para evitar que el oyente se pueda desorientar.

Conclusión

Podemos decir tras lo explicado que el RayTracing Audio (nombre comercial de TrueAudio Next de AMD) supondrá un gran salto en juegos. Esta tecnología implementada en juegos tiene la capacidad potencial de ofrecer una experiencia de juego enriquecida. Debemos agradecer a la realidad virtual el desarrollo de RayTracing Audio y dejar atrás una tecnología poco rica de la década de 1990.

Quiza uno de los aspectos más interesantes es que RayTracing Audio requiere una cantidad de recursos relativamente baja de la GPU. El procesador, como bien se explica, no puede procesar el RayTracing Audio, pero una GPU puede hacerlo fácilmente. Solo con el 15% de los recursos de la GPU, como máximo, ya podemos disfrutar de RayTracing Audio.

De momento y que sepamos, no está añadida en ningún juego, pero el anuncio de su implementación en la consola de Microsoft supondrá su estandarización. RayTracing Audio será soportado por la consola Xbox Series X basada en una gráfica y un procesador de AMD. Posiblemente para evitar el sacrificio mínimo de rendimiento gráfico, AMD implemente hardware dedicado para el RayTracing Audio, aunque no se sabe a ciencia cierta.

Sea como fuera, el salto en la experiencia de juego se denota importante, con mayor nitidez y con un sonido más realista. RayTracing Audio, al igual que su hermano RayTracing para iluminación, han llegado para quedarse.