From 6122e640c7c6005c7aadee2f7c5c89ebcdf8c28d Mon Sep 17 00:00:00 2001 From: skyace65 Date: Sun, 19 May 2024 22:27:13 -0400 Subject: [PATCH] Document HardLimiter bus effect --- tutorials/audio/audio_buses.rst | 2 +- tutorials/audio/audio_effects.rst | 21 +++++++++++++++++---- tutorials/audio/img/audio_buses4.png | Bin 6409 -> 0 bytes tutorials/audio/img/audio_buses4.webp | Bin 0 -> 7422 bytes 4 files changed, 18 insertions(+), 5 deletions(-) delete mode 100644 tutorials/audio/img/audio_buses4.png create mode 100644 tutorials/audio/img/audio_buses4.webp diff --git a/tutorials/audio/audio_buses.rst b/tutorials/audio/audio_buses.rst index b0211ec47..941241022 100644 --- a/tutorials/audio/audio_buses.rst +++ b/tutorials/audio/audio_buses.rst @@ -91,7 +91,7 @@ Adding effects Audio buses can contain all sorts of effects. These effects modify the sound in one way or another and are applied in order. -.. image:: img/audio_buses4.png +.. image:: img/audio_buses4.webp For information on what each effect does, see :ref:`doc_audio_effects`. diff --git a/tutorials/audio/audio_effects.rst b/tutorials/audio/audio_effects.rst index 9dc54bc9d..e835f8290 100644 --- a/tutorials/audio/audio_effects.rst +++ b/tutorials/audio/audio_effects.rst @@ -8,7 +8,7 @@ Audio effects Godot includes several audio effects that can be added to an audio bus to alter every sound file that goes through that bus. -.. image:: img/audio_buses4.png +.. image:: img/audio_buses4.webp Try them all out to get a sense of how they alter sound. Here follows a short description of the available effects: @@ -123,6 +123,13 @@ Filter Filter is what all other filters inherit from and should not be used directly. +HardLimiter +~~~~~~~~~~~ + +A limiter is similar to a compressor, but it's less flexible and designed to +prevent a signal's amplitude exceeding a given dB threshold. Adding a limiter to the final point of +the Master bus is good practice, as it offers an easy safeguard against clipping. + HighPassFilter ~~~~~~~~~~~~~~ @@ -140,9 +147,15 @@ Reduces all frequencies above a specific *Cutoff* frequency. Limiter ~~~~~~~ -A limiter is similar to a compressor, but it's less flexible and designed to -prevent a signal's amplitude exceeding a given dB threshold. Adding a limiter to the final point of -the Master bus is good practice, as it offers an easy safeguard against clipping. +This is the old limiter effect, and it is recommended to use the new HardLimiter +effect instead. + +Here is an example of how this effect works, if the ceiling is set to -12 dB, and the +threshold is 0 dB, all samples going through get reduced by 12dB. This changes the +waveform of the sound and introduces distortion. + +This effect is being kept to preserve compatibility, however it should be considered +deprecated. LowPassFilter ~~~~~~~~~~~~~ diff --git a/tutorials/audio/img/audio_buses4.png b/tutorials/audio/img/audio_buses4.png deleted file mode 100644 index 18a928ded490f304344a304b0d7d36a41eb993f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6409 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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 MSIjOKTy%W&Kls(^vj6}9 diff --git a/tutorials/audio/img/audio_buses4.webp b/tutorials/audio/img/audio_buses4.webp new file mode 100644 index 0000000000000000000000000000000000000000..de50f61b33557db49ce0e4615ac2e79b1c631573 GIT binary patch literal 7422 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 X=8>B^Pt3{Tu{@y3lsG6CN(1;mXNV?> literal 0 HcmV?d00001