Corriente de Audio

Introducción

Como ya habrán leído en Buses de audio, el sonido se envía a cada bus a través de un nodo AudioStreamPlayer. Hay diferentes tipos de AudioStreamPlayer. Cada uno carga un AudioStream y lo reproduce.

AudioStream

An audio stream is an abstract object that emits sound. The sound can come from many places, but is most commonly loaded from the filesystem. Audio files can be loaded as AudioStreams and placed inside an AudioStreamPlayer. You can find information on supported formats and differences in Importar muestras de audio.

There are other types of AudioStreams, such as AudioStreamRandomPitch. This one makes a random adjustment to the sound's pitch every time it's played back. This can be helpful for adding variation to sounds that are played back often.

AudioStreamPlayer

Este es el reproductor de stream estándar, no posicional. Puede reproducirse en cualquier bus. En configuraciones de sonido 5.1, puede enviar audio a la mezcla estéreo o a los altavoces frontales.

AudioStreamPlayer2D

Es una variante del AudioStreamPlayer, pero emite sonido en un entorno de posición 2D. Cuando esté cerca de la izquierda de la pantalla, la panorámica irá hacia la izquierda. Cuando esté cerca del lado derecho, irá a la derecha.

Nota

Area2Ds puede utilizarse para desviar el sonido de cualquier AudioStreamPlayer2Ds que contengan a buses específicos. Esto permite crear buses con diferentes calidades de reverberación o sonido para manejar la acción que ocurre en una parte determinada del mundo del juego.

../../_images/audio_stream_2d_area.png

AudioStreamPlayer3D

Es una variante del AudioStreamPlayer, pero emite sonido en un entorno posicional 3D. Dependiendo de la ubicación del reproductor con respecto a la pantalla, puede posicionar el sonido en estéreo, 5.1 o 7.1 dependiendo de la configuración de audio elegida.

Similar a AudioStreamPlayer2D, un Area puede desviar el sonido a un bus de audio.

../../_images/audio_stream_3d_area.png

A diferencia de la 2D, la versión 3D de AudioStreamPlayer tiene algunas opciones más avanzadas:

Buses de reverberación

Godot permite que los flujos de audio 3D que entran en un nodo específico del área envíen audio seco y húmedo a buses separados. Esto es útil cuando se tienen varias configuraciones de reverberación para diferentes tipos de habitaciones. Esto se hace habilitando este tipo de reverberación en la sección Reverb Bus de las propiedades del Area:

../../_images/audio_stream_reverb_bus.png

Al mismo tiempo, se crea un diseño especial de bus donde cada área recibe la información de reverberación de cada área. Es necesario crear y configurar un efecto de reverberación en cada bus de reverberación para completar la configuración del efecto deseado:

../../_images/audio_stream_reverb_bus2.png

La sección de Reverb Bus del área también tiene un parámetro llamado Uniformidad. Algunos tipos de habitaciones rebotan los sonidos más que otros (como un almacén), por lo que la reverberación puede ser escuchada casi uniformemente a través de la habitación aunque la fuente pueda estar lejos. Jugando con este parámetro se puede simular ese efecto.

Doppler

Cuando la velocidad relativa entre un emisor y un oyente cambia, esto se percibe como un aumento o disminución del tono del sonido emitido. Godot puede rastrear los cambios de velocidad en los nodos AudioStreamPlayer3D y Camera. Ambos nodos tienen esta propiedad, que debe ser activada manualmente:

../../_images/audio_stream_doppler.png

Habilítalo configurándolo en función de cómo se moverán los objetos: usa Idle para los objetos movidos mediante _process, o Physics para los objetos movidos mediante _physics_process. El rastreo ocurrirá automáticamente.