30 - Digital Signal Processing #

Spectral Audio Signal Processing by JULIUS O. SMITH III at the Center for Computer Research in Music and Acoustics (CCRMA)

The Scientist and Engineer’s Guide to Digital Signal Processing By Steven W. Smith, Ph.D.

Awesome MusicDSP (GitHub)

Tom Erbe, Design the Erbe Verb (YouTube)

https://zserge.com/posts/etude-in-c/ & https://zserge.com/posts/beep/

Diospyros - Search-based compiler for high-performance DSP programming

Think DSP - DSP in Python, Free book

Vult DSP Programming Language

Writing Efficient VCV Plugins from SquinkyLabs

Technical Papers from Cytomic



A Transistor-less sound synthesizer (Hackaday, Jenny List, Dr. Cockroach)

Chua oscillator on CRO during inductance sweep


As a quick note, there are a ton of possible options when choosing what to use as hardware for developing audio hardware. You can go full analog, work with dedicated DSP hardware, use microcontrollers with full FPUs, use single board computers, use an FPGA (Like on the Rainmaker), or try to get by on a 328P (Arduino Uno). The most important part is making something, don’t stress too much about what you use to do it- but don’t use something prohibitively expensive or outright garbage (like the 328P) either, unless you know what you’re doing. The STM32’s with FPU’s are probably a good bet.

Digital Vintage Sound: Modeling Analog Synthesizers with the Wolfram Language and System Modeler

Reverse-engineering the Yamaha DX7 synthesizer’s sound chip from die photos (Ken Shirriff’s Blog)


Awesome Audio Visualization (GitHub)

Kord (GitHub) - a music theory development framework in python

Tutorial: Programming Modules for VCV Rack - Part 1 (YouTube, Leonardo Laguna Ruiz) (This might be out of date)

Tutorial: Virtual Analog Modeling Basics, the Vult way (YouTube, Leonardo Laguna Ruiz)

Rust For DSP

Learn Modern C++ by Building an Audio Plugin w/ JUCE Framework (YouTube - freeCodeCamp.org)


Magenta DDSP - ML meets DSP

ColorChords Music-Optimized DFT Algorithm

I’d like to show DSP with VCV rack as much as I can, but dev sucks without debug, so this helps:


[TODO] Discrete time? Nyquist? Z transform(quick review of sig & sys)

[TODO] Quantization & Numerical effects

[TODO] Aliasing, Upsampling, down sampling

[TODO] why not use std::sin

[TODO] Lookup-table generators (Wavetables)

[TODO] Envelopes

[TODO] Convolution reverb/cab


[TODO] FIR & Windowing

[TODO] Brief digression into N-dim dsp (images, etc.)

If you would like to support my development of OpGuides, please consider supporting me on GitHub Sponsors or dropping me some spare change on Venmo @vegadeftwing - every little bit helps ❤️