Blog Personal.

Uncategorized

Xbox Series X (VI): Project Acoustics.

Comentario Original:

Yo sigo sin entender las palabras del diseñador de sonido de Ninja Theory cuando refiriendose a la Xbox Series X dijo:
«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.»

Sigo sin entender esta información que da Microsoft sobre el uso de Project Acoustics en su nueva consola:

«Developers will be able to easily leverage Project Acoustics with Xbox Series X through the addition of a new custom audio hardware block.»

Yo lo que no entiendo es si ese sujeto conoce Xbox One pese a estar trabajando en Ninja Theory que desde hace poco es propiedad de Microsoft o es un bocachancla de cuidado.

¿Por qué lo digo? Porque es falso que el audio en Xbox One vaya a través de la CPU, tiene un bonito bloque de audio dedicado. ¿Que ocurre? ¿Que lo ha descubierto recientemente? Esto es la falacia de la autoridad de manera absurda, lo dice un desarrollador pero lo dice uno que por lo visto desconocía que la Xbox One tiene hardware de audio dedicado.

La situación que se ha creado es cuanto menos digna de…

¿Y cual es la conclusión? Pues que tenemos un nuevo hardware de audio en Xbox Series X, obviamente tenemos que tener el antiguo por retrocompatibilidad con los juegos de Xbox One ya que emularlo no es nada recomendable para el rendimiento. En todo caso lo que hablo Cerny sobre el Tempest Engine de Sony, por su definición no es nada que AMD no le haya podido ofrecer a Microsoft también, solo que con otro nombre y con algunas sutiles diferencias en cuanto a optimización.

Lo que a mi me parece chocante es que si miráis la información del Project Acoustics en su página web si que habla del trazado de rayos para audio de entrada…

Project Acoustics es un motor de acústica de ondas para experiencias interactivas en 3D. Modela efectos de onda como oclusión, obstrucción, portado y efectos de reverberación en escenas complejas sin requerir marcado manual de zona o trazado de rayos intensivo de la CPU.

El Project Acoustics no tira de GPU, esto es debido a que cuando fue presentado el Inline Raytracing que permite el uso de las unidades de intersección desde cualquier shader, incluyendo el de computación aún no se había implementado. En todo caso nos tiene que quedar claro que Microsoft lo presento como una alternativa al Ray Tracing Audio.

Los métodos de acústica basados en rayos pueden verificar la oclusión usando un solo reparto de rayos de fuente a oyente, o impulsar la reverberación estimando el volumen de la escena local con unos pocos rayos. Pero estas técnicas pueden no ser confiables porque una piedra ocluye tanto como una roca. Los rayos no tienen en cuenta la forma en que el sonido se dobla alrededor de los objetos, un fenómeno conocido como difracción. La simulación de Project Acoustics captura estos efectos utilizando una simulación basada en ondas. La acústica es más predecible, precisa y perfecta.

La innovación clave de Project Acoustics es unir la simulación acústica basada en ondas de sonido reales con los conceptos de diseño de sonido tradicionales. Traduce los resultados de la simulación en parámetros para los DSP de audio tradicionales para oclusión, portado y reverberación.

La primera diferencia con la solución de Sony es la mencion de DSPs tradicionales para hacer ciertas funciones mientras que la solución de Sony se basa mucho más en la computación pura y dura sin especialización. Por lo que de entrada tenemos dos enfoques distintos.

Ahora bien… ¿Como funciona? En realidad Project Acoustics no es más que una implementación de Project Triton.

Project Acoustics es el mayor esfuerzo del producto que hace que la tecnología interna de Triton esté disponible externamente para cualquier juego, a través de los complementos del motor de juego Unity y Unreal, con computación offline realizado en Azure.

¡El Santo Grial! ¡The power of the cloud!

Veamos como funciona…

Project Triton modela cómo las ondas de sonido realmente viajan a través de espacios 3D complejos, difractando alrededor de las esquinas y a través de las puertas, reverberando en varias habitaciones, respondiendo al material de cada triángulo.

Esto es la definición del Trazado de Rayos aplicado a audio, el hecho de que que se hable de triángulos que es de lo que se componen las escenas 3D nos dice que esto se ejecuta en una GPU, aunque claro, no a nivel local sino remotamente.

Este cálculo es extremadamente costoso, por lo que es precalculado en geometría 3D visual estática en un clúster de cómputacion durante el «baking».

El pipeline general es bastante análogo al «light baking», moviendo el costoso cálculo de propagación global a la etapa de «baking» en lugar de durante el juego donde la CPU es limitada.

Obviamente necesitamos saber la organización de la escena… ¿Pero a que se refiere con «baking»? Un truco de cara a la iluminación que se ha utilizado durante años ha sido crear un mapa de luces estático a través del trazado de rayos para luego implementarlo en la escena, pero no a tiempo real sino como una textura para falsamente simular la iluminación.

