zynaddsubfx

ZynAddSubFX open source synthesizer
Log | Files | Refs | Submodules | LICENSE

commit eca7cccf5c8ea6b373e89b928d114480485c7be4
parent 63faaec1e3d61379b860ba1ea010586fc51c6637
Author: Johannes Lorenz <johannes89@mailueberfall.de>
Date:   Sun, 14 Apr 2013 16:51:04 +0200

Docs: Effects: Finished Chorus and made some fixes.

Diffstat:
Mdoc/effects.txt | 61+++++++++++++++++++++++++++++++++++--------------------------
1 file changed, 35 insertions(+), 26 deletions(-)

diff --git a/doc/effects.txt b/doc/effects.txt @@ -45,10 +45,10 @@ Introduction An equalizer is a filter effect that applies different volume to different frequencies of the input signal. This can, for example, to "filter -out" unwanted frequencies. -http://en.wikipedia.org/wiki/Filter_%28signal_processing%29[Wikipedia] has some -information about filters. Also, most of ZynAddSubFX's implementations follow -the http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt["Cookbook formulae for +out" unwanted frequencies. For more information, click here: +http://en.wikipedia.org/wiki/Filter_%28signal_processing%29[Wikipedia]. Also, +most of ZynAddSubFX's implementations follow the +http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt["Cookbook formulae for audio EQ"] by Robert Bristow-Johnson. Filter Types @@ -56,10 +56,11 @@ Filter Types There are different types of filters. The number of poles define what will happen at a given frequency. Mathematically, the filters are functions which -have poles at that frequency. Usually, two poles mean that the function has more -"steepness", and that you can set the exact value of the function at the poles -by defining the "resonance value". Filters with two poles are also often -referenced as http://de.wikipedia.org/wiki/Butterworth-Filter[Butterworth +have poles that correspond to that frequency. Usually, two poles mean that the +function has more "steepness", and that you can set the exact value of the +function at the poles by defining the "resonance value". Filters with two poles +are also often referenced as +http://de.wikipedia.org/wiki/Butterworth-Filter[Butterworth Filters]. ******************************************************************** @@ -72,7 +73,7 @@ filter type), and _AnalogFilter::singlefilterout()_ shows the whole polynomial ******************************************************************** The term passband (or often just "band") refers to the amount of frequencies -which are not (or sometimes "not much") attenuated by the filter. +which are not significantly attenuated by the filter. There are different types of filters: @@ -126,7 +127,7 @@ them effectless. 2 poles. This can be compared to real physical objects that have more gain at their resonance frequency. * *St.* lets you define multiple filter stages. This is equivalent to having -multiple bands of the same filter. +multiple copies of the same filter. Chorus ~~~~~~ @@ -134,24 +135,29 @@ Chorus Introduction ^^^^^^^^^^^^ -In a chorus, there are many people. Even if each of them sings at exactly -the same frequency, all their voices usually sound different. We say the have a +In a chorus, many people sing together. Even if each of them sings at exactly +the same frequency, all their voices usually sound different. We say they have a different timbre. Timbre is the way we perceive sound and makes us differ between different music instruments. This is, physically, achieved by varying both the amplitude envelope and the frequency spectrum. Multiple sounds with -slightly different timbre make a sound more shimmering, or powerful. This is the -chorus effect. +slightly different timbres make a sound more shimmering, or powerful. This is +called the chorus effect. The chorus effect can be achieved by multiple people singing together. In a concert, there are many instruments, resulting in the same effect. When making -electronic music, we only have an input wave and have to generate these -different timbres by ourselves. ZynAddSubFx therefore simply plays the sound, +electronic music, we only have an input wave and need to generate these +different timbres by ourselves. ZynAddSubFX therefore simply plays the sound, pitch modulated by an LFO, and adds this to the original sound. This explains the diagram below: The multiple pitches are generated by a delayed version of the input. This version is being pitched by an LFO. More detailled, this pitch -is generated by varying the reading speed of the delayed sound by an LFO. +is generated by varying the reading speed of the delayed sound; the variation +amount is controlled by an LFO. -Related effects to Chorus are Flangers. +Related effects to Chorus are Flangers. Flangers can be described as Chorus +with very short LFO delay and little LFO depth. You can imagine a flanger as two +copies of a sound playing at almost the same time. This leeds to interference, +which can be clearly heared. It is popular to apply flangers to guitars, giving +them more "character". Description @@ -161,23 +167,26 @@ We explain the functionality in a diagram and list the components below. image::./gen/chorus.png[width="700"] -* First, crossover is applied. The *LR Mix* knob lets you set the amount. If +* First, crossover is applied. The *L/R* knob lets you set the amount. If you set it to 0.0, you will always have a stereo input. * The following 4 knobs control the LFO. ** *Freq* determines the LFO's frequency -** *Rnd* determines the LFO amplitude's randomness -** *LFO Type* lets you choose the type of LFO +** *Rnd* is the LFO amplitude's randomness +** *LFO Type* determines the shape of the LFO ** *St.df* lets you determine how much left and right LFO are phase shifted. 64.0f means stereo, higher values increase the right lfo relatively to the left one. +* *Dpth* determines how much influence the LFO has on the delay. If the depth +is set to zero, the pitch will not be changed at all. * *Delay* is the time that the delayed sound is delayed "on average". Note that -the delay also depends a bit on the current pitch. +the delay also depends on the current pitch. * After the correct element of the sound buffer is found using the LFO, the -feedback let -* Next, the singal can be negated, If the *Neg* Checkbox is activated, +*Fb* knob lets you set how loud it shall be played. This is mostly redundant to +the *D/W* knob, but we have not applied panning and substraction yet. +* Next, the singal can be negated. If the *Substract* Checkbox is activated, the amplitude is multiplied by -1. -* Finally, *Panning* is applied. Set it to 0.0 to only hear output on the right -side. +* Finally, *Pan* lets you apply panning. Set it to 0.0 to only hear +output on the right side. Distort ~~~~~~~