Category Archives: Digital Audio

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 | 25 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

Posted in Digital Audio, Oscillators, Sample Rate Conversion, Wavetable Oscillators | 5 Comments

A wavetable oscillator—Introduction

Years ago, Cristoph Kemper told me how the Access Virus came to be. He had coded a filter on a DSP and wanted to test it. Of course he needed an oscillator, so he coded that…pretty soon he had a … Continue reading

Posted in Digital Audio, Oscillators, Wavetable Oscillators | Leave a comment

Convolution—in words

Convolution is a convoluted topic—and that’s what it means (convoluted, from Merriam-Webster : “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 | 48 Comments

A biquad calculator

Something useful: a biquad filter coefficient calculator… Continue reading

Posted in Biquads, Digital Audio, Filters, IIR Filters, Widgets | 37 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

A closer look at upsampling filters

Interpolation type:NoneZero-order holdLinearSinc 1Sinc 2Sinc 3  Show impulse response Sweep! In this demonstration, we generate a sine wave sweep from low in the audio band to near the Nyquist Frequency, which is half the sample rate. You can view it … Continue reading

Posted in Aliasing, Digital Audio, Filters, FIR Filters, Impulse Response, Sample Rate Conversion, Widgets | 1 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

Building a windowed sinc filter

As promised, here’s our windowed sinc calculator for building a 2x oversampling filter:  Factor  Length  Rejection  Gain Notes: Use the Tab or Enter keys to effect changes (most browsers), or press Calculate. The frequency axis is in multiples of the … Continue reading

Posted in Digital Audio, Filters, FIR Filters, Impulse Response, Sample Rate Conversion, Widgets | 14 Comments