Merge pull request #9522 from skyace65/AudioStream

Update audio streams page for Godot 4.3
This commit is contained in:
Max Hilbrunner
2024-07-01 19:40:03 +02:00
committed by GitHub
17 changed files with 23 additions and 14 deletions

View File

@@ -28,15 +28,24 @@ played back often.
AudioStreamPlayer
-----------------
.. image:: img/audio_stream_player.png
.. image:: img/audio_stream_player.webp
This is the standard, non-positional stream player. It can play to any bus.
In 5.1 sound setups, it can send audio to stereo mix or front speakers.
Playback Type is an experimental setting, and could change in future versions
of Godot. It exists so Web exports use Web Audio-API based samples instead of
streaming all sounds to the browser, unlike most platforms. This prevents the
audio from being garbled in single-threaded Web exports. By default, only the
Web platform will use samples. Changing this setting is not recommended, unless
you have an explicit reason to. You can change the default playback type
for the web and other platforms in the project settings under **Audio > General**
(advanced settings must be turned on to see the setting).
AudioStreamPlayer2D
-------------------
.. image:: img/audio_stream_2d.png
.. image:: img/audio_stream_2d.webp
This is a variant of AudioStreamPlayer, but emits sound in a 2D positional
environment. When close to the left of the screen, the panning will go left.
@@ -49,20 +58,20 @@ When close to the right side, it will go right.
different reverb or sound qualities to handle action happening in a
particular parts of your game world.
.. image:: img/audio_stream_2d_area.png
.. image:: img/audio_stream_2d_area.webp
AudioStreamPlayer3D
-------------------
.. image:: img/audio_stream_3d.png
.. image:: img/audio_stream_3d.webp
This is a variant of AudioStreamPlayer, but emits sound in a 3D positional
environment. Depending on the location of the player relative to the screen,
it can position sound in stereo, 5.1 or 7.1 depending on the chosen audio setup.
Similar to AudioStreamPlayer2D, an Area can divert the sound to an audio bus.
Similar to AudioStreamPlayer2D, an Area3D can divert the sound to an audio bus.
.. image:: img/audio_stream_3d_area.png
.. image:: img/audio_stream_3d_area.webp
Unlike for 2D, the 3D version of AudioStreamPlayer has a few more advanced options:
@@ -71,20 +80,20 @@ Unlike for 2D, the 3D version of AudioStreamPlayer has a few more advanced optio
Reverb buses
~~~~~~~~~~~~
Godot allows for 3D audio streams that enter a specific Area node to send dry
Godot allows for 3D audio streams that enter a specific Area3D node to send dry
and wet audio to separate buses. This is useful when you have several reverb
configurations for different types of rooms. This is done by enabling this type
of reverb in the **Reverb Bus** section of the Area's properties:
of reverb in the **Reverb Bus** section of the Area3D's properties:
.. image:: img/audio_stream_reverb_bus.png
.. image:: img/audio_stream_reverb_bus.webp
At the same time, a special bus layout is created where each area receives the
reverb info from each area. A Reverb effect needs to be created and configured
At the same time, a special bus layout is created where each Area3D receives the
reverb info from each Area3D. A Reverb effect needs to be created and configured
in each reverb bus to complete the setup for the desired effect:
.. image:: img/audio_stream_reverb_bus2.png
.. image:: img/audio_stream_reverb_bus2.webp
The Area's **Reverb Bus** section also has a parameter named **Uniformity**.
The Area3D's **Reverb Bus** section also has a parameter named **Uniformity**.
Some types of rooms bounce sounds more than others (like a warehouse), so
reverberation can be heard almost uniformly across the room even though the
source may be far away. Playing around with this parameter can simulate
@@ -98,7 +107,7 @@ perceived as an increase or decrease in the pitch of the emitted sound.
Godot can track velocity changes in the AudioStreamPlayer3D and Camera nodes.
Both nodes have this property, which must be enabled manually:
.. image:: img/audio_stream_doppler.png
.. image:: img/audio_stream_doppler.webp
Enable it by setting it depending on how objects will be moved:
use **Idle** for objects moved using ``_process``, or **Physics**

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB