commit c48ea3fece779ec8009909b0b2c0dd40d47200b4
parent a560c93ff00355c297f76791b206e76d557c6120
Author: fundamental <mark.d.mccurry@gmail.com>
Date: Sun, 9 May 2010 16:31:49 -0400
Doc: Starting AD synth documentation
Diffstat:
7 files changed, 87 insertions(+), 0 deletions(-)
diff --git a/doc/Makefile b/doc/Makefile
@@ -1,3 +1,6 @@
+
+.PHONY: subdirs gen
+
all: xhtml
xhtml: zynaddsubfx.txt envelope.txt intro.txt lfo.txt
diff --git a/doc/adsynth.txt b/doc/adsynth.txt
@@ -0,0 +1,29 @@
+Add Synth
+=========
+
+Additive Synthesis is one of the three major synthesis engines available in
+ZynAddSubFX.
+Overall it adds together several voices with an oscillator as their sound
+source.
+
+High Level (Global)
+-------------------
+
+From a high level perspective, Add synth can be understood with this block
+diagram:
+
+image:gen/ad-note.png[]
+
+The red/yellow nodes are controllable with the main adsynth window.
+
+image:images/ad-global.png[]
+
+The sum of the voices are passed through filters and amplification to produce
+the final sound.
+This could lead one to think that ad-note is just a bunch of minor
+postprocessing and at this level much of the sound generation is hidden.
+
+Voices
+------
+
+
diff --git a/doc/gen/Makefile b/doc/gen/Makefile
@@ -0,0 +1,4 @@
+ad-note.png: ad-note.tex
+ pslatex ad-note.tex
+ convert ad-note.dvi -trim ad-note.png
+ rm ad-note.dvi ad-note.log ad-note.aux
diff --git a/doc/gen/ad-note.tex b/doc/gen/ad-note.tex
@@ -0,0 +1,49 @@
+\documentclass[11pt]{report}
+\pagestyle{empty}
+\usepackage{pst-sigsys}
+\begin{document}
+\begin{pspicture}[showgrid=false](-5,-3)(12,3)
+\psset{framesize=2 .65}
+\psfblock[fillstyle=solid,fillcolor=green](-4,1){inFq}{Note Fq.}
+\psfblock[fillstyle=solid,fillcolor=yellow](-4,0){lfoFq}{Fq. LFO}
+\psfblock[fillstyle=solid,fillcolor=red](-4,-1){envFq}{Fq. Env.}
+
+\dotnode(-2.5,1){dot1}
+\dotnode(-2.5,0){dot2}
+\dotnode(-2.5,-1){dot3}
+
+\psfblock(-1,0){vce}{Voices}
+
+
+\psfblock(2,0){flt}{Filter}
+
+\psfblock[fillstyle=solid,fillcolor=red](1,-2){envFl}{Filter Env.}
+\psfblock[fillstyle=solid,fillcolor=yellow](3,-2){lfoFl}{Filter LFO}
+
+\pspolygon(4,1)(6,0)(4,-1)
+\psfblock[linecolor=white](5,0){amp}{Amp}
+
+\psfblock[fillstyle=solid,fillcolor=red](4,2){envAmp}{Amp. Env.}
+\psfblock[fillstyle=solid,fillcolor=yellow](6,2){lfoAmp}{Amp. LFO}
+
+\psfblock(7.5,0){pnch}{Punch}
+
+\psfblock(10,0){out}{Output}
+
+\ncline{inFq}{dot1}
+\ncline{dot1}{dot2}
+\ncline{lfoFq}{dot2}
+\ncline{dot3}{dot2}
+\ncline{envFq}{dot3}
+
+\dotnode(2,-1){fltdot}
+\ncline{envFl}{fltdot}
+\ncline{lfoFl}{fltdot}
+\ncline{fltdot}{flt}
+\dotnode(5,1){ampdot}
+\ncline{lfoAmp}{ampdot}
+\ncline{envAmp}{ampdot}
+\ncline{ampdot}{amp}
+\nclist[arrows=->]{ncline}{dot2,vce,flt,amp,pnch,out}
+\end{pspicture}
+\end{document}
diff --git a/doc/images/ad-global.png b/doc/images/ad-global.png
Binary files differ.
diff --git a/doc/images/ad-voice.png b/doc/images/ad-voice.png
Binary files differ.
diff --git a/doc/zynaddsubfx.txt b/doc/zynaddsubfx.txt
@@ -13,6 +13,8 @@ include::./lfo.txt[]
include::./envelope.txt[]
+include::./adsynth.txt[]
+
include::./controller.txt[]
include::./nrpn.txt[]