-
Recent Posts
Archives
- October 2026
- January 2023
- April 2022
- November 2021
- September 2021
- April 2021
- October 2020
- January 2020
- April 2019
- 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
- AI (1)
- Digital Audio (68)
- Aliasing (9)
- Convolution (3)
- Dither (7)
- Filters (24)
- DC Blocker (1)
- FIR Filters (7)
- IIR Filters (18)
- Biquads (12)
- Fourier (3)
- FFT (3)
- Fun Facts (3)
- Impulse Response (5)
- Jitter (2)
- Oscillators (12)
- Phase (2)
- Reverb (2)
- Sample Rate Conversion (10)
- Sampling Theory (6)
- Effects (1)
- Electronics (1)
- Envelope Generators (5)
- Math (6)
- MIDI (2)
- Source Code (10)
- Synthesizers (9)
- Uncategorized (1)
- Video (7)
- Widgets (14)
Category Archives: Digital Audio
Envelope generators—ADSR Part 1
After discussing the exponential decay of the one-pole filter in a recent article, I couldn’t help but think about envelope generators. Besides, it would be handy to have one to test out some of these other components I’ve been writing … Continue reading
Wavetable oscillator video
If you find this video helpful, let me know, and I’ll work more video demonstrations into articles.
Posted in Aliasing, Synthesizers, Video, Wavetable Oscillators
Tagged Wavetable Oscillator Series
6 Comments
Perspective on dither
Recently, I’ve had lengthy discussions on the topic of dither with a couple of different people—of opposite views. One believes that everything should be dithered, including truncations to 24-bit. The other feels that dither is a waste of time even … Continue reading
Posted in Dither
4 Comments
Replicating wavetables
My WaveTableOsc object uses a series of wavetables that are copies of single-cycle waveforms pre-rendered at a progressively smaller bandwidth. By “replicating wavetables” I mean taking a full-bandwidth single cycle waveform, and using it to make a complete set of … Continue reading
Posted in Oscillators, Source Code, Wavetable Oscillators
Tagged Wavetable Oscillator Series
53 Comments
A one-pole filter
Here’s a very simple workhorse of DSP applications—the one-pole filter. By comparison, biquads implement two zeros and two poles. You can see that our one-pole simply discards the zeros (the feed-forward delay paths) and the second pole (feedback path): We … Continue reading
Posted in DC Blocker, Digital Audio, IIR Filters, Source Code
40 Comments
A note about de-normalization
One ugly thing that we need to be aware of, especially for filters, is the de-normalization of numbers. Basically, computer processors try to keep floating point numbers normalized—they try to keep them in the binary form 1.xxxxxx (where each x … Continue reading
Posted in Digital Audio, Math
1 Comment
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
99 Comments
A wavetable oscillator—end notes
I wrote the wavetable oscillator code from scratch as I wrote this series of articles, using just the thought process I gave. Hence, no references to other articles on wavetable oscillators. The concept of a phase accumulator is fairly obvious; … Continue reading
Posted in Digital Audio, Oscillators, Wavetable Oscillators
Tagged Wavetable Oscillator Series
13 Comments
A wavetable oscillator—the code
The wavetable oscillator code follows the basic structure of most audio processing blocks, with three types of functions: at the start: initialization—create the oscillator and its wavetables as needed: control—change the oscillator frequency, and pulse width for PWM every sample: … Continue reading
Posted in Digital Audio, Oscillators, Source Code, Wavetable Oscillators
Tagged Wavetable Oscillator Series
27 Comments