Al seleccionar un AudioGroup en la Jerarquía AudioGroup, la Vista de AudioGroup o la ventana del Proyecto (como un sub-asset) va a mostrar el inspector para ese AudioGroup.
El inspector para el AudioGroup consiste de un número de elementos:
En la parte superior del Inspector del Audiogroup hay un nombre del AudioGroup, a lo largo con el menú despegable del engranaje común a todos los Objetos del Inspector.
El menú de engranaje contiene la siguiente funcionalidad:
Cuando se esté en el modo de juego en Unity, el Inspector para un AudioGroup incluye un botón en la parte superior llamado “Edit in Playmode”. Por defecto, los valores de parámetro de un AudioMixer no son editables en el modo de juego y son completamente controlados por el snapshot actual dentro del juego.
Edit in Playmode le permite a usted anular el sistema de snapshot y comenzar las ediciones al snapshot actual directamente durante el modo de juego. Esta es una manera excelente de mezclar y masterizar un juego mientras se juegue en tiempo real.
En la parte superior de todos los Inspectores del AudioGroup, hay un deslizador que define el tono de reproducción a través de ese AudioGroup. Para cambiar el tono, utilice ya sea el deslizador o ingrese el tono manualmente al campo de texto a la derecha.
Cada AudioGroup dentro de un AudioMixer tiene exactamente 1 Attenuation Unit (Unidad de atenuación)
La Attenuation Unit es dónde usted puede aplicar atenuación / gain a la señal del audio que pasa a través del AudioGroup. La atenuación es computada y aplicada a la señal ‘at the unit’ (En la unidad) (no es combinada con otros ajustes de atenuación y aplicada en la fuente de voz). Esto permite unos ajustes muy complejos e interesantes para ser creados cuando sea combinado con Sends / Receives y efectos DSP no lineales. La atenuación puede ser aplicada a –80dB (silencio) y gain puede ser aplicado a +20dB.
Cada Attenuation Unit tiene un medidor VU en el inspector. Este medido muestra los niveles de señal del audio en ese punto en la cadena de señal (justo después de que la atenuación sea aplicada). Esto significa que si usted tiene efectos DSP o Recibe después de la Attenuation Unit, la información del medidor vista en la tira del AudioGroup para ese AudioGroup será diferente de la información del medidor en esa Attenuation Unit. Esta es una excelente manera de depurar la cadena de señal de un AudioGroup al arrastrar la Attenuation Unit para arriba y abajo de la cadena de procesamiento para ver el medidor en diferentes puntos.
El medidor VU muestra ambos RMS y valores peak hold.
Los Effect Units (Unidades de Efecto) son efectos DSP generales que modifican la señal de audio siendo reproducida a través del AudioGroup, por ejemplo Highpass o Reverb. Los Effect Units pueden también procesar información de un lado de la cadena de señal que es enviada a ellos desde una Send Unit. La interfaz para cada Effect Unit es diferente, pero para la mayoría de parte expone una colección de parámetros que usted puede modificar para cambiar cómo el efecto es aplicado a la señal. Por ejemplo, un efecto Parameter EQ tiene 3 parámetros que modifican cómo la señal es procesada:
Unity viene con una colección de efectos integrados que usted puede utilizar dentro de un AudioGroup. También está la audibilidad de crear plugins de efecto DSP personalizados que usted puede utilizar dentro de un AudioMixer.
Para cambiar el orden del efecto dentro del AudioGroup, haga click izquierdo en el encabezado del efecto y arrastre para arriba o abajo para colocarlo en una diferente posición.
Para quitar el efecto del AudioGroup, haga click derecho en el encabezado del efecto y seleccione ‘Remove this effect’.
Sends le permiten a usted diverge el flujo de la señal de audio y enviar un copia atenuada potencial de la señala a ser utilizada como un side-chain (lado de cadena) dentro de otro Effect Unity, por ejemplo, un compresor side-chain. Usted puede insertar Sends en cualquier parte de la cadena de la señal, permitiéndole una divergencia de la señal en cualquier punto.
Incialmente, cuando los Sends son agregados a un Audiogroup, estos no envían nada, y el Send Level (Nivel de envío) es configurado a 80dB. Para enviar a otro Effect Unit, usted debe ya tener un Effect Unity que pueda aceptar señales side-chain en el AudioMixer en alguna parte. Una vez el Effect Unit de destino ha sido seleccionado, el usuario necesita aumentar el Send Level para enviar señal al destino.
Receives son los sumideros de señal de Sends, estos simplemente toman la señal de audio que es enviada a ellos desde Sends y lo mezcla con el paso actual de señal a través de su AudioGroup. No hay parámetros a un Receive.
Tenga en cuenta que si usted le hace Solo a una unidad de Receive, esto hará que el sonido pare de sonar. Esto es por diseño.
Los Duck Volume Units le permite a usted crear una compresión side-chain de señal enviada de Sends. El Duck Volume es una manera excelente de controlar la atenuación de una señala basándose en el audio siendo reproducido en alguna parte en el AudioMixer.
Las Duck Volume Units pueden ser agregadas como cualquier otro Effect Unit y deben tener señales enviadas a ellos desde al menos un Send para ser útiles.
Cada unidad dentro del Inspector del AudioGroup tiene un número de características comunes.
Permitiendo un Wet Mixing en un efecto DSP le permite a usted decir qué tanto de la señal de audio que va a entrar en el efecto de verdad está procesado por el efecto. Al activar Wet Mixing, crea de manera efectiva un canal seco alrededor del efecto. Usted puede luego click en la casilla de efecto y arrastre para la izquierda y derecha para aumentar o disminuir el porcentaje de la señal de audio que es pasa a través de la unidad de efecto DSP. El resto de la señal es pasada a tráves del canal seco. El siguiente diagrama ilustra este concepto:
Wet mixing es bueno para cuando un usuario quiere controlar la influencia un efecto tiene en la mezcla y preserva un porcentaje de la señal original.
Los Exposed Parameters (Parámetros Expuestos) le permiten desviarse del sistema de Snapshot de un AudioMixer y configurar el valor de cualquier parámetro dentro del AudioMixer desde script. Cuando un Exposed Parameter es configurado vía script, ese parámetro es bloqueado a ese valor y no va a cambiar a medida que el juego hace transiciones de Snapshots.
Para Exponer un parámetro con un AudioMixer, esto se hace en el Inspector del AudioGroup. Para cualquier parámetro mostrado en el Inspector (Incluyendo Pitch (tono), Volume (volumen), Send Level (Nivel de Envio) y Wet Level (Nivel de humedo), usted puede hacer click derecho en el nombre del parámetro y escoger ‘Expose X to script’.
Una vez un parámetro sea expuesto, será mostrado en el despegable del Exposed Parameter en la esquina superior derecha de la Ventana del AudioMixer. Al hacer click en este despegable, va a revelar todos los Exposed Parameters (Parámetros Expuestos) en el AudioMixer.
Cuando se haga una transición entre Snapshot, por defecto todas las transiciones son hechas con una interpolación linea desde el comienzo a los valores objetivo. En algunos casos, este comportamiento de transición no es deseado sin embargo, por ejemplo cuando es preferible poner una ladrillo en una pared para cambiar el inicio o final de la transición.
Todos los parámetros disponibles dentro del AudioMixer pueden tener su comportamiento de transición cambiado. Los comportamientos de transición están definidos por Snapshot, con el Snapshot objeto definiendo el comportamiento de transición.
Para configurar la anulación de una transición para un parámetro en particular para el Snapshot actual, haga click derecho en el nombre del parámetro y seleccione el tipo de transición requerido.
The audio mixer asset itself has an inspector that allows specifying the overall activation/suspense behavior of the mixer. Being assets, audio mixers are basically activated when any audio source plays into the mixer and will stay active as long as there is such a driver supplying audio data to the mixer. Since mixers can also be activated by the audio preview button in the scene view, the activation behavior is different from that of scene-objects such as MonoBehaviors. Thus, a mixer may be active (and therefore consuming CPU) even in stop mode.
To avoid running out of CPU resources in a project that contains a large number of mixers that are not supposed to be running all at the same time (say, because specific levels use certain specialized mixers), the audio mixers have functionality built-in to put themselves into suspended mode in which all processing stops. To do this in a natural way that doesn’t lead to audible artefacts such as clicks or missing rever/echo tails each mixer uses the following strategy:
As long as any audio source is playing into this mixer or the mixer is receiving audio data from other sub-mixers the mixer will keep itself active. After the last sound source has finished playing, the mixer will wait for a second and then continually use loudness-measurement at its own output do decide if it should suspend itself. This is needed because reverb and echo tails can potentially decay very slowly. The loudness threshold at which the mixer suspends itself is determined by enabling Auto Mixer Suspend and setting the Threshold Volume parameter on the mixer asset’s inspector which is shown then the mixer asset is selected in the project browser (not when selecting a sub-asset like a mixer group or snapshot). The value of –80 dB is chosen as the default and matches the lowest value of the faders in the mixer. In practice it is often possible to set it to a significantly larger value to get quicker deactivation and avoid intermediate CPU spikes that could cause stutter.