Blog Personal.

Uncategorized

Audio en la Next Gen

Uno de los enigmas de cara a la siguiente generación es el llamado 3D Audio, especialmente desde que Mark Cerny hablase del mismo en Abril del año pasado, la información en general es escasa y confusa y necesita ser ordenada para hacerla comprensible.

En Abril del año pasado, Mark Cerny dejo ir lo siguiente:

El chip AMD también incluye una unidad a medida para el audio 3D que Cerny cree que redefinirá lo que el sonido puede hacer en un videojuego. «Como jugador», dice, «ha sido un poco frustrante que el audio no haya cambiado demasiado entre PlayStation 3 y PlayStation 4. Con la próxima consola, el sueño es mostrar cuán dramáticamente diferente puede ser la experiencia de audio cuando le aplicamos cantidades significativas de potencia de hardware «.

El resultado, dice Cerny, te hará sentir más inmerso en el juego a medida que los sonidos te lleguen desde arriba, desde atrás y desde un lado. Si bien el efecto no requerirá hardware externo (funcionará a través de los altavoces de TV y el sonido envolvente virtual), permite que el «estándar de oro» sea el audio de los auriculares.

¿Pero cual es ese chip a medida? Hemos de tener en cuenta que Sony para tener compatibilidad hacía atrás con PlayStation 4 ha de mantener el hardware de Audio de PlayStation 4 en el sistema, por lo que lo mejor es empezar desde ese punto.

Oficialmente el hardware de audio de PlayStation 4 se basa en el True Audio de AMD…

El True Audio son una serie de DSPs licenciados por Cadence/Tensilica para el uso en los SoC y GPUs de AMD.

La disposición de dichos elementos en PlayStation 4 es el uncore/northbridge de la GPU, se trata de uno de los clientes DAGB.

En PS4 los clientes DAGB tienen la opción al estar integrados en el uncore/northbridge de la GPU de utilizar uno de los dos caminos de datos de esta. Tanto el bus coherente con la CPU (Onion) como el bus no coherente (Garlic) por lo que tienen acceso a los dos espacios de la memoria desde la perspectiva de la GPU.

Y en efecto uno de los clientes DAGB es el subsistema de audio por lo que sabemos que se encuentra conectado al uncore/northbridge de la GPU.

La otra consola en utilizar los DSP de Tensilica/Cadence es Xbox One… ¿Como lo sabemos? Pues por una nota de prensa de la propia Tensilica.

SAN JOSE, Calif., February 12, 2014—Cadence Design Systems, Inc. (NASDAQ: CDNS), a leader in global electronic design innovation, today announced that Microsoft utilized four Tensilica® processors in the Xbox One audio subsystem as noted in the Linley Group Microprocessor Report entitled, “Inside the Xbox One Mega-SoC

Pe… pero Urian… Yo creía que el sistema de audio de Xbox One era a medida.

Tensilica es una compañía que tu puedes contratar para diseñar chips a medida como ocurre con AMD. Ellos te ofrecen una serie de bloques base que tu puedes modificar para tus necesidades por lo que pese a que el sistema de audio de PS4 y Xbox One utiliza la tecnología de Tensilica no son exactamente lo mismo. Por lo que el sistema de audio de Xbox One es una versión modificada de la tecnología de Tensilica para Microsoft.

La otra diferencia con PS4 es que el sistema de audio de Xbox One no esta conectado al uncore de la GPU sino al de la CPU.

Pero la clave esta en la decodificación de las muestras en XMA… ¿Que es el XMA? El formato XMA es una versión modificada del WMA utilizado a partir de Xbox 360. En un juego de hoy en día el audio no se genera con una pista en bucle de manera sencilla sino que son decenas e incluso centenares de fuentes de sonido que se procesan al mismo tiempo. En Xbox 360 la consola carecía por completo de hardware para el audio dedicado y utilizaba para ello uno de los núcleos de la CPU de Xbox 360 para ello. En Xbox One para evitar el problema de rendimiento en la CPU decidieron crear un sistema de audio dedicado, de la misma manera que Sony con PS4.

