Add more technical detail to BiquadFilterNode description (contributed by Raymond Toy)
authorcrogers@google.com
Fri, 04 Nov 2011 15:40:58 -0700
changeset 11 b3ea7765b09e
parent 10 040afff6a7de
child 12 5d9898ac7452
Add more technical detail to BiquadFilterNode description (contributed by Raymond Toy)
webaudio/specification.html
--- a/webaudio/specification.html	Sat Oct 15 19:08:15 2011 -0700
+++ b/webaudio/specification.html	Fri Nov 04 15:40:58 2011 -0700
@@ -1828,7 +1828,165 @@
 
   </div> 
 
-
+  <p>The filter types are briefly described below. We note that all of these filter are very commonly
+  used in audio processing.  In terms of implementation, they have all been derived from standard analog filter prototypes.  For more technical
+    details, we refer the reader to the excellent <a
+    href="http://www.musicdsp.org/files/Audio-EQ-Cookbook.txt">reference</a> by Robert Bristow-Johnson.</p>
+
+  <div id="BiquadFilterNode-description-section" class="section">
+    <h3>4.21.1 LOWPASS</h3>
+    <p>A <a
+    href="http://en.wikipedia.org/wiki/Low-pass_filter">lowpass
+    filter</a> allows frequencies below the cutoff frequency 
+    to pass through and attenuates frequencies above the cutoff.  LOWPASS implements a standard second-order resonant lowpass filter with 12dB/octave rolloff.</p>
+
+    <blockquote>
+      <dl>
+       <dt>frequency</dt>
+	 <dd>The cutoff frequency above which the frequencies are
+	 attenuated</dd>
+       <dt><a href="http://en.wikipedia.org/wiki/Q_factor">Q</a></dt>
+	 <dd>Controls how peaked the response will be at the cutoff
+	 frequency.  A large value makes the response more peaked.</dd>
+       <dt>gain</dt>
+	 <dd>Not used in this filter type</dd>
+      </dl>				    
+    </blockquote>
+
+    <h3>4.21.2 HIGHPASS</h3>
+
+    <p>A <a
+    href="http://en.wikipedia.org/wiki/High-pass_filter">highpass
+    filter</a> is the opposite of a lowpass filter.  Frequencies above
+    the cutoff frequency are passed through, but frequencies below the
+    cutoff are attenuated.    HIGHPASS implements a standard second-order resonant highpass filter with 12dB/octave rolloff.
+
+    <blockquote>
+      <dl>
+       <dt>frequency</dt>
+	 <dd>The cutoff frequency below which the frequencies are
+	 attenuated</dd>
+       <dt><a href="http://en.wikipedia.org/wiki/Q_factor">Q</a></dt>
+	 <dd>Controls how peaked the response will be at the cutoff
+	 frequency.  A large value makes the response more peaked.</dd>
+       <dt>gain</dt>
+	 <dd>Not used in this filter type</dd>
+      </dl>				    
+    </blockquote>
+        				  
+    <h3>4.21.3 BANDPASS</h3>
+
+    <p>A <a
+    href="http://en.wikipedia.org/wiki/Band-pass_filter">bandpass
+    filter</a> allows a range of frequencies to pass through and
+    attenuates the frequencies below and above this frequency range.  BANDPASS implements a second-order bandpass filter.
+
+    <blockquote>				      
+      <dl>
+       <dt>frequency</dt>
+	 <dd>The center of the frequency band</dd>
+       <dt><a href="http://en.wikipedia.org/wiki/Q_factor">Q</a></dt>
+	 <dd>Controls the width of the band.  The width becomes narrower
+	 as the Q value increases.</dd>
+       <dt>gain</dt>
+	 <dd>Not used in this filter type</dd>
+      </dl>
+    </blockquote>				    
+
+    <h3>4.21.4 LOWSHELF</h3>
+    <p>The lowshelf filter allows all frequencies through, but adds a
+    boost (or attenuation) to the lower frequencies.  LOWSHELF implements a second-order lowshelf filter.
+
+    <blockquote>
+      <dl>
+       <dt>frequency</dt>
+	 <dd>The upper limit of the frequences where the boost (or
+	 attenuation) is applied.</dd>
+       <dt><a href="http://en.wikipedia.org/wiki/Q_factor">Q</a></dt>
+	 <dd>Not used in this filter type.</dd>
+       <dt>gain</dt>
+	 <dd>The boost, in dB, to be applied.  If the value is negative,
+	 the frequencies are attenuated.</dd>
+      </dl>				    
+    </blockquote>
+
+    <h3>4.21.5 HIGHSHELF</h3>
+    <p>The highshelf filter is the opposite of the lowshelf filter and
+    allows all frequencies through, but adds a
+    boost to the higher frequencies.  HIGHSHELF implements a second-order highshelf filter
+
+    <blockquote>
+      <dl>
+       <dt>frequency</dt>
+	 <dd>The lower limit of the frequences where the boost (or
+	 attenuation) is applied.</dd>
+       <dt><a href="http://en.wikipedia.org/wiki/Q_factor">Q</a></dt>
+	 <dd>Not used in this filter type.</dd>
+       <dt>gain</dt>
+	 <dd>The boost, in dB, to be applied.  If the value is negative,
+	 the frequencies are attenuated.</dd>
+      </dl>				    
+    </blockquote>
+				  
+    <h3>4.21.6 PEAKING</h3>
+    <p>The peaking filter allows all frequencies through, but adds a
+    boost (or attenuation) to a range of frequencies.  
+
+    <blockquote>
+      <dl>
+       <dt>frequency</dt>
+	 <dd>The center frequency of where the boost is applied.</dd>
+       <dt><a href="http://en.wikipedia.org/wiki/Q_factor">Q</a></dt>
+	 <dd>Controls the width of the band of frequencies that are
+	 boosted.  A large value implies a narrow width.</dd>
+       <dt>gain</dt>
+	 <dd>The boost, in dB, to be applied.  If the value is negative,
+	 the frequencies are attenuated.</dd>
+      </dl>				    
+    </blockquote>
+				  
+    <h3>4.21.7 NOTCH</h3>
+
+    <p>The notch filter (also known as a <a
+    href="http://en.wikipedia.org/wiki/Band-stop_filter">band-stop or
+    band-rejection filter</a> is the opposite of a bandpass filter.
+    It allows all frequencies through, except for a set of
+    frequencies.
+
+    <blockquote>
+      <dl>
+       <dt>frequency</dt>
+	 <dd>The center frequency of where the notch is applied.</dd>
+       <dt><a href="http://en.wikipedia.org/wiki/Q_factor">Q</a></dt>
+	 <dd>Controls the width of the band of frequencies that are
+	 attenuated.  A large value implies a narrow width.</dd>
+       <dt>gain</dt>
+	 <dd>Not used in this filter type.</dd>
+      </dl>				    
+    </blockquote>
+				  
+    <h3>4.21.8 ALLPASS</h3>
+
+    <p>An <a
+    href="http://en.wikipedia.org/wiki/All-pass_filter#Digital_Implementation">allpass
+    filter</a> allows all frequencies through, but changes the phase
+    relationship between the various frequencies.  ALLPASS implements a second-order allpass filter
+
+    <blockquote>
+      <dl>
+       <dt>frequency</dt>
+	 <dd>The frequency where the center of the phase transition occurs.
+	   Viewed another way, this is the frequency with maximal <a href="http://en.wikipedia.org/wiki/Group_delay">group delay</a>.</dd>
+       <dt><a href="http://en.wikipedia.org/wiki/Q_factor">Q</a></dt>
+	 <dd>Controls how sharp the phase transition is at the center
+	 frequency.  A larger value implies a sharper transition and a larger group delay.</dd>
+       <dt>gain</dt>
+	 <dd>Not used in this filter type.</dd>
+      </dl>				    
+    </blockquote>
+
+  </div>
+			  
   <div id="WaveShaperNode-section" class="section"> 
 
     <h2>4.22. The WaveShaperNode Interface</h2>