Dicha textura o serie de texturas son creadas durante el desarrollo del juego, pues bien, parece que Project Acoustics es algo similar. No es trazado de rayos para audio en tiempo real sino pre-cocinado en la nube de tal manera que los DSP clásicos lo puedan reproducir.

Estos datos se pasan a través de un compresor paramétrico patentado que reduce drásticamente el tamaño de los datos y permite la búsqueda rápida y el procesamiento de señal en tiempo de ejecución, lo que permite que Triton se ejecute incluso en dispositivos móviles como Oculus Go.

¡Es decir, esto es peor que el Raytracing Audio! Es decir, no estamos hablando de modelar las ondas de sonido a tiempo real, estamos hablando de algo completamente pre-cocinado, el cual según su definición corre en un servidor Azure de Microsoft. Pero todo esto no es la parte referente a Xbox Series X donde lo que afirman es interesante:

Project Acoustics: incubado durante más de una década por Microsoft Research, Project Acoustics modela con precisión la física de propagación del sonido en realidad mixta y juegos, utilizado por muchas experiencias AAA en la actualidad. Es único en la simulación de efectos de onda como la difracción en geometrías de escenas complejas sin forzar la CPU, lo que permite una experiencia auditiva mucho más inmersiva y realista. El soporte de plug-in para los motores de juego Unity y Unreal le da al diseñador de sonido controles expresivos para moldear la realidad. Los desarrolladores podrán aprovechar fácilmente Project Acoustics con Xbox Series X mediante la adición de un nuevo bloque de hardware de audio a medida.

Y es interesante porque por un lado nos indica que hay un hardware de audio nuevo pero por otro hemos de tener en cuenta que Project Acoustics es pre-baking del audio de la escena en la nube de tal manera que un DSP o conjunto de DSPs dedicados lo puedan entender. Por lo que no hablamos de una solución como la de Sony en PS5 sino algo un poco más avanzado que lo que tenemos ahora.

Es decir, tenemos hardware dedicado pero es una evolución natural del de Xbox One. ¿Es eso malo? Para nada.

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

0 0 vote
Article Rating
6 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
Nitupensis

Urian, Project acoustic no es lo mismo de lo que hablaron el año pasado en el GDC? que era una herramienta de desarrollo para realizar cálculos prebaked usando azure, para comprobar como resuena y propaga el sonido por dentro de diferentes salas, materiales y tal durante el desarrollo del juego o lo recuerdo mal?
Tendría que mirar los videos de las sesiones pasadas, pero creo recordar una charla de microsoft sobre ello.

Nitupensis

solo te preguntaba si era lo mismo, por si habían cambios ya que me sonaba que microsoft lo había explicado el año pasado antes de la salida de series X.

he ido a mirarlo y efectivamente hablaron el año pasado, entiendo por tu respuesta que no existen cambios.
https://www.youtube.com/watch?v=uY4G-GUAQIE

Daniel

Lo importante es que los desarrolladores se lo curren de verdad y podamos ver una mejora sustancial en el audio.
Recuerdo unas demos que hay, llamado sonido binaural, de un argentino si no me equivoco, que funciona usando unos cascos normales y es tremendo.
Creo recordar que lo usaron para Hellblade pero personalmente yo no note esa inmersión.
Ah, empieza la guerra :

https://vandal.elespanol.com/noticia/1350732920/dolby-atmos-desmiente-a-mark-cerny-su-sistema-de-audio-tambien-recrea-cientos-de-objetos/

Set

No entiendo de audio. Pero en iluminación Global un Baking es una iluminación estática previamente calculada como lo expone Urian en la entrada, pero estan tambien las GI «semi dinamicas» que combinan baking con probes para dar cierto dinamismo limitado, por ejemplo en un juego ciclo dia/noche no puede bakear completamente la GI por razones logicas obviamente, se utilizan probes. A lo que voy es lo siguiente, un baking significa algo previamente calculado, por lo cual el coste en tiempo de ejecución en tu hardware es de 0, entonces no se porque las consolas necesitarian hardware dedicado a audio, cuando… Read more »

Schneider

Sin tener puta idea entiendo que lo que debe hacer es un pre cálculo de un escenario en el que hay un objeto que emite un sonido en un posición concreta en un entorno estático concreto, generando unos datos que indican para cada posición del escenario como se escuchara ese sonido concreto. No sé si este cálculo se tiene que hacer para cada sonido diferente o los datos servirán igual para cualquier sonido. Pero esta tecnología no sirve si el entorno puede cambiar en tiempo de ejecución, como una o varias puertas abiertas o cerradas, o paredes que se puedan… Read more »