Fix loud part volume bug
[zynaddsubfx-code.git] / doc / envelope.txt
blob157843eb3926398662e0b3fc8ac812f64ed4be8c
1 Envelopes
2 ---------
4 Introduction
5 ~~~~~~~~~~~~
6 Envelopes control how the amplitude, the frequency, or the
7 filter changes over time.
9 Amplitude Envelopes
10 ~~~~~~~~~~~~~~~~~~~
12 These envelopes controls the amplitude of the sound.
13 In ZynAddSubFX, amplitude envelopes can be linear or logarithmic. 
14 In the next image, it is shown the differences between these envelopes. 
16 image::images/envelope1.png[Alt text]
18 The amplitude envelope is divided into:
20 * *Attack*: Begins at the Note On. The volume starts from 0 to the maximum.
21 In ZynAddSubFX, the attack is always linear.
22 * *Decay*: The volume drops from the maximum value to a level called "Sustain level"
23 * *Sustain*: The volume remains constant until the key is depressed (Note Off).
24 After this, the last stage take place.
25 * *Release*: The volume drops to zero
28 Frequency Envelopes
29 ~~~~~~~~~~~~~~~~~~~
31 These envelopes controls the frequency (more exactly, the pitch) of
32 the oscillators.
33 The following picture draws the stages of these envelopes.
35 image::images/envelope2.png[Alt text]
37 The dotted line represents the real pitch of the sound without the
38 envelope.
40 The frequency envelopes are divided into 3 stages:
42 * *Attack*: Begins at the Note On. The frequency starts from a certain value and
43 glides to the real frequency of the note.
44 * *Sustain*: The frequency is the same on over the sustain period 
45 * *Release*: This stage begins on Note Off and glides the frequency of the note
46 to a certain
47 value
49 Filter Envelopes
50 ~~~~~~~~~~~~~~~~
51 These envelopes controls the cutoff frequency of the filters and are divided
52 into
54 image:images/envelope3.png[Alt Text]
56 * *Attack*: Begins at the Note On. The cutoff frequency starts from a certain value and glides to another value
57 * *Decay*: The cutoff frequency continues to glide to the real cutoff frequency value of the filter (dotted line)
58 * *Sustain*: the cutoff frequency is the same on over the sustain period (dotted line)
59 * *Release*: this stage begins on Note Off and glides the filter cutoff frequency of the note to a certain value 
61 Freemode Envelopes
62 ~~~~~~~~~~~~~~~~~~
64 For all envelope there is a mode that allows the user to set an arbitrary number of stages and control points. This mode is called Freemode.
66 image:images/envelope4.png[Alt Text]
68 Only stage that always remains defined is the Sustain, where the envelopes freezes until a Note Off event.
70 User Interface
71 ~~~~~~~~~~~~~~
72 All the envelope types has some common controls:
74 * *E*: Shows a window that you can view the real envelope shape or convert to free mode to edit it
75 * *Stretch*: How the envelope is stretched according the note.
76 On the higher notes the envelopes are shorter than lower notes.
77 In the leftmost value, the stretch is zero.
78 The rightmost use a stretch of 200%; this means that the envelope is stretched about 4 times/octave.
79 * *frcR*: Forced release.
80 This means that if this option is turned on, the release will go to the final value, even if the sustain stage is not reached. Usually, this must be set.
83 The parameters for Amplitude Envelopes for ZynAddSubFX are:
85 image:images/uienvelope3.jpg[Alt Text]
87 * *A.dt*: Attack duration
88 * *D.dt*: Decay duration
89 * *S.Val*: Sustain value
90 * *R.dt*: Release time
91 * *L*: If this option is set, the envelope is linear, otherwise, it will be
92 logarithmic
95 For Frequency Envelopes the interface has the following parameters:
97 image:images/uienvelope2.jpg[Alt Text]
99 * *A.val*: Attack value
100 * *A.dt*: Attack duration
101 * *R.dt*: Release time
102 * *R.val*: Release value
105 Filter Envelopes has the parameters:
107 image:images/uienvelope1.jpg[Alt Text]
109 * *A.val*: Attack value
110 * *A.dt*: Attack duration
111 * *D.val*: Decay value
112 * *D.dt*: Decay time
113 * *R.dt*: Release time
114 * *R.val*: Release value
116 The Freemode envelopes has a separate window to set the parameters and controls:
118 image:images/uienvelope0.jpg[]
120 *  *Control points*: You can move the points using the mouse.
121 In the right on the windows, it is shown the total duration of the envelope.
122 If the mouse button will be pressed on a control point, it will be shown the
123 duration of the stage where the point is.
124 * *FreeMode*: this button activates or deactivates the freemode mode.
125 * *Add Point*: Adds the point next to the current selected point.
126 You can select a point by clicking on it.
127 * *Delete point*: Removes the point from the envelope.
128 * *Sust.*: Set the sustain point. It is shown using the yellow line.
129 * *Str.*: Envelope stretch