Conociendo Wwise: Los Básicos.

En este capítulo, comenzamos nuestro viaje dentro los settings y organización básica de Wwise, middleware líder en el mercado de la implementación de audio técnico para videojuegos y experiencias interactivas. Si no tienes conocimiento sobre qué es un middleware y las capacidades operativas que ejecuta, ¡No te preocupes! Te invito a que leas el capítulo anterior donde abordamos los fundamentos del audio interactivo. En este capítulo, abordaremos las funcionalidades y componentes principales a manera general ya que éstos se irán explicando a detalle a medida que avancemos en la exploración de la interfaz de Wwise.
La primer pregunta que viene a la mente es ¿Por qué aprender a utilizar Wwise impulsará nuestra carrera como profesionales del audio? Entre otras razones podemos encontrar que:
Es una herramienta muy sofisticada que está siendo utilizada cada vez más en México y Latinoamérica y que tiene herramientas de apoyo y aprendizaje amplio.
Ofrece mayor proyección y comerciabilidad de las habilidades profesionales en la industria del audio.
Se conseguirá un entendimiento más eficiente con el equipo de desarrollo de un proyecto interactivo.
Nos permite trabajar de manera remota y especializada en el área que compete solamente al equipo de audio a través de plataformas de control de versiones como Perforce o Git.
Nos permite comprender y ejecutar el proceso de integración de audio en Unity/Unreal.
Para adentrarnos en el funcionamiento de Wwise es importante conocer su estructura global y comprender la jerarquización dentro de un proyecto. Estaremos analizando la estructura Wwise en la version 2025.1.9.9197 que más actual al día de la publicación de este blog.

Comenzaremos platicando sobre los bancos de sonido - ó Soundbanks. Los bancos de sonido son la parte más importante y pieza fundamental ya que se encarga de la comunicación entre el game engine y Wwise. Los Soundbanks son archivos binarios compilados que contienen información de audio, metadata de los eventos a ejecutar y paquetes estructurales generados para que el game engine pueda cargar dichos bancos de sonido a su memoria. Los soundbanks ayudan a optimizar el uso de los recursos al permitir que los desarrolladores puedan cargar y descargar assets de audio de manera dinámica.
Dentro de los bancos de sonido, regularmente encontramos los eventos. Los eventos son pieza medular para la ejecución del audio de acuerdo a las indicaciones recibidas desde el game engine por medio de código y a través de las instrucciones de ejecución que podemos añadir dentro de los eventos. Los eventos pueden controlar el playback, comandar acciones de mezcla dinámica y cambiar parámetros, estados, switches y efectos en tiempo real.
Dentro de los eventos, generalmente encontraremos diferentes tipos de contenedores. Los contenedores son piezas clave que se encargan de llevar a cabo los procesos que darán vida a la interactividad y al dinamismo de la reproducción de los archivos de audio ya sean efectos de sonido o música. Esto se lleva a cabo a través de las funcionalidades de aleatoriedad y lógica básica que se encuentran en ellos.
Al final de la jerarquía, se encuentran todos los archivos de audio, ya sean efectos de sonido o música. Una vez que se importa un archivo de audio a Wwise podremos encontrar una serie de funcionalidades para controlar de manera granular cada archivo de audio. Dichas funciones las exploraremos en el siguiente capítulo cuando comencemos a importar archivos de audio.

A manera de resumen, un proyecto Wwise se conforma de uno o más bancos de sonido que pueden ser creados, nombrados y organizados de acuerdo a las diferentes categorías de audio, por niveles, o cómo el proyecto lo requiera. Dentro de estos bancos vivirán los diversos eventos que responden a las instrucciones enviadas desde el game engine.
Cada evento contendrá contenedores, archivos de audio y/o instrucciones de ejecución.
Por último, dentro de estos contenedores podremos encontrar los archivos de audio. Todos estos elementos se encuentran contenidos en Work Units.

Wwise se encuentra visualmente organizado en layouts conformados de diversas ventanas, a manera introductoria comenzaremos a analizar las propiedades del layout Designer, layout donde se encuentran ventanas fundamentales como lo son el Property Editor y el Project Explorer. Iremos explorando cada uno de los layouts y ventanas más adelante.

Contenedores Wwise

Los contenedores Wwise se pueden encontrar dentro de la pestaña Audio de la ventana Project Explorer del layout Designer. Estos contenedores son:
Work Units
Property Container
Random Container
Switch Container
Blend Container
Sequence Container
Playlist Container
Music Switch Container
Music Playlist Container
Music Segment

Todos estos contenedores poseen funciones especificas para controlar el comportamiento de la reproducción de los archivos de audio, funciones que podemos encontrar en la ventana del Property Editor. Existen funcionalidades que podremos encontrar en todos los contenedores a través del Property Editor. Estas son:
General - Podremos manipular Volumen, Pitch, Low Pass Filter, High Pass Filter y Make Up Gain. Dentro de cada uno de estos parámetros tenemos la posibilidad de activar la aleatoriedad para crear variedad a cada uno de ellos.
Routing - Podremos indicar a qué bus será enviada la señal principal así como manipular el envío de señales a buses auxiliares.
Conversion - Aquí encontramos los settings para la conversión de formatos de audio (PCM, Vorbis, ADPCM, WEM Opus) y normalización del volumen.
Positioning - Para aplicar settings de posicionamiento 2D así como activar la espacialización 3D y sus cualidades como lo son la atenuación y la posición en el espacio tridimensional.
Advanced - Aquí podremos optimizar el uso y la prioridad de las instancias de archivos de audio.

Los contenedores que son específicamente diseñados para reproducir música como el Music Switch y el Music Playlist containers cuentan con funcionalidades extras que serán analizadas más adelante.
A excepción del contenedor Property, cada contenedor contiene una pestaña nombrada tal como el contenedor mismo, donde podremos establecer el comportamiento de la reproducción de los archivos de audio contenidos en el mismo a través de settings como tiempo de espera para comenzar la reproducción (Initial Delay), Modo de Reproducción (Mode), Loop y Transiciones (Transitions), entre otros dependiendo del tipo de contenedor en cuestión.

También encontraremos pestañas en todos los contenedores como lo son: RTPC, States, Effects y Metadata. Cada uno de estos elementos los iremos descubriendo poco a poco cuando comencemos a practicar dentro de Wwise.

Los elementos específicos de los contenedores que se encargan de reproducir musica, serán analizados cuando toquemos el tema de Sistemas Musicales Dinámicos.
Es importante mencionar que dentro de Wwise cada contenedor va a heredar los ajustes a todos aquellos contenedores “hijos” y/o archivos de audio que se encuentren dentro de éste. Asimismo, cada contenedor "hijo” nos dará la opción de anular estas propiedades heredadas si así lo deseamos a través de la opción "Ignore Parent" que se puede encontrar en algunos de los ajustes del property editor de cada contenedor o archivo de audio.

¡Eso es todo por este capítulo! Ya conoces la estructura básica de Wwise y algunos de los elementos de su interfaz gráfica. En el siguiente capítulo comenzaremos a explorar y a practicar con las propiedades del Property Editor, el Random Container y el Sequence Container, comenzaremos a importar audio y conoceremos las capacidades de estos contenedores para ir creando nuestro ambiente dinámico. ¡No se lo pierdan¡
Sound on!




Comentarios