Buses de audio

Introducción

El código de procesamiento de audio de Godot ha sido escrito teniendo en cuenta los juegos, con el objetivo de lograr un equilibrio óptimo entre el rendimiento y la calidad del sonido.

El motor de audio de Godot permite crear cualquier número de buses de audio y se puede añadir cualquier número de procesadores de efectos a cada bus. Sólo el hardware del dispositivo que ejecuta el juego limitará el número de buses y efectos que se pueden utilizar antes de que el rendimiento empiece a sufrir.

Escala de decibelios

La interfaz de sonido de Godot está diseñada para satisfacer las expectativas de los profesionales del diseño de sonido. Para ello, utiliza principalmente la escala de decibelios.

Para los que no estén familiarizados con él, puede explicarse con algunos hechos:

  • La escala de decibelios (dB) es una escala relativa. Representa la relación de la potencia del sonido usando 20 veces la base 10 logaritmo de la relación (20 × log10(P/P0` )).

  • Por cada 6 dB, la amplitud del sonido se duplica o se reduce a la mitad. 12 dB representan un factor de 4, 18 dB un factor de 8, 20 dB un factor de 10, 40 dB un factor de 100, etc.

  • Como la escala es logarítmica, el verdadero cero (sin audio) no puede ser representado.

  • 0 dB es la máxima amplitud posible en un sistema de audio digital. Este límite no es el límite humano, sino un límite del hardware de sonido. El audio con amplitudes demasiado altas para ser representado correctamente por debajo de 0 dB crea un tipo de distorsión llamada clipping.

  • Para evitar el recorte, su mezcla de sonido debe ser arreglada de tal manera que la salida del bus maestro (más adelante) nunca exceda los 0 dB.

  • Cada 6 dB por debajo del límite de 0 dB, la energía sonora se reduce a la mitad. Esto significa que el volumen del sonido a -6 dB es la mitad de alto que 0 dB. -12 dB es la mitad de alto que -6 dB y así sucesivamente.

  • Cuando se trabaja con decibelios, se considera que el sonido ya no es audible entre -60 dB y -80 dB. Esto hace que el rango de trabajo se sitúe generalmente entre -60 dB y 0 dB.

Puede llevar un poco de tiempo acostumbrarse, pero al final es más amigable y te permitirá comunicarte mejor con los profesionales del audio.

Buses de audio

Los buses de Audio se encuentran en el panel inferior del editor de Godot:

../../_images/audio_buses1.png

Un bus de audio (también llamado canal de audio) puede considerarse un lugar por el que se canaliza el audio de camino a la reproducción a través de los altavoces de un dispositivo. Los datos de audio pueden ser modificados y redireccionados por un bus de audio. Un bus de audio tiene un medidor VU (las barras que se encienden cuando se reproduce el sonido) que indica la amplitud de la señal que pasa por él.

El autobús más a la izquierda es el "autobús principal". Este bus da salida a la mezcla a sus altavoces, así que, como se menciona en la sección Escala de decibelios anterior, asegúrese de que el nivel de la mezcla no alcance los 0 dB en este bus. El resto de los buses de audio pueden ser direccionados de forma flexible. Después de modificar el sonido, lo envían a otro autobús a la izquierda. Se puede especificar el autobús de destino para cada uno de los buses de audio que no son maestros. La ruta siempre pasa el audio de los autobuses de la derecha a los autobuses más a la izquierda. Esto evita infinitos bucles de enrutamiento.

../../_images/audio_buses2.png

En la imagen de arriba, la salida del Bus 2 se ha dirigido al bus Master.

Reproducción de audio a través de un audio de bús

Para probar el paso de audio a un bus, crea un nodo AudioStreamPlayer, carga un AudioStream y selecciona un bus de destino para la reproducción:

../../_images/audio_buses3.png

Finalmente, cambia la propiedad de Playing a On y el sonido fluirá.

Ver también

También puede interesarte leer acerca de Corriente de Audio ahora.

Agregando efectos

Los buses de audio pueden contener todo tipo de efectos. Estos efectos modifican el sonido de una manera u otra y se aplican en orden.

../../_images/audio_buses4.png

Pruébelos todos para tener una idea de cómo alteran el sonido. Aquí sigue una breve descripción de los efectos disponibles:

Amplificar

Amplificar cambia la amplitud de la señal. Hay que tener algo de cuidado. Ajustar el nivel demasiado alto puede hacer que el sonido se corte, lo que normalmente no es deseable.

BandLimit y BandPass

Estos son filtros de resonancia que bloquean las frecuencias alrededor del punto de corte. BandPass puede ser usado para simular el sonido que pasa por una vieja línea telefónica o un megáfono. Modulando la frecuencia del BandPass se puede simular el sonido de un pedal de guitarra wah-wah, piensa en la guitarra de Voodoo Child (Slight Return) de Jimi Hendrix.

Captura

El efecto de captura (Capture effect) copia los fotogramas de audio del bus de audio en el que se encuentra en un búfer interno. Esto se puede utilizar para capturar datos del micrófono o transmitir audio a través de la red en tiempo real.

Coros

El efecto Chorus duplica el audio entrante, retrasa ligeramente el duplicado y utiliza un LFO para modular continuamente el tono de la señal duplicada antes de mezclar de nuevo la(s) señal(es) duplicada(s) con la original. Esto crea un efecto de titilación y añade anchura estéreo al sonido.

Compresor

Un compresor de rango dinámico atenúa automáticamente el nivel de la señal entrante cuando su amplitud excede un cierto umbral. El nivel de atenuación aplicado es proporcional a la medida en que el audio entrante excede el umbral. El parámetro Ratio del compresor controla el grado de atenuación. Uno de los principales usos de un compresor es reducir el rango dinámico de las señales con partes muy fuertes y silenciosas. Reducir el rango dinámico de una señal puede facilitar la mezcla.

El compresor tiene muchos usos en el mix, por ejemplo:

  • Puede ser usado en el 'Master bus' para comprimir todo el resultado.

  • Se puede usar en canales de voz para asegurar que suenan por igual.

  • Puede ser encadenado. Esto significa que puede reducir el nivel de sonido de una señal usando el nivel de otro bus de audio para la detección del umbral. Esta técnica es muy común en la mezcla de videojuegos para "bajar" el nivel de la música o los efectos de sonido cuando las voces necesitan ser escuchadas.

  • Puede acentuar los transitorios usando un ataque más lento. Esto puede hacer que los efectos de sonido sean más impactantes.

Nota

Si su objetivo es evitar que una señal exceda por completo una amplitud dada, en lugar de reducir el rango dinámico de la señal, un limiter es probablemente una mejor opción que un compresor.

Retraso

Añade un efecto "eco" con bucle de retroalimentación. Puede ser usado junto con Reverb, para simular habitaciones espaciosas, cañones, etc., donde el sonido rebota lejos.

Distorsion

Hace que el sonido se distorsione. Godot ofrece varios tipos de distorsión: overdrive, tan y bit crushing. La distorsión puede ser usada para simular el sonido que viene a través de un altavoz o dispositivo de baja calidad.

EQ

El EQ es lo que todos los demás ecualizadores heredan. Se puede ampliar con scripts personalizados para crear un ecualizador con un número personalizado de bandas.

EQ6, EQ10, EQ21

Godot posee tres ecualizadores con diferente numero de bandas. Un ecualizador en el bus maestro puede ser útil para cortar frecuencias que los altavoces no pueden reproducir bien ( P.ej. el altavoz de un teléfono móvil no puede reproducir los bajos correctamente). El efecto del ecualizador puede desactivarse cuando se conectan los auriculares.

Filtro

El filtro es lo que todos los demás filtros heredan y no debe ser usado directamente.

Filtro de paso alto

Corta las frecuencias por debajo de una frecuencia específica de Corte. El filtro de paso alto se utiliza para reducir el contenido de bajos de una señal.

Filtro de paso alto

Reduce todas las frecuencias por encima de una frecuencia específica de Corte.

Limitador

Un limitador es similar a un compresor, pero es menos flexible y esta diseñado para omitir el sonido al exceder el limite de dB. Añadir uno al Master Bus es siempre recomendado para reducir los efectos de los recortes.

Filtro de paso bajo

Corta las frecuencias por encima de una frecuencia específica de Cutoff y también puede resonar (aumenta las frecuencias cercanas a la frecuencia de Cutoff). Los filtros de paso bajo pueden ser usados para simular el sonido "amortiguado". Por ejemplo, sonidos subacuáticos, sonidos bloqueados por paredes o sonidos distantes.

Filtro de estante bajo

Reduce todas las frecuencias por debajo de una frecuencia específica de Corte.

NotchFilter

Lo opuesto al BandPassFilter, remueve una banda del sonido del espectro de frecuencias en una cierta frecuencia de Cutoff.

Panner

El Panner permite ajustar el balance estéreo de una señal entre el canal izquierdo y el derecho (use auriculares para escuchar este efecto).

Phaser

Probablemente no tenga mucho sentido explicar que este efecto se forma por dos señales que se desfasan y se anulan mutuamente. Puedes hacer una voz de Darth Vader con ella, o sonidos parecidos a los de un avión.

PitchShift

Este efecto permite ajustar el tono de la señal independientemente de su velocidad. Todas las frecuencias pueden ser aumentadas/disminuidas con un efecto mínimo sobre los transitorios. PitchShift puede ser útil para crear voces inusualmente altas o profundas.

Grabación

El efecto de grabación (Record effect) permite al usuario grabar sonido desde un micrófono.

Reverberación

La reverberación simula habitaciones de diferentes tamaños. Tiene parámetros ajustables que pueden ser ajustados para obtener el sonido de una habitación específica. La reverb es comúnmente emitida desde Areas (ver Reverb buses), o para aplicar una sensación de "cámara" a todos los sonidos.

SpectrumAnalyzer

Este efecto no altera el audio, sino que lo añade a los buses de los que quiere un análisis de espectro. Esto se usaría típicamente para la visualización de audio. Un proyecto de demostración usando esto se puede encontrar aquí.

StereoEnhance

Este efecto utiliza unos pocos algoritmos para mejorar el espectro estéreo de una señal.

deshabilitador automatico de "Bus"

No es necesaria la desactivación manual de los buses cuando no están en uso. Godot detecta que le bus ha estado en silencio por unos segundos y lo deshabilita (incluyendo todos los efectos).

../../_images/audio_buses5.png

Los buses desactivados tienen un medidor de VU azul en lugar de uno rojo-verde.

Reorganizamiento de "Bus"

Los reproductores de flujo utilizan los nombres de los buses para identificarlos, lo que permite añadir, quitar y mover los buses mientras se mantiene la referencia a ellos. Sin embargo, si se cambia el nombre de un bus, la referencia se perderá y el reproductor de flujo saldrá a Master. Se eligió este sistema porque reordenar los buses es un proceso más común que cambiarles el nombre.

Capa del bus por defecto

El diseño del bus por defecto se guarda automáticamente en el archivo res://default_bus_layout.tres. Los arreglos de bus personalizados pueden guardarse y cargarse desde el disco.