Pero en ambos casos una de las tareas diferenciales con el True Audio de PC es la decodificación a tiempo real de centenares de pistas en un formato de audio concreto. El formato XMA es propietario de Microsoft pero… ¿tiene alguna solución parecida PlayStation 4? Pues si, pero con el formato propietario de Sony ATRAC9, pero dicha pieza no se encuentra disponible en la descripción del hardware. Sabemos que existe por el hecho que sin él la carga en la CPU de PS4 que es de menor potenciua que la de Xbox One al ser la misma a menos velocidad de reloj crearia un enorme cuello de botella.

¿Pero que hay del Audio en 3D? En el SDK de PlayStation 4 aparecen referencias al Audio HRTF y una librería de Audio 3D.

El HRTF no funciona con los clásicos canales de sonido sino con fuentes en vez de canales, generando sonidos según la posicion y la distancia de estos respecto al espectador.

En el caso de un videojuego el punto de origen es el de la cámara de origen desde la cual se genera el fotograma. El posicionamiento del sonido respecto al oyente dependerá de este elemento e ira cambiando con cada fotograma.

¿Entonces PlayStation 4 ya dispone del hardware dedicado al Audio 3D? Pues no, hemos de diferenciar lo que es el cálculo de la posición de los objetos en la escena que se utilizará posteriormente para generar el audio de lo que es la generacion del audio en si misma. En PlayStation 4 el HRTF es calculado por la CPU por el hecho de que su GPU no realiza un mapa del posicionamiento de los objetos en la escena.

En realidad el sonido 3D via HRTF requiere que el hardware de la consola convierta esa información y la adecue… ¿Es lo que ocurre? Pues en la consola normal no, pero en la PS VR si. Y aqúí tenemos que hablar de la pequeña caja, del PS VR Processing Unit.

Pues bien, este pequeña caja le añade a los juegos de PlayStation VR el acceso a una unidad de procesamiento para Audio 3D. Es decir, en principio podemos pensar que el hardware dedicado para procesamiento del Audio 3D en PlayStation 5 es posible que sea la integración en el SoC de esta funcionalidad de la Processor Unit del PS VR. ¿Es así?

Si miramos el hardware interno de la Processor Unit del PS VR nos encontramos con lo siguiente:

El procesador es un Marvell DE3214-B0 Armada 1500 Pro 4K SoC con 1GB de RAM y una flash de 4GB. Curiosamente no es un DSP dedicado sino un SoC genérico, por lo que el sistema de Audio de PS5 pese a tener la misma funcionalidad ha de ser diferente que esta solución dado que no vamos a colocar un SoC entero dentro del SoC y es posible hacer esto de forma más sencilla.

¿Pero como? La solución ha estado siempre delante de nuestras narices,

Los auriculares Sony Platinum tienen hardware dedicado para el 3D, en realidad toman la información del sonido generada por la tecnología HRTF y la tienen en cuenta para simular un entorno de sonido envolvente. Pero esto va en contra de la definición de Mark Cerny donde se nos dijo que no haría falta hardware adicional en PlayStation 5.

¿Entonces, como se soluciona el problema? Pues utilizando Pensamiento Lateral y si las consolas portátiles tienen altavoces… ¿Que impide que una consola de sobremesa los tengan integrados para conseguir dicha funcionalidad? Con ello no haría falta hardware adicional externo por parte del usuario ya que vendría todo con la consola de serie. Por otro lado, el DSP incorporado en los altavoces para la decodificación del sonido solo es necesario integrarlo en el SoC de la consola.

Pero esto realmente no sería una evolución respecto a la actual generación, sería simplemente darle las capacidades del Audio 3D de la actual generación a la siguiente y vamos a ver una evolución. ¿Como? Pues utilizando el trazado de rayos pero de cara al audio.

Tenemos que representar como viaja el sonido en un espacio tridimensional y podemos utilizar el mismo modelo que con el trazado de rayos que representa el viaje de la luz en un espacio tridimensional pero con el sonido.

  • Al igual que con la luz podemos asignarle al sonido una energía, la diferencia con la luz es que la energía en este caso se pierde con la distancia.
  • Podemos asignar el shader de generacion de rayos (reflejos, sombras) para que genere también rayos de audio.
  • Al igual que con los rayos para gráficos, los rayos para audio pueden rebotar y comportarse de una manera u otra según con que objetos interactúan.

