You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
miller-book/book.html

569 lines
17 KiB

<!DOCTYPE html>
<!--Converted with LaTeX2HTML 2002-2-1 (1.71)
original version by: Nikos Drakos, CBLU, University of Leeds
* revised and updated by: Marcus Hennecke, Ross Moore, Herb Swan
* with significant contributions from:
Jens Lippmann, Marek Rouchal, Martin Wilck and others -->
<HTML>
<HEAD>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<TITLE>book</TITLE>
<META NAME="description" CONTENT="book">
<META NAME="keywords" CONTENT="book">
<META NAME="resource-type" CONTENT="document">
<META NAME="distribution" CONTENT="global">
<META NAME="Generator" CONTENT="LaTeX2HTML v2002-2-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
<LINK REL="STYLESHEET" HREF="book.css">
<LINK REL="next" HREF="node1.html">
</HEAD>
<BODY >
<!--Navigation Panel-->
<A ID="tex2html209"
HREF="node1.html">
<IMG WIDTH="37" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="next"
SRC="next.png"></A>
<IMG WIDTH="26" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="up"
SRC="up_g.png">
<IMG WIDTH="63" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="previous"
SRC="prev_g.png">
<A ID="tex2html205"
HREF="node4.html">
<IMG WIDTH="65" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="contents"
SRC="contents.png"></A>
<A ID="tex2html207"
HREF="node201.html">
<IMG WIDTH="43" HEIGHT="24" ALIGN="BOTTOM" BORDER="0" ALT="index"
SRC="index.png"></A>
<BR>
<B> Next:</B> <A ID="tex2html210"
HREF="node1.html">#1</A>
&nbsp; <B> <A ID="tex2html206"
HREF="node4.html">Contents</A></B>
&nbsp; <B> <A ID="tex2html208"
HREF="node201.html">Index</A></B>
<BR>
<BR>
<!--End of Navigation Panel-->
<!--Removed
1]
<BR><HR>
-->
<!--Table of Child-Links-->
<A ID="CHILD_LINKS"></A>
<UL>
<!--Removed
<LI><UL>
<LI><A ID="tex2html211"
HREF="node1.html">#1</A>
<UL>
<LI><A ID="tex2html212"
HREF="node2.html">#1</A>
</UL>
</UL>
<BR>
-->
<LI><A ID="tex2html213"
HREF="node3.html">#1</A>
<LI><A ID="tex2html214"
HREF="node4.html">Contents</A>
<LI><A ID="tex2html215"
HREF="node5.html">Foreword</A>
<LI><A ID="tex2html216"
HREF="node6.html">Preface</A>
<LI><A ID="tex2html217"
HREF="node7.html">Sinusoids, amplitude and frequency</A>
<UL>
<LI><A ID="tex2html218"
HREF="node8.html">Measures of Amplitude</A>
<LI><A ID="tex2html219"
HREF="node9.html">Units of Amplitude</A>
<LI><A ID="tex2html220"
HREF="node10.html">Controlling Amplitude</A>
<LI><A ID="tex2html221"
HREF="node11.html">Frequency</A>
<LI><A ID="tex2html222"
HREF="node12.html">Synthesizing a sinusoid</A>
<LI><A ID="tex2html223"
HREF="node13.html">Superposing Signals</A>
<LI><A ID="tex2html224"
HREF="node14.html">Periodic Signals</A>
<LI><A ID="tex2html225"
HREF="node15.html">About the Software Examples</A>
<UL>
<LI><A ID="tex2html226"
HREF="node16.html">Quick Introduction to Pd</A>
<LI><A ID="tex2html227"
HREF="node17.html">How to find and run the examples</A>
</UL>
<LI><A ID="tex2html228"
HREF="node18.html">Examples</A>
<UL>
<LI><A ID="tex2html229"
HREF="node19.html">Constant amplitude scaler</A>
<LI><A ID="tex2html230"
HREF="node20.html">Amplitude control in decibels</A>
<LI><A ID="tex2html231"
HREF="node21.html">Smoothed amplitude control with an envelope generator</A>
<LI><A ID="tex2html232"
HREF="node22.html">Major triad</A>
<LI><A ID="tex2html233"
HREF="node23.html">Conversion between frequency and pitch</A>
<LI><A ID="tex2html234"
HREF="node24.html">More additive synthesis</A>
</UL>
<LI><A ID="tex2html235"
HREF="node25.html">Exercises</A>
</UL>
<BR>
<LI><A ID="tex2html236"
HREF="node26.html">Wavetables and samplers</A>
<UL>
<LI><A ID="tex2html237"
HREF="node27.html">The Wavetable Oscillator</A>
<LI><A ID="tex2html238"
HREF="node28.html">Sampling</A>
<LI><A ID="tex2html239"
HREF="node29.html">Enveloping samplers</A>
<LI><A ID="tex2html240"
HREF="node30.html">Timbre stretching</A>
<LI><A ID="tex2html241"
HREF="node31.html">Interpolation</A>
<LI><A ID="tex2html242"
HREF="node32.html">Examples</A>
<UL>
<LI><A ID="tex2html243"
HREF="node33.html">Wavetable oscillator</A>
<LI><A ID="tex2html244"
HREF="node34.html">Wavetable lookup in general</A>
<LI><A ID="tex2html245"
HREF="node35.html">Using a wavetable as a sampler</A>
<LI><A ID="tex2html246"
HREF="node36.html">Looping samplers</A>
<LI><A ID="tex2html247"
HREF="node37.html">Overlapping sample looper</A>
<LI><A ID="tex2html248"
HREF="node38.html">Automatic read point precession</A>
</UL>
<LI><A ID="tex2html249"
HREF="node39.html">Exercises</A>
</UL>
<BR>
<LI><A ID="tex2html250"
HREF="node40.html">Audio and control computations</A>
<UL>
<LI><A ID="tex2html251"
HREF="node41.html">The sampling theorem</A>
<LI><A ID="tex2html252"
HREF="node42.html">Control</A>
<LI><A ID="tex2html253"
HREF="node43.html">Control streams</A>
<LI><A ID="tex2html254"
HREF="node44.html">Converting from audio signals to numeric control streams</A>
<LI><A ID="tex2html255"
HREF="node45.html">Control streams in block diagrams</A>
<LI><A ID="tex2html256"
HREF="node46.html">Event detection</A>
<LI><A ID="tex2html257"
HREF="node47.html">Audio signals as control</A>
<LI><A ID="tex2html258"
HREF="node48.html">Operations on control streams</A>
<LI><A ID="tex2html259"
HREF="node49.html">Control operations in Pd</A>
<LI><A ID="tex2html260"
HREF="node50.html">Examples</A>
<UL>
<LI><A ID="tex2html261"
HREF="node51.html">Sampling and foldover</A>
<LI><A ID="tex2html262"
HREF="node52.html">Converting controls to signals</A>
<LI><A ID="tex2html263"
HREF="node53.html">Non-looping wavetable player</A>
<LI><A ID="tex2html264"
HREF="node54.html">Signals to controls</A>
<LI><A ID="tex2html265"
HREF="node55.html">Analog-style sequencer</A>
<LI><A ID="tex2html266"
HREF="node56.html">MIDI-style synthesizer</A>
</UL>
<LI><A ID="tex2html267"
HREF="node57.html">Exercises</A>
</UL>
<BR>
<LI><A ID="tex2html268"
HREF="node58.html">Automation and voice management</A>
<UL>
<LI><A ID="tex2html269"
HREF="node59.html">Envelope Generators</A>
<LI><A ID="tex2html270"
HREF="node60.html">Linear and Curved Amplitude Shapes</A>
<LI><A ID="tex2html271"
HREF="node61.html">Continuous and discontinuous control changes</A>
<UL>
<LI><A ID="tex2html272"
HREF="node62.html">Muting</A>
<LI><A ID="tex2html273"
HREF="node63.html">Switch-and-ramp</A>
</UL>
<LI><A ID="tex2html274"
HREF="node64.html">Polyphony</A>
<LI><A ID="tex2html275"
HREF="node65.html">Voice allocation</A>
<LI><A ID="tex2html276"
HREF="node66.html">Voice tags</A>
<LI><A ID="tex2html277"
HREF="node67.html">Encapsulation in Pd</A>
<LI><A ID="tex2html278"
HREF="node68.html">Examples</A>
<UL>
<LI><A ID="tex2html279"
HREF="node69.html">ADSR envelope generator</A>
<LI><A ID="tex2html280"
HREF="node70.html">Transfer functions for amplitude control</A>
<LI><A ID="tex2html281"
HREF="node71.html">Additive synthesis: Risset's bell</A>
<LI><A ID="tex2html282"
HREF="node72.html">Additive synthesis: spectral envelope control</A>
<LI><A ID="tex2html283"
HREF="node73.html">Polyphonic synthesis: sampler</A>
</UL>
<LI><A ID="tex2html284"
HREF="node74.html">Exercises</A>
</UL>
<BR>
<LI><A ID="tex2html285"
HREF="node75.html">Modulation</A>
<UL>
<LI><A ID="tex2html286"
HREF="node76.html">Taxonomy of spectra</A>
<LI><A ID="tex2html287"
HREF="node77.html">Multiplying audio signals</A>
<LI><A ID="tex2html288"
HREF="node78.html">Waveshaping</A>
<LI><A ID="tex2html289"
HREF="node79.html">Frequency and phase modulation</A>
<LI><A ID="tex2html290"
HREF="node80.html">Examples</A>
<UL>
<LI><A ID="tex2html291"
HREF="node81.html">Ring modulation and spectra</A>
<LI><A ID="tex2html292"
HREF="node82.html">Octave divider and formant adder</A>
<LI><A ID="tex2html293"
HREF="node83.html">Waveshaping and difference tones</A>
<LI><A ID="tex2html294"
HREF="node84.html">Waveshaping using Chebychev polynomials</A>
<LI><A ID="tex2html295"
HREF="node85.html">Waveshaping using an exponential function</A>
<LI><A ID="tex2html296"
HREF="node86.html">Sinusoidal waveshaping: evenness and oddness</A>
<LI><A ID="tex2html297"
HREF="node87.html">Phase modulation and FM</A>
</UL>
<LI><A ID="tex2html298"
HREF="node88.html">Exercises</A>
</UL>
<BR>
<LI><A ID="tex2html299"
HREF="node89.html">Designer spectra</A>
<UL>
<LI><A ID="tex2html300"
HREF="node90.html">Carrier/modulator model</A>
<LI><A ID="tex2html301"
HREF="node91.html">Pulse trains</A>
<UL>
<LI><A ID="tex2html302"
HREF="node92.html">Pulse trains via waveshaping</A>
<LI><A ID="tex2html303"
HREF="node93.html">Pulse trains via wavetable stretching</A>
<LI><A ID="tex2html304"
HREF="node94.html">Resulting spectra</A>
</UL>
<LI><A ID="tex2html305"
HREF="node95.html">Movable ring modulation</A>
<LI><A ID="tex2html306"
HREF="node96.html">Phase-aligned formant (PAF) generator</A>
<LI><A ID="tex2html307"
HREF="node97.html">Examples</A>
<UL>
<LI><A ID="tex2html308"
HREF="node98.html">Wavetable pulse train</A>
<LI><A ID="tex2html309"
HREF="node99.html">Simple formant generator</A>
<LI><A ID="tex2html310"
HREF="node100.html">Two-cosine carrier signal</A>
<LI><A ID="tex2html311"
HREF="node101.html">The PAF generator</A>
<LI><A ID="tex2html312"
HREF="node102.html">Stretched wavetables</A>
</UL>
<LI><A ID="tex2html313"
HREF="node103.html">Exercises</A>
</UL>
<BR>
<LI><A ID="tex2html314"
HREF="node104.html">Time shifts and delays</A>
<UL>
<LI><A ID="tex2html315"
HREF="node105.html">Complex numbers</A>
<UL>
<LI><A ID="tex2html316"
HREF="node106.html">Complex sinusoids</A>
</UL>
<LI><A ID="tex2html317"
HREF="node107.html">Time shifts and phase changes</A>
<LI><A ID="tex2html318"
HREF="node108.html">Delay networks</A>
<LI><A ID="tex2html319"
HREF="node109.html">Recirculating delay networks</A>
<LI><A ID="tex2html320"
HREF="node110.html">Power conservation and complex delay networks</A>
<LI><A ID="tex2html321"
HREF="node111.html">Artificial reverberation</A>
<UL>
<LI><A ID="tex2html322"
HREF="node112.html">Controlling reverberators</A>
</UL>
<LI><A ID="tex2html323"
HREF="node113.html">Variable and fractional shifts</A>
<LI><A ID="tex2html324"
HREF="node114.html">Fidelity of interpolating delay lines</A>
<LI><A ID="tex2html325"
HREF="node115.html">Pitch shifting</A>
<LI><A ID="tex2html326"
HREF="node116.html">Examples</A>
<UL>
<LI><A ID="tex2html327"
HREF="node117.html">Fixed, noninterpolating delay line</A>
<LI><A ID="tex2html328"
HREF="node118.html">Recirculating comb filter</A>
<LI><A ID="tex2html329"
HREF="node119.html">Variable delay line</A>
<LI><A ID="tex2html330"
HREF="node120.html">Order of execution and lower limits on delay times</A>
<LI><A ID="tex2html331"
HREF="node121.html">Order of execution in non-recirculating delay lines</A>
<LI><A ID="tex2html332"
HREF="node122.html">Non-recirculating comb filter as octave doubler</A>
<LI><A ID="tex2html333"
HREF="node123.html">Time-varying complex comb filter: shakers</A>
<LI><A ID="tex2html334"
HREF="node124.html">Reverberator</A>
<LI><A ID="tex2html335"
HREF="node125.html">Pitch shifter</A>
</UL>
<LI><A ID="tex2html336"
HREF="node126.html">Exercises</A>
</UL>
<BR>
<LI><A ID="tex2html337"
HREF="node127.html">Filters</A>
<UL>
<LI><A ID="tex2html338"
HREF="node128.html">Taxonomy of filters</A>
<UL>
<LI><A ID="tex2html339"
HREF="node129.html">Low-pass and high-pass filters</A>
<LI><A ID="tex2html340"
HREF="node130.html">Band-pass and stop-band filters</A>
<LI><A ID="tex2html341"
HREF="node131.html">Equalizing filters</A>
</UL>
<LI><A ID="tex2html342"
HREF="node132.html">Elementary filters</A>
<UL>
<LI><A ID="tex2html343"
HREF="node133.html">Elementary non-recirculating filter</A>
<LI><A ID="tex2html344"
HREF="node134.html">Non-recirculating filter, second form</A>
<LI><A ID="tex2html345"
HREF="node135.html">Elementary recirculating filter</A>
<LI><A ID="tex2html346"
HREF="node136.html">Compound filters</A>
<LI><A ID="tex2html347"
HREF="node137.html">Real outputs from complex filters</A>
<LI><A ID="tex2html348"
HREF="node138.html">Two recirculating filters for the price of one</A>
</UL>
<LI><A ID="tex2html349"
HREF="node139.html">Designing filters</A>
<UL>
<LI><A ID="tex2html350"
HREF="node140.html">One-pole low-pass filter</A>
<LI><A ID="tex2html351"
HREF="node141.html">One-pole, one-zero high-pass filter</A>
<LI><A ID="tex2html352"
HREF="node142.html">Shelving filter</A>
<LI><A ID="tex2html353"
HREF="node143.html">Band-pass filter</A>
<LI><A ID="tex2html354"
HREF="node144.html">Peaking and stop-band filter</A>
<LI><A ID="tex2html355"
HREF="node145.html">Butterworth filters</A>
<LI><A ID="tex2html356"
HREF="node146.html">Stretching the unit circle with rational functions</A>
<LI><A ID="tex2html357"
HREF="node147.html">Butterworth band-pass filter</A>
<LI><A ID="tex2html358"
HREF="node148.html">Time-varying coefficients</A>
<LI><A ID="tex2html359"
HREF="node149.html">Impulse responses of recirculating filters</A>
<LI><A ID="tex2html360"
HREF="node150.html">All-pass filters</A>
</UL>
<LI><A ID="tex2html361"
HREF="node151.html">Applications</A>
<UL>
<LI><A ID="tex2html362"
HREF="node152.html">Subtractive synthesis</A>
<LI><A ID="tex2html363"
HREF="node153.html">Envelope following</A>
<LI><A ID="tex2html364"
HREF="node154.html">Single Sideband Modulation</A>
</UL>
<LI><A ID="tex2html365"
HREF="node155.html">Examples</A>
<UL>
<LI><A ID="tex2html366"
HREF="node156.html">Prefabricated low-, high-, and band-pass filters</A>
<LI><A ID="tex2html367"
HREF="node157.html">Prefabricated time-varying band-pass filter</A>
<LI><A ID="tex2html368"
HREF="node158.html">Envelope followers</A>
<LI><A ID="tex2html369"
HREF="node159.html">Single sideband modulation</A>
<LI><A ID="tex2html370"
HREF="node160.html">Using elementary filters directly: shelving and peaking</A>
<LI><A ID="tex2html371"
HREF="node161.html">Making and using all-pass filters</A>
</UL>
<LI><A ID="tex2html372"
HREF="node162.html">Exercises</A>
</UL>
<BR>
<LI><A ID="tex2html373"
HREF="node163.html">Fourier analysis and resynthesis</A>
<UL>
<LI><A ID="tex2html374"
HREF="node164.html">Fourier analysis of periodic signals</A>
<UL>
<LI><A ID="tex2html375"
HREF="node165.html">Periodicity of the Fourier transform</A>
<LI><A ID="tex2html376"
HREF="node166.html">Fourier transform as additive synthesis</A>
</UL>
<LI><A ID="tex2html377"
HREF="node167.html">Properties of Fourier transforms</A>
<UL>
<LI><A ID="tex2html378"
HREF="node168.html">Fourier transform of DC</A>
<LI><A ID="tex2html379"
HREF="node169.html">Shifts and phase changes</A>
<LI><A ID="tex2html380"
HREF="node170.html">Fourier transform of a sinusoid</A>
</UL>
<LI><A ID="tex2html381"
HREF="node171.html">Fourier analysis of non-periodic signals</A>
<LI><A ID="tex2html382"
HREF="node172.html">Fourier analysis and reconstruction of audio signals</A>
<UL>
<LI><A ID="tex2html383"
HREF="node173.html">Narrow-band companding</A>
<LI><A ID="tex2html384"
HREF="node174.html">Timbre stamping (classical vocoder)</A>
</UL>
<LI><A ID="tex2html385"
HREF="node175.html">Phase</A>
<UL>
<LI><A ID="tex2html386"
HREF="node176.html">Phase relationships between channels</A>
</UL>
<LI><A ID="tex2html387"
HREF="node177.html">Phase bashing</A>
<LI><A ID="tex2html388"
HREF="node178.html">Examples</A>
<UL>
<LI><A ID="tex2html389"
HREF="node179.html">Fourier analysis and resynthesis in Pd</A>
<LI><A ID="tex2html390"
HREF="node180.html">Narrow-band companding: noise suppression</A>
<LI><A ID="tex2html391"
HREF="node181.html">Timbre stamp ("vocoder")</A>
<LI><A ID="tex2html392"
HREF="node182.html">Phase vocoder time bender</A>
</UL>
<LI><A ID="tex2html393"
HREF="node183.html">Exercises</A>
</UL>
<BR>
<LI><A ID="tex2html394"
HREF="node184.html">Classical waveforms</A>
<UL>
<LI><A ID="tex2html395"
HREF="node185.html">Symmetries and Fourier series</A>
<UL>
<LI><A ID="tex2html396"
HREF="node186.html">Sawtooth waves and symmetry</A>
</UL>
<LI><A ID="tex2html397"
HREF="node187.html">Dissecting classical waveforms</A>
<LI><A ID="tex2html398"
HREF="node188.html">Fourier series of the elementary waveforms</A>
<UL>
<LI><A ID="tex2html399"
HREF="node189.html">Sawtooth wave</A>
<LI><A ID="tex2html400"
HREF="node190.html">Parabolic wave</A>
<LI><A ID="tex2html401"
HREF="node191.html">Square and symmetric triangle waves</A>
<LI><A ID="tex2html402"
HREF="node192.html">General (non-symmetric) triangle wave</A>
</UL>
<LI><A ID="tex2html403"
HREF="node193.html">Predicting and controlling foldover</A>
<UL>
<LI><A ID="tex2html404"
HREF="node194.html">Over-sampling</A>
<LI><A ID="tex2html405"
HREF="node195.html">Sneaky triangle waves</A>
<LI><A ID="tex2html406"
HREF="node196.html">Transition splicing</A>
</UL>
<LI><A ID="tex2html407"
HREF="node197.html">Examples</A>
<UL>
<LI><A ID="tex2html408"
HREF="node198.html">Combining sawtooth waves</A>
<LI><A ID="tex2html409"
HREF="node199.html">Strategies for band-limiting sawtooth waves</A>
</UL>
<LI><A ID="tex2html410"
HREF="node200.html">Exercises</A>
</UL>
<BR>
<LI><A ID="tex2html411"
HREF="node201.html">Index</A>
<LI><A ID="tex2html412"
HREF="node202.html">Bibliography</A>
<LI><A ID="tex2html413"
HREF="node203.html">About this document ...</A>
</UL>
<!--End of Table of Child-Links-->
<BR><HR>
<ADDRESS>
Miller Puckette
2006-12-30
</ADDRESS>
</BODY>
</HTML>