top of page
Buscar

Conociendo Wwise: Contenedores Pt. 1.

Foto del escritor: Jonatan Arriaga
Jonatan Arriaga
27 ago
9 min de lectura

En este capítulo, comenzaremos a explorar las funcionalidades y características fundamentales de cuatro contenedores. El Work Unit, el Property Container, el Random Container y el Sequence Container. Asimismo, exploraremos el proceso para importar audio, editar puntos de reproducción en los audios, analizaremos cómo funciona la herencia de ajustes de los contenedores y se presentará una introducción a la función de aleatoriedad y las unidades en que su rango de variación funciona.


WORK UNIT


Comencemos hablando del contenedor que es la base organizativa de un proyecto, el Work Unit. El Work Unit es un archivo XML (.wwu) y se considera un contenedor ya que se crea dentro de la sección “Contenedores” del Project Explorer y su función es meramente organizativa.


El Work Unit guardan información sobre estructuras y propiedades de partes específicas de un proyecto.


El Work Unit permite dividir el proyecto en partes mas granulares para trabajo colaborativo, manejo más claro del control de versiones a través de plataformas como Perforce o Git, y una organización de assets más limpia.


Analicemos el Work Unit desde la interfaz Wwise. En la ventana del Project Explorer, del layout "Designer" encontramos la pestaña “Audio”, en ella encontramos una estructura de folders los cuales son “Devices”, “Busses” y “Containers”, los cuales a su vez, contienen dos Work Units. Comenzaremos explorando la carpeta “Containers” y trabajaremos con el “Default Work Unit” que viene precargado en la interfaz.




El Work Unit no contiene ajustes que puedan afectar el comportamiento de la reproducción del audio desde la ventana del Property Editor. Solamente podremos encontrar la opción de habilitar/deshabilitar la propiedad “Inclusion” para que dicho Work Unit sea añadido o ignorado en algún banco de sonido. Nos da también la opción de hacer algunas notas relevantes.



Como se mencionó anteriormente, los Work Units pueden crearse para separar el proyecto en partes y podremos crear tantos Work Units como el proyecto requiera por lo que es común que se utilicen Work Units para “Ambientes”, “Musica”, “Enemigos”, por "Nivel" o como lo requiera el proyecto. Es importante señalar que cualquier contenedor y archivo de audio debe pertenecer a un Work Unit, de otra forma, no se pueden crear contenedores ni importar audio.


Podemos tener varios Work Units como el proyecto lo requiera.
Podemos tener varios Work Units como el proyecto lo requiera.

Una vez que hemos analizado el Work Unit, procedamos a crear un Property Container dentro de nuestro Default Work Unit. Para ello, vamos a localizar el icono de “Create new Property Container” dentro de la pestaña “Audio” del Project Explorer y lo nombraremos simplemente “Property".



Al seleccionar el recién creado Property Container podremos ver varias ventanas, pero nos centraremos en el Property Editor.



PROPERTY CONTAINER


El Property Container es otro contenedor cuya función es organizativa pero que cuenta con funciones extras que influyen directamente en la forma en que el audio se reproduce dentro de los contenedores incluidos en este ya que un Property Container puede heredar diversos e importantes valores de ajustes a todos los contenedores "hijos" a excepción de aquellos encargados de la reproducción de música como lo son el Music Switch, Music Playlist Container y Music Segment. Un property container nos ayuda a establecer ajustes globales para todos los contenedores o archivos de audio que se encuentren dentro del mismo.


El Property Editor cuenta con varias pestañas que contienen varios ajustes que podemos manipular. A manera introductoria nos enfocaremos al momento en la pestaña "General". En esta, podremos manipular ajustes como Volumen, Pitch, Low Pass Filter, High Pass Filter y Make-Up Gain. A su vez, podremos activar la aleatoriedad al presionar el pequeño icono circular dentro del cuadro de valores de estos ajustes.




ALEATORIEDAD


El valor de aleatoriedad es de tipo offset, esto es, un valor de desplazamiento en relación a un valor de referencia el cual es establecido por el usuario.


En este ejemplo, podemos ver que el valor de referencia establecido por el usuario es de 0 dB.


El desplazamiento mínimo es de -6 dB y el máximo es de 3 dB por lo que los valores de volumen podrán variar en un rango total de 9 dB, que van de los -6dB hasta los 3 dB.




En este otro ejemplo, podemos ver que el valor de referencia establecido por el usuario es de -3 dB.


El desplazamiento mínimo es de -3dB y el máximo es de 3 dB por lo que los valores de volumen podrán variar en un rango total de 6 dB, que van de los -3dB hasta los 0 dB.