El último punto es importante… Cuando una onda de sonido deja un medio para entrar en otro, como por ejemplo cuando un sonido rebota contra un muro la onda de sonido cambia. Una porción de la misma intentará atravesar el medio mientras que otra se verá rebotada por el objeto y este proceso variará según el tipo de material con el que interactue.

Espera, espera Urian… ¿Nos estás diciendo que en la next gen el audio será completamente procesado por la GPU?

No, el audio no, lo que será procesado por la GPU va a ser el recorrido y posicionamiento de las fuentes de audio ya que el mapa del posicionamiento de los objetos es el mismo tanto para gráficos como para audio y el hardware dedicado a la intersección es varias ordenes de magnitud más rápido que hacerlo a través de una CPU aunque sea una de apoyo. Es decir, el audio va a ser generado por los DSPs de sonido correspondientes.

Tened en cuenta que lo que tenemos hasta ahora es el llamado Raycasting Audio, en realidad el audio realmente no rebota con las superficies ni es modificado ni generado según la interacción de los mismos ya que requería una enorme cantidad de procesamiento que no esta disponible. El audio en el Ray Tracing Audio es procedural y generativo, depende de la información del fotograma y es imprededible.

Pe… pero Urian, si la tecnología utiiizada para ello es la del Trazado de Rayos de AMD esto significa que Xbox Series X también puede utilizar el trazado de rayos para lo mismo.

Correcto y además esta confirmado.

Ahora bien, si volvemos a la gama Xbox One existe una supuesta particularidad que lo coloca por encima del sistema de Audio de PS4. En el articulo de Xbox Scorpio (Xbox One X) se puede leer lo siguiente:

El procesador de audio en Xbox One se trasplanta completamente a Scorpio y adquiere una nueva funcionalidad: envolvente espacial, que agrega efectivamente un componente de ‘altura’ a la configuración 7.1 existente. Scorpio está configurado para recibir soporte para Dolby Atmos para juegos, Dolby Atmos para auriculares más un formato patentado por Microsoft llamado HRTF, desarrollado por el equipo de Hololens. Debido a que el hardware APB (bloque del procesador de audio) es básicamente idéntico al que se encuentra en Xbox One, significa que todas las iteraciones existentes de la consola obtendrán la actualización espacial envolvente.

https://www.eurogamer.net/articles/digitalfoundry-2017-project-scorpio-tech-revealed

Es falso que el HRTF sea un formato propietario de Microsoft como ya hemos visto con anterioridad. Al igual que en PS4 es la CPU encargada de calcular la posición de los objetos de la escena, por eso la Xbox One estándar lo puede aplicar. En Xbox Series X el calculo del posicionamiento de los objetos va a pasar al trazado de rayos como va a ocurrir en PS5, liberando a la CPU de esta carga y haciendo que todo vaya mucho más rápido.

Esto es todo, tenéis el Discord y los comentarios de esta entrada para comentarla.

0 0 vote
Article Rating
3 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Schneider

Me parece super interesante lo que nos has explicado.
¿Pero como cuadra eso con la filtración del chip de audio dedicado para la Xbox Series X? Si el posicionamiento lo van a calcular mediante Raytracing en la GPU,¿cuál es la necesidad de un chip dedicado?
«We’re going to have a dedicated chip to work with audio, which means we finally won’t have to fight with programmers and artists for memory and CPU power.»
Xbox Series X will have a dedicated audio chip, Ninja Theory engineers reveal
https://www.videogameschronicle.com/news/xbox-series-x-audio/

Schneider

Comento mi comentario.
Divagando¿será que todos los calculos que hacia la CPU no se pueden hacer mediante el trazado de rayos de la GPU? Y po lo tanto se tendrian que seguir haciendo en la CPU. Y Microsoft lo que ha hecho es añadir hardware dedicado para descargar completamente al procesador de estas tareas.¿Puede ser?

Steven

Hola disculpa la duda la taza de rayos para trazar en objetos y audio es la misma