zynaddsubfx

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

effects.txt (25370B)


      1 Effects
      2 -------
      3 
      4 Effects are, generally, black boxes that transform audio signals in a
      5 specified way. More exactly, the only input data for an effect in ZynAddSubFX
      6 is:
      7 
      8 * an array of samples, which is read *on line*
      9 * the current system time (used for LFOs)
     10 
     11 The output is the transformed array of samples.
     12 
     13 NOTE: As described, effects have no information about anything else. For
     14 example, key presses are not recognized. Therefore, pressing a key does not
     15 initiate the LFO. Phase knobs will always be relative to a *global* LFO, which is
     16 only dependent on the system time.
     17 
     18 ZynAddSubFX has 3 types of effects:
     19 
     20 * System Effects
     21 * Insertion Effects
     22 * Instrument Effects
     23 
     24 TODO: Describe these 3 types (their differences).
     25 
     26 [[effects::general_topics, General Topics]]
     27 General topics
     28 ~~~~~~~~~~~~~~
     29 
     30 * *Wetness* determines the mix of the results of the effect and its input. This
     31 mix is made the effects output. If an effect is wet, it means that nothing of
     32 the input signal is bypassing the effect. If it is dry, then the effect has no
     33 effect. TODO: Difference between Volume and D/W?
     34 * *Pan* lets you apply panning, which means that the sound source can move to 
     35 the right or left. Set it to 0.0 to only hear output on the right side, or to 
     36 the maximum value to only hear output on the left side.
     37 * *LRc.* or *L/R* let you apply crossover.
     38 * *Filter stages* are the number of times that this filter is applied in series.
     39 So, if this number is 1, you simply have this one filter. If it is two, the
     40 sound first passes the filter, and the results then pass the same filter again.
     41 In ZynAddSubFX, the wetness is applied after all stages were passed.
     42 * *LFOs* are, as the name says, oscillators with, compared to the frequency of 
     43 the sound, low frequency. They often appear in order to control the effect. 
     44 They can have some of the following controls:
     45 ** *LFO Type* determines the shape of the LFO. If not present, the LFO is a 
     46 sine wave.
     47 ** *Freq* determines the LFO's frequency.
     48 ** *Dpth* is a multiplier to the LFO. Thus, it determines the LFOs amplitude 
     49 and its influence.
     50 ** *Rnd* is the LFO amplitude's randomness
     51 ** *St.df* lets you determine how much left and right LFO are phase shifted.
     52 64.0 means stereo, higher values increase the right LFO relatively to the left
     53 one.
     54 ********************************************************************
     55 Hint: Keep in mind that Effects that can be controlled by LFO can also be 
     56 controlled arbitrary: Set the LFO depth to zero and manipulate the phase knob
     57 (e.g. with NRPNs or maybe via OSC in the future).
     58 ********************************************************************
     59 
     60 Equalizer
     61 ~~~~~~~~~
     62 
     63 Introduction
     64 ^^^^^^^^^^^^
     65 
     66 An https://en.wikipedia.org/wiki/Filter_%28signal_processing%29[equalizer] is a
     67 filter effect that applies different volume to different frequencies of the
     68 input signal. This can, for example, be used to "filter out" unwanted 
     69 frequencies.
     70 ZynAddSubFX's implementations follow the
     71 https://www.musicdsp.org/en/latest/Filters/197-rbj-audio-eq-cookbook.html["Cookbook formulae for
     72 audio EQ"] by Robert Bristow-Johnson.
     73 
     74 Filter Types
     75 ^^^^^^^^^^^^
     76 
     77 This topic is completely discussed in <<filters, the Filters section>>.
     78 
     79 Usage
     80 ^^^^^
     81 
     82 We describe all parts of the GUI here. The term passband (or often just "band")
     83 refers to the amount of frequencies which are not significantly attenuated by
     84 the filter.
     85 
     86 * *Gain* (on the left) defines an offset which is added to the complete filter.
     87 * *B.* lets you choose the passband number. Multiple passbands define one
     88 filter. This is important if you want multiple filters to be called after each
     89 other. Note that filters are commutative.
     90 * *T.* lets you choose the current filter's type, as described above.
     91 * *Freq* describes the frequencies where the filter has its poles. For some
     92 filters, this is called the "cutoff" frequency. Note, however, that a bandpass
     93 filter has two cutoff frequencies.
     94 * *Gain* is only active for some filters and sets the amount of a special peak
     95 these filters have. Note that for those filters, using the predefined gain makes
     96 them effectless.
     97 * *Resonance* lets you describe a peak at the given frequency for filters with
     98 2 poles. This can be compared to real physical objects that have more gain at
     99 their resonance frequency.
    100 * *St.* lets you define multiple filter stages. This is equivalent to having
    101 multiple copies of the same filter in sequence.
    102 
    103 Chorus
    104 ~~~~~~
    105 
    106 Introduction
    107 ^^^^^^^^^^^^
    108 
    109 In a chorus, many people sing together. Even if each of them sings at exactly
    110 the same frequency, all their voices usually sound different. We say they have a
    111 different timbre. Timbre is the way we perceive sound and makes us differ
    112 between different music instruments. This is, physically, achieved by varying
    113 both the amplitude envelope and the frequency spectrum. Multiple sounds with
    114 slightly different timbres make a sound more shimmering, or powerful. This is
    115 called the chorus effect.
    116 
    117 Function
    118 ^^^^^^^^
    119 
    120 The chorus effect can be achieved by multiple people singing together. In
    121 a concert, there are many instruments, resulting in the same effect. When making
    122 electronic music, we only have an input wave and need to generate these
    123 different timbres by ourselves. ZynAddSubFX therefore simply plays the sound,
    124 pitch modulated by an LFO, and adds this to the original sound. This explains
    125 the diagram below: The multiple pitches are generated by a delayed version of
    126 the input. This version is being pitched by an LFO. More detailed, this pitch
    127 is generated by varying the reading speed of the delayed sound; the variation
    128 amount is controlled by an LFO.
    129 
    130 image:./gen/chorus.png[width=700,
    131 	title="The chorus effect. z^(-n.m) describes the delay."]
    132 
    133 TODO: Add LFO pointing to delay?
    134 
    135 Related effects to Chorus are Flangers. Flangers can be described as Chorus
    136 with very short LFO delay and little LFO depth. You can imagine a flanger as two
    137 copies of a sound playing at almost the same time. This leads to interference,
    138 which can be clearly heard. It is popular to apply flangers to guitars, giving
    139 them more "character".
    140 While in standard CHORUS and FLANGER mode there is only one additional voice that
    141 can be blended with the original one using the amount knob, the DUAL and TRIPLE
    142 mode adds two/three voices with their LFOs each being phase shifted by 180 / 120 degrees.
    143 Those have been used by famous roland string synthesizers.
    144 
    145 Usage
    146 ^^^^^
    147 
    148 * First, crossover is applied.
    149 * The following 5 knobs (*Freq*, *Rnd*, *LFO Type*, *St.df*, *Depth*) control 
    150 the LFO for the pitch. If the depth is set to zero, the pitch will not be 
    151 changed at all.
    152 * *Delay* is the time that the delayed sound is delayed "on average". Note that
    153 the delay also depends on the current pitch.
    154 * After the correct element of the sound buffer is found using the LFO, the
    155 *Fb* knob lets you set how loud it shall be played. This is mostly redundant to
    156 the *D/W* knob, but we have not applied panning and subtraction yet. 
    157 * Next, the signal can be negated. If the *Subtract* checkbox is activated,
    158 the amplitude is multiplied by -1.
    159 * Finally, *Pan* lets you apply panning.
    160 * *Mode* selector lets you choose between Chorus, Flanger, Dual- and Triple Chorus.
    161 
    162 Distortion
    163 ~~~~~~~~~~
    164 
    165 Introduction
    166 ^^^^^^^^^^^^
    167 
    168 Distortion means, in general, altering a signal. Natural instruments
    169 usually produce sine like waves. A wave is transformed in an unnatural way when
    170 distortion is used. The most distorted waves are usually pulse waves. It is 
    171 typical for distortion to add overtones to a sound. Distortion often increases 
    172 the power and the https://en.wikipedia.org/wiki/Loudness[loudness] of a signal, 
    173 while the db level is not increased. This is an important topic in the
    174 https://en.wikipedia.org/wiki/Loudness_war[Loudness War].
    175 
    176 NOTE: As distortion increases loudness, distorted music can cause ear damage
    177 at lower volume levels. Thus, you might want to use it a bit careful.
    178 
    179 Distortion can happen in many situations when working with audio. Often, this is
    180 not wanted. In classical music, for example, distortion does not occur
    181 naturally. However, distortion can also be a wanted effect. It is typical for
    182 Rock guitars, but also present in electronic music, mostly in Dubstep and
    183 Drum & Bass.
    184 
    185 The basic components of distortion are mainly
    186 
    187 * a preamplifier
    188 * the waveshaping function
    189 * filters
    190 
    191 Preamplification changes the volume before the wave is shaped, and is indeed the
    192 amount of distortion. For example, if you clip a signal, the louder the input
    193 gets, the more distortion you will get. This can have different meanings for
    194 different types of distortions, as described below.
    195 
    196 ********************************************************************
    197 The filters are practical. A reason for using them afterwards is that distortion
    198 can lead to waves with undesired high frequency parts. Those can be filtered out
    199 using the LPF. A reason for using filters before applying is to achieve
    200 multiband distortion. ZynAddSubFX has no "real" multiband distortion by now,
    201 however.
    202 ********************************************************************
    203 
    204 Types of Distortion
    205 ^^^^^^^^^^^^^^^^^^^
    206 
    207 This topic is completely discussed in
    208 <<adsynth::oscilllator::types_of_waveshaping, the Oscillator Section>>. Note
    209 that you can use the 
    210 Oscillator editor in order to find out what your distortion effect does. Also 
    211 note that while the Oscillator editor's distortion is limited to some 
    212 oscillators you can produce in the Oscillator editor, the distortion effect can 
    213 be used on every wave that you can generate with ZynAddSubFX.
    214 
    215 Function
    216 ^^^^^^^^
    217 
    218 We explain the functionality in a diagram and list the components below.
    219 
    220 image:./gen/distort.png[width=700,
    221 	title="The components of a distortion function."]
    222 	
    223 * Negation is the first thing to happen. If the *Neg* checkbox is activated, the
    224 amplitude is multiplied by -1.
    225 * Panning is applied. Note, however, that you have to activate the
    226 Stereo Checkbox, labeled *St*, before.
    227 * Preamplification is done next. The amount can be changed using the
    228 *Drive* nob. Indeed, this is the amount of distortion. For example, if you clip
    229 a signal, the louder the input gets, the more distortion you will get. This can
    230 have different meanings for different types of distortion, as described above.
    231 * *HPF* and *LPF* are filters with 2 poles. Whether they are used before or
    232 after the waveshape, depends on the checkbox labeled *PF*.
    233 * The next step is the wave shape. This defines how the wave is
    234 actually modified. The *Type* combo box lets you define how. We will discuss some
    235 types below.
    236 * After the wave shape, we scale the level again. This is called
    237 output amplification. You can change the value using the *Level* knob.
    238 * Crossover is the last step. This is controlled by the knob *LR Mix* and
    239 means that afterwards, a percentage of the left side is applied to the right
    240 side, and, synchronously, the other way round. It is a kind of interpolation
    241 between left and right. If you set the LR Mix to 0.0, you will always have a
    242 stereo output.
    243 
    244 Dynamic Filter
    245 ~~~~~~~~~~~~~
    246 
    247 Introduction
    248 ^^^^^^^^^^^^
    249 
    250 A dynamic filter is, as the name says, a filter which changes its parameters
    251 dynamically, dependent on the input and current time. In ZynAddSubFX,
    252 frequency is the only variable parameter. It can be used as an "envelope
    253 following filter" (sometimes referenced "Auto Wah" or simply "envelope filter").
    254 
    255 Function
    256 ^^^^^^^^
    257 
    258 Though this filter might look a bit complicated, it is actually easy. We divide
    259 the parameters into two classes:
    260 
    261 * *Filter Parameters* are the ones you get when you click on *Filter*. They
    262 give the filter its basic settings.
    263 * *Effect Parameters* are the other ones that control how the filter changes.
    264 
    265 The filter basically works like this: The input signal is passed through a
    266 filter which dynamically changes its frequency. The frequency is an additive of:
    267 
    268 * the filter's base frequency
    269 * an LFO from the effect parameters
    270 * the "amplitude" of the input wave
    271 
    272 image:./gen/dynamic.png[width=700,
    273 	title="The components of a dynamical filter"]
    274 
    275 The amplitude of the input wave is not the current amplitude, but the so called
    276 https://en.wikipedia.org/wiki/Root_mean_square["Root Mean Square (RMS)"] value.
    277 This means that we build a mean on the current amplitude and the past values.
    278 How much the new amplitude takes influence is determined by the *Amplitude
    279 Smoothness* (see below).
    280 
    281 ********************************************************************
    282 RMS value plays an important role in the term loudness. A fully distorted
    283 signal can sound 20 db louder due to its higher RMS value. This filter takes
    284 this into account, depending on the smoothness.
    285 ********************************************************************
    286 
    287 Usage
    288 ^^^^^
    289 
    290 * The 4 knobs in the middle (*Freq*, *Rnd*, *LFO Type*, *St.df*) control the
    291 LFO.
    292 * Two knobs let you control the way how the RMS value of the amplitudes is
    293 measured:
    294 ** *A.M* sets the Amplitude Smoothness (this is described above). The higher
    295 you set this value, the more slow will the filter react.
    296 ** *A.Inv.*, if being set, negates the (absolute) RMS value. This will lower
    297 the filter frequency instead of increasing it. Note that this will not have
    298 much effect if the effects input is not very loud.
    299 * The following controls define the mix of the LFO and the amplitude.
    300 ** *A.S* sets the Amplitude Sensing (i.e. how much influence the amplitude
    301 shall have).
    302 ** *LfoD* sets the LFO depth.
    303 * The filter button lets you choose the filter type.
    304 * After the input signal has passed through the filter, *Pan* can apply
    305 panning.
    306 
    307 Echo
    308 ~~~~
    309 
    310 Introduction
    311 ^^^^^^^^^^^^
    312 
    313 The echo effect, also known as
    314 https://en.wikipedia.org/wiki/Delay_%28audio_effect%29[delay effect], simulates
    315 the natural reflection of a sound. The listener can hear the sound multiple
    316 times, usually decreasing in volume. Echos can be useful to fill empty parts of
    317 your songs with.
    318 
    319 Function
    320 ^^^^^^^^
    321 
    322 In ZynAddSubFX, the echo is basically implemented as the addition of the
    323 current sound and a delayed version of it. The delay is implemented as in the
    324 picture below. First, we add the delayed signal to the effect input. Then,
    325 they pass an LP1. This shall simulate the effect of dampening, which means that
    326 low and especially high frequencies get lost earlier over distance than middle
    327 frequencies do. Next, the sound is delayed, and then it will be output and added
    328 to the input.
    329 
    330 image:./gen/echo.png[width="700",
    331 	title="The echo includes a fb line, labeled as z^-n, and a delay."]
    332 
    333 ********************************************************************
    334 The exact formula in the source code for the dampening effect is as follows:
    335 
    336 latexmath:[$Y(t) := (1-d) \cdot X(t) + d \cdot Y(t-1)$],
    337 
    338 where latexmath:[t] be the time index for the input
    339 buffer, latexmath:[d] be the dampening amount and latexmath:[X,Y] be the input,
    340 respective the output of the dampening. This solves to
    341 
    342 latexmath:[$Y(z) = Z(Y(t)) = (1-d) \cdot X(z) + d \cdot Y(z) \cdot z^{-1}$]
    343 
    344 latexmath:[$\Leftrightarrow H(z) := \frac{Y(z)}{X(z)} = \frac{1-d}{1 -
    345 d \cdot z^{-1}}$]
    346 
    347 which is used in latexmath:[$Y(z) = H(z) \cdot X(z)$]. So latexmath:[$H(z)$] is
    348 indeed a filter, and by looking at it, we see that it is an LP1. Note that
    349 infinite looping for d=1 is impossible.
    350 ********************************************************************
    351 
    352 Description
    353 ^^^^^^^^^^^
    354 
    355 * *Pan* lets you apply panning of the input.
    356 * *Delay* sets the time for one delay.
    357 * *LRdl.* means Left-Right-Delay. If it is set to the middle, then both sides
    358 are delayed equally. If not, then the left echo comes earlier and the right
    359 echo comes (the same amount) later than the average echo; or the other way
    360 round. Set the knob to 0 to hear on the right first.
    361 * *LRc.* applies crossover.
    362 * Feedback describes how much of the delay is added back to the input. Set
    363 *Fb.* to the maximum to hear an infinite echo, or to the minimum to just
    364 hear a single repeat.
    365 * The *Damp* value lets the LP1 reject higher frequencies earlier if
    366 increased.
    367 
    368 Reverb
    369 ~~~~~~
    370 
    371 Introduction
    372 ^^^^^^^^^^^^
    373 
    374 A https://en.wikipedia.org/wiki/Reverberation[Reverberation] actually expresses
    375 the effect of many echoes being played at the same time. This can happen in an
    376 enclosed room, where the sound can be reflected in different angles. Also, in
    377 nature, thunders approximate reverbs, because the sound is reflected in many
    378 different ways, arriving at the listener at different times.
    379 
    380 In music, reverbs are popular in many ways. Reverbs with large room size can be
    381 used to emulate sounds like in live concerts. This is useful for voices, pads,
    382 and hand claps. A small room size can simulate the sound board of string
    383 instruments, like guitars or pianos.
    384 
    385 Function
    386 ^^^^^^^^
    387 
    388 As mentioned, a reverb consists of permanent echo. The reverb in ZynAddSubFX is
    389 more complex than the echo. After the delaying, comb filters and then allpass
    390 filters are being applied. These make the resulting sound more realistic. The
    391 parameters for these filters depend on the room size. For details, consider the
    392 information about https://ccrma.stanford.edu/~jos/pasp/Freeverb.html[Freeverb].
    393 
    394 image:./gen/reverb.png[width=700,
    395 	"The reverb, being similar to the echo."]
    396 
    397 Description
    398 ^^^^^^^^^^^
    399 
    400 * The *Type* combo box lets you select a reverb type:
    401 ** *Freeverb* is a preset. It was proposed by Jezar at Dreampoint.
    402 ** *Bandwidth* has the same parameters for the comb and allpass filters, but it
    403 applies a unison before the LP/HP. The unison's bandwidth can be set using *bw*.
    404 ** Random chooses a random layout for comb and allpass each time the type or
    405 the room size is being changed.
    406 * The room size (*R.S.*) defines parameters only for the comb and allpass
    407 filters.
    408 * *Time* controls how long the whole reverb shall take, including how slow the
    409 volume is decreased.
    410 * The initial delay (*I.del*) is the time which the sounds need at least to
    411 return to the user. The initial delay feedback (*I.delfb*) says how much of the
    412 delayed sound is added to the input.
    413 * Low pass filter (*LPF*) and high pass filter (*HPF*) can be applied before
    414 the comb filters.
    415 * The dampening control (*Damp*) currently only allows to damp low frequencies.
    416 Its parameters are being used by the comb and allpass filters.
    417 * *Pan* lets you apply panning. This is the last thing to happen.
    418 
    419 
    420 Phaser
    421 ~~~~~~
    422 
    423 Introduction
    424 ^^^^^^^^^^^^
    425 
    426 The https://en.wikipedia.org/wiki/Phaser_%28effect%29[Phaser] is a special
    427 dynamic filter. The result is a sweeping
    428 sound, which is
    429 often used on instruments with a large frequency band, like guitars or strings.
    430 This makes it typical for genres like rock or funk, where it is often modulated
    431 with a pedal, but also for giving strings a warm, relaxing character.
    432 
    433 Function
    434 ^^^^^^^^
    435 
    436 The audio signal is split into two paths. One path remains unchanged. The other
    437 one is sent to a delay line. The delay time (the so called *phase*) is made
    438 dependent on the frequency. Therefore, an all-pass filter is applied to the
    439 signal, which *preserves* the amplitude, but determines the delay time. In the
    440 end, both paths are added.
    441 
    442 The following picture describes how this works on white noise. Light blue
    443 signalizes that the frequency is not present at the current time, and dark blue
    444 signalizes the opposite. The dark blue peaks appear if the delay time is very
    445 short, because then, the second path almost equals the first one, which results
    446 in duplication of the signal. If the delay line is very long, then it is --- in
    447 the case of white noise --- totally at random whether the delayed signal
    448 currently duplicates the unchanged path, or whether it cancels it out to zero.
    449 This random effect results in white noise between the clear blue structures.
    450 
    451 image:./images/phaser-spectrogram.jpg[width="700",
    452 	title="Spectrogram of an 8-stage phaser
    453 	modulated by a sine LFO applied to white noise."]
    454 
    455 Phaser Types
    456 ^^^^^^^^^^^^
    457 
    458 ZynAddSubFX offers different types of phasers:
    459 
    460 * Analog and "normal" phasers. Analog phasers are more complicated. They sound
    461 punchier, while normal phasers sound more fluently. However, analog filters
    462 usually need more filter stages to reach a characteristic sound.
    463 * Sine and triangle filters. Note that an analog triangle filter with many poles
    464 is a barber pole filter and can be used to generate
    465 https://en.wikipedia.org/wiki/Shepard_tone[Shepard Tones],
    466 i.e. tones that seem to increase or decrease with time, but do not really.
    467 * The LFO function can be squared. This converts the triangle wave into a hyper 
    468 sine wave. The sine squared is simply a faster sine wave.
    469 * TODO: Barber is deactivated, since PLFOtype is only 0 or 1?
    470 
    471 Description
    472 ^^^^^^^^^^^
    473 
    474 For the normal phaser, first, the LFO is generated:
    475 
    476 * There are 4 controls (*Freq*,*Rnd*,*LFO type*,*St.df*) that define the 
    477 LFO.
    478 * *Phase* and *Depth* are applied afterwards in the usual way (TODO: I don't 
    479 understand the code here for the normal phase...). For the analog phaser, 
    480 *Phase* is not implemented, yet.
    481 ** If *hyp* is being set, then the LFO function is being squared.
    482 
    483 Next, the input is being used.
    484 
    485 * *Analog* decides whether the phaser is analog or "normal".
    486 * First, *Pan* applies panning to the original input in every loop.
    487 * Next, barber pole phasing is being applied (Analog only).
    488 * *Fb* applies feedback. The last sound buffer element is (after 
    489 phasing) multiplied by this value and then added to the current one. For normal 
    490 filter, the value is added before, for analog after the first phasing stage.
    491 * Now, *Stages* phasing stages are being applied. *dist* sets the distortion 
    492 for when applying the phasing stages. This has only effect for analog phasers.
    493 * The feedback is taken now.
    494 * In the end, *Subtract* inverts the signal, multiplying it by -1.
    495 
    496 Alienwah
    497 ~~~~~~~~
    498 
    499 Introduction
    500 ^^^^^^^^^^^^
    501 
    502 The AlienWah effect is a special, dynamic
    503 https://en.wikipedia.org/wiki/Formant[formant] filter (TODO: is this true?).
    504 Paul Nasca named it AlienWah because it sounded "a bit like wahwah, but more
    505 strange". The result of the filter is a sound varying between the 
    506 vocals "Ahhhhh" (or "Uhhhhh") and "Eeeeee".
    507 
    508 Function
    509 ^^^^^^^^
    510 
    511 The way that the filter moves between the two vocals is mainly 
    512 described by an LFO. A bit simplified, Paul Nasca has stated the formula (for
    513 latexmath:[$i^2=-1; R<1$]) as
    514 
    515 latexmath:[$fb=R*(\cos(\alpha)+i*\sin(\alpha))$]
    516 
    517 latexmath:[$y_n=y_{n-delay}*R*(\cos(\alpha)+i*\sin(\alpha))+x_n*(1-R)$].
    518 
    519 The input latexmath:[$x_n$] has the real part of the samples from the wave file
    520 and the imaginary part is zero. The output of this effect is the real part of
    521 latexmath:[$y_n$]. latexmath:[$\alpha$] is the phase.
    522 
    523 Description
    524 ^^^^^^^^^^^
    525 
    526 * *Pan*
    527 * The following 5 controls (*Freq*,*Rnd*,*LFO type*,*St.df*, *Dpth*) define the 
    528 LFO.
    529 ** *Fb*
    530 
    531 ** *Delay* If this value is low, the sound is turned more into a
    532 "wah-wah"-effect.
    533 ** *Phase* See latexmath:[$\alpha$] in the above formula. This lets you set
    534 where the vocal is between "Ahhhhh" and "Eeeeee".
    535 ** *L/R* applies crossover in the end of every stage. This is currently not 
    536 implemented for the Analog Phaser.
    537 
    538 Sympathetic
    539 ~~~~~~~~
    540 
    541 Introduction
    542 ^^^^^^^^^^^^
    543 
    544 The Sympathetic aims to 'simulate' the sympathetic resonance in a piano.
    545 That is the effect, that all other strings on a piano are also oscillating
    546 when one string is played. With high Q setting it's more like playing with sustain pedal.
    547 
    548 TIP: map the sustain pedal to the Q parameter
    549 
    550 Function
    551 ^^^^^^^^
    552 
    553 It is made off a bank of combfilters that are by default tuned like the 
    554 strings of a piano.
    555 
    556 Description
    557 ^^^^^^^^^^^
    558 
    559 ** *Drive* how much input signal is fed to the strings
    560 ** *Level* Output Volume
    561 ** *Str* Number of strings to use. 12 is a full Octave. On small systems 
    562 be careful with cpu load
    563 ** *Q* How strong is the reflection
    564 ** *Uni* Unisono - how many strings should have the 'same' frequency. It's used with the
    565 next paremeter.
    566 ** *Detune* Amount of detune between the unisono strings
    567 ** *Base* midi note of the lowest string
    568 
    569 Reverse
    570 ~~~~~~~~
    571 
    572 Introduction
    573 ^^^^^^^^^^^^
    574 
    575 The reversed effect plays the audio signal backwards. To prevent a time paradoxon
    576 the input signal is chopped in segments that are reversed one by one.
    577 One classic usage is the reversing of a decaying sound for example from reverb.
    578 
    579 Function
    580 ^^^^^^^^
    581 With a melotron it was possible to reverse each key by turning the magentic tape around. 
    582 While exactly this is not possible with this effect, because there is no prerecorded
    583 sound when hitting a key, this effect can create sounds that resemble those of the melotron.
    584 
    585 
    586 Description
    587 ^^^^^^^^^^^
    588 
    589 ** *Length* Length of the segments being played backwards.
    590 ** *Numerator&Denominator* Alternatively the length can be set relative
    591 to the global Tempo (bpm) as note value. For example 1/4 at 120bpm is 0.5s
    592 ** *Phase* adjust the time when the reversed segments start relative to a
    593 global time reference. It's useful only in combination with another
    594 timed element like an LFO or delay.
    595 ** *Sync* choose how the recording and reverse playing phase is synchronized
    596 * *Auto* the effect switches automatically between recording and reverse playing and vice versa after a segment (length)
    597 * *MIDI* like auto but speed is taken from MIDI timecode
    598 * *Host* like auto but speed is taken from plugin host (when running as plugin mode)
    599 * *NoteOn* recording starts at noteOn. Reverse playing starts after a segment (length)
    600 * *NoteOnOff* recording starts at noteon. Reverse playing starts when the decaying note reaches silence