Cuando tenemos un valor de referencia diferente de 0 dB puede haber confusión en la comprensión del rango de variación. Para obtener los valores mínimo y máximo de este rango, el Offset Mínimo y el Offset Máximo se suman al valor de referencia, que en este caso es -3 dB.


El valor mínimo de este rango de variación será:


-3 dB (valor de referencia) + (-3 dB (Min Offset)) = -6 dB


Mientras que el valor máximo del rango de variación será:


-3 dB (valor de referencia) + (3 dB (Max Offset)) = 0 dB




Las unidades en las cuales trabaja la aleatoriedad en cada uno de los ajustes en la pestaña General es la siguiente:


Volumen: Tiene como unidad el decibel (con un rango que va de -108 dB a 108 dB).

Pitch: Se mide en cents con un rango de -4800 a 4800 cents (100 cents es un semitono, mientras que 1200 cents es una octava completa).


LPF y HPF: Se mide en porcentajes (de 0 a 100% donde 0 es filtro inactivo y 100 atenuación máxima).

Make-Up Gain: tiene como unidad el decibel (con un rango que va de los -192 dB a 192 dB).

Initial Delay: Se mide en segundos con un rango de los -60 hasta los 60 segundos.


Numero de Loops: Se maneja en numeros enteros con rango de -32766 a 32766.


Transitions: Tiene como unidad los segundos con un rango de -10 a 10 segundos. Como excepción tenemos el ajuste "Sample Accurate" al cual no se le puede asignar aleatoriedad.


Herencia de Ajustes


Revisar la configuración de los ajustes del Property Editor es sumamente importante ya que a través de estos ajustes podremos estar aplicando valores no deseados a contenedores o archivos de audio “hijos”. Este comportamiento de herencia de ajustes no es exclusivo del Property Container sino que aplica en todos los contenedores hacia sus elementos “hijos”.


Para que quede este concepto muy claro, tenemos este ejemplo:


Supongamos que tenemos un Property Container con ajustes previamente establecidos y que contiene dos contenedores “hijos” los cuales a su vez, contienen archivos de audio.


Los valores establecidos en el Property Container padre son: Volumen -22 dB, Pitch 470 Cents, LPF 20%. Estos ajustes se sumarán - o restarán - a los ajustes que se hayan configurado en cada contenedor, estos ajustes a su vez, se sumarán - o restarán - a los ajustes de cada archivo de audio contenidos en ellos. Esto genera un efecto “cascada”.



Como ejemplo tenemos un archivo de audio con volumen -3 dB dentro de un Random Container con una atenuación de volumen de -3 dB, este Random Container al mismo tiempo es parte de un Property Container que tiene asignada una atenuación de volumen de -2 dB, esto significa que el archivo de audio se reproducirá a un volumen de -8 dB (-3dB + (-3dB) + (-2 dB)).




Tanto contenedores como archivos de audio "hijos" no podrán ignorar (Ignore Parent) a nivel local los ajustes realizados en la pestaña "General" heredados del contenedor "padre" mientras que los ajustes hechos en las pestañas “Routing”, "Conversion", "Positioning" y "Advanced" del contenedor "padre" se podrán ignorar a nivel contenedor o archivo de audio "hijos". Más detalles sobre esto, a medida que avancemos en los temas.


Random Container



El siguiente contenedor a analizar es el Random Container el cual nos permite reproducir de manera aleatoria los archivos de audio a través de su tipo de reproducción “Random” (Random Play Type) , los tipos de aleatoriedad “Standard” o “Shuffle” y a través de sus dos modos de reproducción “Continua” o por “Paso”. En su modo continuo podremos optar por reproducción a manera de loop o por transiciones con tiempos aleatorios o fijos de reproducción.


Es importante mencionar que si optamos por usar el tipo de reproducción “Sequence”, el contenedor automáticamente se convertirá en un Sequence container.


Tipos de aleatoriedad del tipo de reproducción Random (Random Play Type)



En el Random Type Standard todos los archivos de audio tienen la misma probabilidad de ser ejecutado e incluso de ser ejecutados repetidamente.


En modo Shuffle el sistema se asegura de que todos los elementos de audio se reproduzcan antes de que algún elemento se repita.


Cuando hacemos uso de la función Limit Repetition, Wwise evitará que un archivo se repita muy seguido. Aquí podremos establecer cuántos otros sonidos deberán reproducirse antes de que un sonido pueda ser reproducido de nuevo.



Este contenedor nos abre la opción de activar la aleatoriedad en los ajustes de Initial Delay, Numero de Loops (sólo en modo Continuo) y Tiempo de ejecución entre archivos de audio.





Vamos a la interfaz Wwise, y crearemos nuestro primer Random Container. Para ello, iremos a la pestaña Audio del Project Explorer, y seleccionando nuestro Default Work Unit, iremos al menu superior para seleccionar “Create new Random Container” al cual llamaremos simplemente “Random”.



