DSPRelated.com
Books

Designing Audio Effect Plugins in C++

Will Pirkle 2019

Designing Audio Effect Plugins in C++ presents everything you need to know about digital signal processing in an accessible way. Not just another theory-heavy digital signal processing book, nor another dull build-a-generic-database programming book, this book includes fully worked, downloadable code for dozens of professional audio effect plugins and practically presented algorithms.

Sections include the basics of audio signal processing, the anatomy of a plugin, AAX, AU and VST3 programming guides; implementation details; and actual projects and code. More than 50 fully coded C++ audio signal-processing objects are included. Start with an intuitive and practical introduction to the digital signal processing (DSP) theory behind audio plug-ins, and quickly move on to plugin implementation, gain knowledge of algorithms on classical, virtual analog, and wave digital filters, delay, reverb, modulated effects, dynamics processing, pitch shifting, nonlinear processing, sample rate conversion and more. You will then be ready to design and implement your own unique plugins on any platform and within almost any host program.

This new edition is fully updated and improved and presents a plugin core that allows readers to move freely between application programming interfaces and platforms. Readers are expected to have some knowledge of C++ and high school math.


Why Read This Book

You will get a hands‑on, implementation-first tour of audio DSP that takes you from basic theory to shipping production-quality C++ plugins. The book pairs compact DSP explanations with more than 50 downloadable, fully working C++ audio objects and complete AAX/AU/VST3 projects so you can learn by inspecting and modifying real, professional code.

Who Will Benefit

Intermediate C++ audio developers, DSP engineers, and plugin authors who want to build production-ready effects for DAWs and learn practical, real‑time DSP implementation techniques.

Level: Intermediate — Prerequisites: Working knowledge of C++ (classes, pointers/references, basic STL), basic signals & systems (sampling, convolution, z‑transform or frequency domain intuition), and familiarity with an IDE (Visual Studio or Xcode) and a DAW plugin host.

Get This Book

Key Takeaways

  • Implement a wide range of audio effects in C++, including filters, delays, modulation, distortion, reverb, and dynamics processors.
  • Build and package cross‑platform plugins using AAX, Audio Unit (AU), and VST3 formats with real, working project scaffolds.
  • Apply FFT-based spectral analysis and processing for effects such as spectral filtering, pitch shifting, and time‑stretching.
  • Design and implement practical digital filters (IIR and FIR) and understand stability, frequency response, and coefficient design for audio.
  • Optimize C++ DSP code for real‑time constraints, including buffer management, parameter smoothing, and CPU/memory efficiency.
  • Create user interfaces, parameter automation, preset management, and testing/debugging workflows for professional plugins.

Topics Covered

  1. 1. Introduction: Audio DSP for Plugin Development
  2. 2. Anatomy of an Audio Plugin and Real‑Time Considerations
  3. 3. C++ Project Structure, Build Systems and SDKs
  4. 4. Digital Filter Design (IIR, FIR) and Equalization
  5. 5. Delay Lines, Modulation (Chorus/Flanger/Phaser) and Time Effects
  6. 6. Distortion, Saturation and Nonlinear Processing
  7. 7. Dynamics: Compressors, Limiters and Expansion
  8. 8. Reverb and Spatial Audio Techniques
  9. 9. FFT, Spectral Analysis and Spectral Effects
  10. 10. Pitch Shifting, Time Stretching and Vocoders
  11. 11. Plugin Formats: VST3, AU, and AAX Implementation Details
  12. 12. GUI, Parameter Automation, Presets and Host Integration
  13. 13. Optimization, Testing, and Production Packaging
  14. 14. Example Plugins and 50+ DSP Objects (downloadable code)
  15. Appendices: SDK References, Utility Classes and Further Reading

Languages, Platforms & Tools

C++macOS (Audio Unit)Windows (VST3/AAX)Linux (VST3)DAWs / Plugin Hosts (Pro Tools, Logic, Ableton, etc.)VST3 SDK (Steinberg)AAX SDK (Avid)Audio Unit SDK (Apple)Visual StudioXcodeCMake / build systemsGit / GitHubFFT libraries (FFTW, kissFFT) and platform accelerators (Apple Accelerate)Optional frameworks: JUCE (commonly used, but not required)

How It Compares

Compared with The Audio Programming Book, Pirkle's volume is more focused on shipping C++ plugins and DAW formats with ready-to-run projects; unlike theory-heavy DSP texts (e.g., Oppenheim/Smith), it emphasizes practical implementation over proofs.

Related Books

Alan V. Oppenheim