Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
AudioEffectChorus
Inherits: AudioEffect < Resource < RefCounted < Object
Adds a chorus audio effect to an audio bus.
Gives the impression of multiple audio sources.
Description
A "chorus" effect creates multiple copies of the original audio (called "voices") with variations in pitch, and layers on top of the original, giving the impression that the sound comes from multiple sources. This creates spectral and spatial movement.
Each voice is played a short period of time after the original audio, controlled by delay. An internal low-frequency oscillator (LFO) controls their pitch, and depth controls the LFO's maximum amount.
In the real world, this kind of effect is found in pianos, choirs, and instrument ensembles.
This effect can also be used to widen mono audio and make digital sounds have a more natural or analog quality.
Tutorials
Properties
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Methods
get_voice_cutoff_hz(voice_idx: int) const |
|
get_voice_delay_ms(voice_idx: int) const |
|
get_voice_depth_ms(voice_idx: int) const |
|
get_voice_level_db(voice_idx: int) const |
|
get_voice_pan(voice_idx: int) const |
|
get_voice_rate_hz(voice_idx: int) const |
|
void |
set_voice_cutoff_hz(voice_idx: int, cutoff_hz: float) |
void |
set_voice_delay_ms(voice_idx: int, delay_ms: float) |
void |
set_voice_depth_ms(voice_idx: int, depth_ms: float) |
void |
set_voice_level_db(voice_idx: int, level_db: float) |
void |
set_voice_pan(voice_idx: int, pan: float) |
void |
set_voice_rate_hz(voice_idx: int, rate_hz: float) |
Property Descriptions
The volume ratio of the original audio. Value can range from 0 to 1.
float voice/1/cutoff_hz = 8000.0 🔗
The frequency threshold of the voice's low-pass filter in Hz.
float voice/1/delay_ms = 15.0 🔗
The delay of the voice in milliseconds, compared to the original audio.
float voice/1/depth_ms = 2.0 🔗
The depth of the voice's low-frequency oscillator in milliseconds.
float voice/1/level_db = 0.0 🔗
The gain of the voice in dB.
The pan position of the voice.
The rate of the voice's low-frequency oscillator in Hz.
float voice/2/cutoff_hz = 8000.0 🔗
The frequency threshold of the voice's low-pass filter in Hz.
float voice/2/delay_ms = 20.0 🔗
The delay of the voice in milliseconds, compared to the original audio.
float voice/2/depth_ms = 3.0 🔗
The depth of the voice's low-frequency oscillator in milliseconds.
float voice/2/level_db = 0.0 🔗
The gain of the voice in dB.
The pan position of the voice.
The rate of the voice's low-frequency oscillator in Hz.
The frequency threshold of the voice's low-pass filter in Hz.
The delay of the voice in milliseconds, compared to the original audio.
The depth of the voice's low-frequency oscillator in milliseconds.
The gain of the voice in dB.
The pan position of the voice.
The rate of the voice's low-frequency oscillator in Hz.
The frequency threshold of the voice's low-pass filter in Hz.
The delay of the voice in milliseconds, compared to the original audio.
The depth of the voice's low-frequency oscillator in milliseconds.
The gain of the voice in dB.
The pan position of the voice.
The rate of the voice's low-frequency oscillator in Hz.
The number of voices in the effect. Value can range from 1 to 4.
The volume ratio of all voices. Value can range from 0 to 1.
Method Descriptions
float get_voice_cutoff_hz(voice_idx: int) const 🔗
Returns the frequency threshold of a given voice_idx's low-pass filter in Hz. Frequencies above this value are removed from the voice.
float get_voice_delay_ms(voice_idx: int) const 🔗
Returns the delay of a given voice_idx in milliseconds, compared to the original audio.
float get_voice_depth_ms(voice_idx: int) const 🔗
Returns the depth of a given voice_idx's low-frequency oscillator in milliseconds.
float get_voice_level_db(voice_idx: int) const 🔗
Returns the gain of a given voice_idx in dB.
float get_voice_pan(voice_idx: int) const 🔗
Returns the pan position of a given voice_idx. Negative values mean the left channel, positive mean the right.
float get_voice_rate_hz(voice_idx: int) const 🔗
Returns the rate of a given voice_idx's low-frequency oscillator in Hz.
void set_voice_cutoff_hz(voice_idx: int, cutoff_hz: float) 🔗
Sets the frequency threshold of a given voice_idx's low-pass filter in Hz. Frequencies above cutoff_hz are removed from voice_idx. Value can range from 1 to 20500.
void set_voice_delay_ms(voice_idx: int, delay_ms: float) 🔗
Sets the delay of a given voice_idx in milliseconds, compared to the original audio. Value can range from 0 to 50.
void set_voice_depth_ms(voice_idx: int, depth_ms: float) 🔗
Sets the depth of a given voice_idx's low-frequency oscillator in milliseconds. Value can range from 0 to 20.
void set_voice_level_db(voice_idx: int, level_db: float) 🔗
Sets the gain of a given voice_idx in dB. Value can range from -60 to 24.
void set_voice_pan(voice_idx: int, pan: float) 🔗
Sets the pan position of a given voice_idx. Negative values pan the sound to the left, positive pan to the right. Value can range from -1 to 1.
void set_voice_rate_hz(voice_idx: int, rate_hz: float) 🔗
Sets the rate of a given voice_idx's low-frequency oscillator in Hz. Value can range from 0.1 to 20.