-
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)
Author Archives: Nigel Redmon
Envelope generators—ADSR code
First, a brief example of how to use the ADSR code: // create ADSR env ADSR *env = new ADSR(); // initialize settings env->setAttackRate(.1 * sampleRate); // .1 second env->setDecayRate(.3 * sampleRate); env->setReleaseRate(5 * sampleRate); env->setSustainLevel(.8); … // at some … Continue reading
Posted in Envelope Generators, Source Code, Synthesizers
Tagged Envelope Generator Series
64 Comments
Envelope generators—ADSR Part 2
Certain aspects of the ADSR are up for interpretation. Exactly how the ADSR re-triggers when not starting from idle, for instance. Also, we can decide whether we want constant rate, or constant time control of the segments. The attack segment … Continue reading
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
About synthesizer control voltages
Since I write about simulating classic analog synthesizers (a process often called “virtual analog”), mostly notably in my wavetable oscillator series so far, I wanted to touch on the topic of parameter control signals. Classic synthesizers have knobs to set … Continue reading
Posted in Synthesizers
1 Comment
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
About source code examples
My goal is to teach audio DSP principles in a way that is more intuitive than most available material. And part of that goal is to help you to think about the your goals and how to solve them by … Continue reading
Posted in Source Code
2 Comments
Ventilator adapter in a mint tin
I don’t eat mints often, but when I do, they are sugar free… A Leslie speaker simulation Players of Hammond organs and their clones know how important the Leslie speaker is to the classic sound. Modern clones have electronic simulations … Continue reading
Posted in Electronics
Leave a comment
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