palace
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.
ReverbEffect
ChorusEffect
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.
Source.sends
effects
filter
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:
reverb_preset_names
PIPE_LARGE
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.
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.