commit a1d802b67d377bbf77906aef7e3e2175aaeb1309
parent d1302ad4c598c439a5a8f704b3e057b385870049
Author: fundamental <[email protected]>
Date: Sun, 24 Jun 2012 10:07:46 -0400
Reworks filter documentation
Rewrites the existing filter documentation, as it was essentially a placeholder.
Only documentation for the analog filters and state variable filters are
currently there, some extra work needs to be done for the formant filter setup.
Diffstat:
2 files changed, 45 insertions(+), 18 deletions(-)
diff --git a/doc/filter.txt b/doc/filter.txt
@@ -1,34 +1,61 @@
Filters
-------
:Author: Mark McCurry
-:Date: July 5, 2009
-
-In ZynAddSubFX filters can be used at several different stages to
-increase or decrease a defined set of frequencys.
-
-Types
-~~~~~
-
-ZynAddSubFX currently supports a wide set of filters that it can provide
+:Date: June 24, 2012
+
+ZynAddSubFX offers several different types of filters, which can be used to
+shape the spectrum of a signal.
+The primary parameters that affect the characteristics of the filter are the
+cutoff, resonance, filter stages, and the filter type.
+
+* *Cutoff*: This value determines which frequency marks the changing point for
+ the filter. In a low pass filter, this value marks the point where
+ higher frequencies are attenuated.
+* *Resonance*: The resonance of a filter determines how much excess energy is
+ present at the cutoff frequency. In ZynAddSubFX, this is
+ represented by the Q-factor, which is defined to be the cutoff
+ frequency divided by the bandwidth. In other words higher Q
+ values result in a much more narrow resonant spike.
+* *Stages*: The number of stages in a given filter describes how sharply it is
+ able to make changes in the frequency response.
+
+The basic 'analog' filters that ZynAddSubFX offers are shown below, with the
+center frequency being marked by the red line.
+The 'state variable' filters should look quite similar.
image:images/filter0.png[]
-Values
-~~~~~~
+As previously mentioned, the Q value of a filter affects how concentrated the
+signal's energy is at the cutoff frequency; The result of differing Q values are
+below.
-Each of these filters will be affected by their Q values, number of poles, and
-cutoff values.
-
-The folowing diagram shows the frequency response under different Q values:
+TIP: For many classical analog sounds, high Q values were used on sweeping
+filters. A simple high Q low pass filter modulated by a strong envelope is
+usually sufficient to get a good sound.
image:images/filter1.png[]
-The folowing diagram shows the frequency response under a different number of
-poles:
+Lastly, the affect of the order of the filter can be seen below.
+This is roughly synonymous with the number of stages of the filter.
+For more complex patches it is important to realize that the extra sharpness in
+the filter does not come for free as it requires many more calculations being
+performed; This phenomena is the most visible in subsynth, where it is easy to
+need several hundred filter stages to produce a given note.
image:images/filter2.png[]
User Interface
~~~~~~~~~~~~~~
-A picture of the UI will go here
+image:images/uifilter.png[]
+
+* *C.freq*: Cutoff frequency
+* *Q*: Level of resonance for the filter
+* *V.SnsA.*: Velocity sensing amount for filter cutoff
+* *V.Sns.*: Velocity sensing function
+* *freq.tr*: Frequency tracking amount. When this parameter is positive, higher
+ note frequencies shift the filter's cutoff frequency higher.
+* *gain*: Additional gain/attenuation for filter
+* *St*: Filter stages
+
+NOTE: TODO add a lengthy section on the formant filter setup
diff --git a/doc/images/uifilter.png b/doc/images/uifilter.png
Binary files differ.