
Recent Posts
 Wavetable signal to noise ratio
 Sampling theory, the best explanation you’ve ever heard—End notes
 Sampling theory, the best explanation you’ve ever heard—Part 3
 Sampling theory, the best explanation you’ve ever heard—Part 2
 Sampling theory, the best explanation you’ve ever heard—Part 1
 Sampling theory, the best explanation you’ve ever heard—Prologue
 Amp simulation oversampling
 Guitar amp simulation
Archives
 September 2018
 August 2017
 May 2017
 January 2017
 December 2016
 September 2016
 February 2016
 September 2015
 January 2015
 March 2014
 January 2014
 October 2013
 June 2013
 May 2013
 April 2013
 March 2013
 February 2013
 December 2012
 November 2012
 May 2012
 March 2012
 January 2011
 December 2010
 November 2010
 July 2007
 March 2003
 February 2003
 August 2002
 January 1997
 November 1996
 October 1996
 August 1996
 July 1996
Categories
 Digital Audio (56)
 Aliasing (9)
 Convolution (3)
 Dither (7)
 Filters (23)
 DC Blocker (1)
 FIR Filters (7)
 IIR Filters (17)
 Biquads (11)
 Fourier (3)
 FFT (3)
 Impulse Response (5)
 Jitter (2)
 Oscillators (9)
 Phase (2)
 Reverb (2)
 Sample Rate Conversion (10)
 Sampling Theory (6)
 Effects (1)
 Envelope Generators (5)
 MIDI (2)
 Source Code (7)
 Synthesizers (9)
 Uncategorized (5)
 Video (4)
 Widgets (12)
 Digital Audio (56)
Category Archives: Filters
Biquad C++ source code
I don’t want to get into the business of teaching people how to code—there are a huge number of free resources available on the internet to that do that. But I’ll give a small taste for those trying to get … Continue reading
Posted in Biquads, Digital Audio, Filters, IIR Filters, Source Code
64 Comments
Convolution—in words
Convolution is a convoluted topic—and that’s what it means (convoluted, from MerriamWebster : “Extremely complex and difficult to follow. Intricately folded, twisted, or coiled.”). Really, it’s more difficult to explain why you would want to use convolution than it is … Continue reading
Posted in Convolution, Digital Audio, FIR Filters, Impulse Response, Reverb
Leave a comment
Biquad formulas
For fixed filters, we can plug biquad coefficients into our programs. But often, we need to calculate them on the fly, to user settings or changes in sample rate. As a companion to the biquad calculator, here are the formulas … Continue reading
Posted in Biquads, Digital Audio, Filters, IIR Filters
40 Comments
Sample rate conversion: down
In doubling the sample rate, we inserted zeros between existing samples, then used a lowpass filter to remove the resulting alias in the audio band. To resample at half the current rate, we use a lowpass filter to remove audio … Continue reading
Posted in Aliasing, Digital Audio, Filters, Sample Rate Conversion
Leave a comment
Sample rate conversion: up
Once we have a suitable set of FIR filter coefficients from our windowed sinc calculator, it’s time to apply them. Again, our recipe for doubling the sample rate: 1) Insert a zero between existing samples. (This is the upsampling step, … Continue reading
Posted in Aliasing, Convolution, Digital Audio, Filters, FIR Filters, Sample Rate Conversion
7 Comments
Towards practical resampling
In a previous article, we looked at sample rate conversion in the frequency domain. Let’s take a quick second look in the time domain as reinforcement of principles behind sample rate conversion, before developing a practical rate convertor. In an … Continue reading
The bilinear z transform
The bilinear transform is the most popular method of converting analog filter prototypes in the s domain to the z domain so we can implement them as digital filters. The reason we are interested in these s domain filters is … Continue reading
Posted in Digital Audio, Filters, IIR Filters
23 Comments