13 KiB
- »
- Tutorial »
- Adding an Effect
- View page source
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.
© Copyright 2019, 2020 Nguyễn Gia Phong et al