Importando Audio


La diversion llega cuando procedemos a importar audio a nuestro proyecto. Para ello, haremos click derecho sobre el recién creado Random Container y seleccionaremos “Import Audio Files”.


La ventana de "Audio File Importer" aparecera. En esta podremos encontrar opciones como “Import Mode” e “Import as” los cuales dejaremos como Create New Objects y Sound SFX por el momento.




Esta ventana también nos indicará la ubicación de nuestros archivos importados (Audio file destination) así como el objeto destino (Object Destination), en este caso el Random Container. Podemos importar audio, carpetas y archivos de texto usualmente realizados en excel para importar grandes cantidades de archivos en un sólo proceso de importación.


Al importar un audio, Wwise nos da la opción de importarlo como un Sound SFX o como un No Object, vamos a estar trabajando con la opción “Sound SFX”.



Al importar una carpeta, Wwise nos ofrecerá la opción de crear un contenedor automáticamente con objetos de tipo Sound SFX dentro del mismo. Estos contenedores pueden ser Random, Sequence, Switch y Blend containers.



Vamos a importar los diferentes archivos de audio haciendo click en “Add Files”, la ventana de Finder o Explorador de archivos aparecerá donde podremos localizar nuestros archivos a importar, daremos click en “Open” y finalmente click a “Import” en la parte inferior derecha del Audio File Importer.




Una vez importados los archivos de audio, podremos hacer doble click sobre estos para abrir sus propiedades y establecer la ubicación para el comienzo y el final de la reproducción de sonido al arrastrar los dos pequeños cuadros que se encuentran a los extremos inferiores, como se muestra en la imagen.



Como referencia tendremos dos banderas, una verde para indicar la posición en el tiempo desde dónde comenzará la reproducción de dicho archivo de audio y la roja, para indicar dónde termina. La barra amarilla indica el tiempo recorrido a través del archivo de audio.


Podremos aplicar el fade in y el fade out a través de los triángulos o flechas que se localizan en ambos extremos de la parte superior, como se muestra. Podremos revertir cualquier cambio a través del botón “Reset”.



Una vez importados los audios y a través del Random Container podemos ajustar el valor “Weight” de cada archivo. Este valor establece la probabilidad de ejecución de los archivos de audio. El rango va de 0 a 100, donde 100 es la probabilidad maxima de que ese archivo sea elegido para reproducción. Para audicionar cada sonido importado, simplemente presionamos barra espaciadora.



Lo que sigue es comenzar a crear variedad en nuestros archivos de audio a través de la pestaña Random Container del Property Editor. Y ¡qué mejor que escucharlo! Les invito a que vayan al video para que puedan escuchar la variedad en los sonidos y puedan ver los ajustes que se manipularon y la aleatoriedad que se le aplicó a cada ajuste del Random Container.


A manera de nota, tengan cuidado al aplicar cantidades muy elevadas en volumen y make up gain, ya sea de manera directa en el ajuste o a través de los valores de aleatoriedad ya que puede lastimar su oido.



Sequence Container


El Sequence Container nos permite reproducir de manera secuencial - en un orden pre establecido - los archivos de audio.


Nos permite ejecutar la playlist desde su comienzo o reproducirlo en reversa, desde el último archivo de audio hacia el primero una vez que la primer secuencia termina.


También nos ofrece dos modos de reproducción: continua o por paso. En su modo continuo podremos optar por reproducción a manera de loop o por transiciones con tiempos aleatorios o fijos de reproducción. Es importante mencionar que si optamos por usar el tipo de reproducción “Random”, el contenedor automáticamente se convertirá en un Random container.


Cuando tenemos una secuencia de sonidos, los valores de aleatoriedad aplicarán a los sonidos cada vez que se reproduzca un elemento de la lista durante la secuencia.


A diferencia del Random Container, para que el Sequence Container reproduzca audio, los archivos importados tienen que ser agregados a la ventana del Playlist al arrastrar los audios en el orden deseado para dicha secuencia.





Les invito a que vayan al video para que puedan escuchar la variedad en los sonidos y puedan ver los ajustes que se manipularon y la aleatoriedad que se le aplicó a cada ajuste de este Sequence Container.


A manera de nota, tengan cuidado al aplicar cantidades muy elevadas en volumen y make up gain, ya sea de manera directa en el ajuste o a través de los valores de aleatoriedad ya que puede lastimar su oido.


¡Hasta aquí el capítulo de hoy! Espero les haya sido de utilidad. ¡No se pierdan el siguiente capítulo donde seguiremos explorando más de Wwise y sus contenedores!


Sound on!

 
 
 

Comentarios


bottom of page