-
Recent Posts
Archives
Categories
- Digital Audio (35)
- Aliasing (7)
- Convolution (3)
- Dither (4)
- Filters (14)
- DC Blocker (1)
- FIR Filters (5)
- IIR Filters (8)
- Biquads (5)
- Fourier (2)
- FFT (2)
- Impulse Response (5)
- Jitter (2)
- Oscillators (7)
- Phase (2)
- Reverb (2)
- Sample Rate Conversion (8)
- Sampling Theory (1)
- MIDI (2)
- Synthesizers (1)
- Uncategorized (3)
- Digital Audio (35)
Category Archives: Digital Audio
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
2 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, Wavetable Oscillators
6 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
6 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
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
10 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
Leave a comment
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, Wavetable Oscillators
9 Comments
A wavetable oscillator—Part 3
In Part 2, we looked at how to use subtables designed to cover one octave each, removing upper harmonics for each higher octave to avoid aliasing. Here’s a view of the nine wavetables for our sawtooth oscillator, with the starting … Continue reading
Posted in Digital Audio, Oscillators, Wavetable Oscillators
2 Comments
A wavetable oscillator—Part 2
From Part 1, we have an oscillator. But we need to broaden it to allow scaling of harmonic content based on pitch so that we have all the harmonic content we need at the low frequency end, and, as we … Continue reading
Posted in Aliasing, Digital Audio, Oscillators, Wavetable Oscillators
11 Comments
A wavetable oscillator—Part 1
There are many ways to make an oscillator. Without looking for further motivation, I’ll propose a wavetable oscillator. Wavetables are a fairly obvious extension of the general playback of digital audio. Such oscillators are easy to understand, and their extreme … Continue reading