Work in progress

The content of this page was not yet updated for Godot 4.2 and may be outdated. If you know how to improve this page or you can confirm that it's up to date, feel free to open a pull request.

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

Un flujo de audio es un objeto abstracto que emite sonido. El sonido puede provenir de muchos lugares, pero generalmente se carga desde el sistema de archivos. Los archivos de audio se pueden cargar como AudioStreams y colocarse dentro de un AudioStreamPlayer. Puede encontrar información sobre formatos compatibles y diferencias en Importar muestras de audio.

Hay otros tipos de AudioStreamPlayer, como AudioStreamRandomPitch. Este hace un ajuste aleatorio del tono del sonido cada vez que se reproduce. Esto puede ser útil para añadir variación a los sonidos que se reproducen a menudo.

AudioStreamPlayer

../../_images/audio_stream_player.png

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

../../_images/audio_stream_2d.png

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

../../_images/audio_stream_3d.png

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.