Adding an Effect¶
This section will focus on how to add effects to the audio.
There are two set of audio effects supported by palace: ReverbEffect
and ChorusEffect.
Reverb Effect¶
Reverb happens when a sound is reflected and then decay as the sound is absorbed
by the objects in the medium. ReverbEffect facilitates such effect.
Creating a reverb effect can be as simple as:
with ReverbEffect() as effect:
source.sends[0].effect = effect
Source.sends is a collection of send path signals, each of which
contains effects and filter that describes it. Here we are only concerned
about the former.
The above code would yield a generic reverb effect by default.
There are several other presets that you can use, which are listed
by reverb_preset_names. To use these preset, you can simply provide
the preset effect name as the first parameter for the constructor. For example,
to use PIPE_LARGE preset effect, you can initialize the effect like below:
with ReverbEffect('PIPE_LARGE') as effect:
source.sends[0].effect = effect
These effects can be modified via their attributes.
effect.gain = 0.4
effect.diffusion = 0.65
late_reverb_pan = 0.2, 0.1, 0.3
The list of these attributes and their constraints can be found
in the documentation of ReverbEffect.
Chorus Effect¶
ChorusEffect does not have preset effects like
ReverbEffect, so you would have to initialize the effect attributes
on creation.
There are five parameters to initialize the effect, respectively: waveform, phase, depth, feedback, and delay.
with ChorusEffect('sine', 20, 0.4, 0.5, 0.008) as effect:
source.sends[0].effect = effect
For the constraints of these parameters, please refer to the documentation.