Author Archives: Nigel Redmon

Audio Signal Processing for Music Applications

I’d like to recommend this excellent—and free—online course: Audio Signal Processing for Music Applications by Prof Xavier Serra, Prof Julius O Smith, III The brief: In this course you will learn about audio signal processing methodologies that are specific for music … Continue reading

Posted in Uncategorized | 1 Comment

Dither—The Naked Truth video

This video presents the “naked truth” on dither and truncation error, by stripping away the original signal of a musical clip and listening at different bit levels. I boost the error to a normalized audio volume for easy comparison of … Continue reading

Posted in Digital Audio, Dither, Video | 2 Comments

Dither widget

Posted in Digital Audio, Dither, Widgets | Leave a comment

Audio Dither Explained video

This video discusses the how and why of dither.

Posted in Digital Audio, Dither, Video | 1 Comment

More about source code

I was admonished (in not a nice way—not terribly rude, but quite to the point that I don’t know what I’m doing) by an anonymous visitor, who concluded that I don’t know much about C++ and maybe should have written … Continue reading

Posted in Source Code | 7 Comments

Pole-Zero placement v2

Pair Pole mag Pole angle Pair Zero mag Zero angle Sample rate (Hz) linearlog Plot A new pole-zero calculator An JavaScript remake of the old Java-based pole-zero placement applet—visit that page for tips on pole-zero locations for standard biquads. The … Continue reading

Posted in Biquads, Digital Audio, Filters, IIR Filters, Widgets | 15 Comments

Biquad calculator v2

Type:lowpasshighpassbandpassnotchpeaklow shelfhigh shelfone-pole lpone-pole hp Plot:linearlog Sample rate (Hz) Fc (Hz) Q Gain (dB) Here’s an update of the biquad calculator. It adds one-pole highpass and lowpass filters, and frequency, Q, and gain sliders. The sliders cover the range of … Continue reading

Posted in Biquads, Digital Audio, Filters, IIR Filters, Widgets | 96 Comments

Envelope generators—ADSR widget

Attack Decay Sustain Release Attack Curve Decay/Release Curve Plot:linearlog This is the widget I used in making the ADSR video. It’s a JavaScript recreation of my C++ source code.

Posted in Envelope Generators, Synthesizers, Widgets | 22 Comments

Envelope generators—ADSR video

Let me know how you like this one!

Posted in Envelope Generators, Synthesizers, Video | 7 Comments

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 | 62 Comments