Book description
Not just another theory-heavy digital signal processing book, nor another dull build-a-generic-database programming book, Designing Audio Effect Plug-Ins in C++ gives you everything you everything you need to know to do just that, including fully worked, downloadable code for dozens of professional audio effect plug-ins and practically presented algorithms. With this book, you get access to a companion website where you can download the accompanying Rapid Plug-In Development software to compile and test the book examples, all the code examples, and view student plug-ins and tutorial videos on the development software. Start with an intuitive and practical introduction to the digital signal processing (DSP) theory behind audio plug-ins, and quickly move on to plug-in implementation, gain knowledge of algorithms on filtering, delay, reverb, modulated effects, dynamics processing, and more. You will then be ready to design and implement your own unique plug-ins on any platform and within most any host program.
Readers are expected to have some knowledge of C++, and high school math.
Table of contents
- Front Cover
- Half Title
- Title Page
- Copyright
- Dedication
- Contents
- Introduction
-
Chapter 1: Digital Audio Signal Processing Principles
- 1.1 Acquisition of Samples
- 1.2 Reconstruction of the Signal
- 1.3 Signal Processing Systems
- 1.4 Synchronization and Interrupts
- 1.5 Signal Processing Flow
- 1.6 Numerical Representation of Audio Data
- 1.7 Using Floating-Point Data
- 1.8 Basic DSP Test Signals
- 1.9 Signal Processing Algorithms
- 1.10 Bookkeeping
- 1.11 The One-Sample Delay
- 1.12 Multiplication
- 1.13 Addition and Subtraction
- 1.14 Algorithm Examples and the Difference Equation
- 1.15 Gain, Attenuation, and Phase Inversion
- 1.16 Practical Mixing Algorithm
- Bibliography
- Chapter 2: Anatomy of a Plug-In
-
Chapter 3: Writing Plug-Ins with RackAFX
- 3.1 Building the DLL
- 3.2 Creation
- 3.3 The GUI
- 3.4 Processing Audio
- 3.5 Destruction
- 3.6 Your First Plug-Ins
- 3.7 Design a Volume Control Plug-In
- 3.8 Set Up RackAFX for Use
- 3.9 Setup Preferences
- 3.10 Design a Volume-in-dB Plug-In
- 3.11 Design a High-Frequency Tone Control Plug-In
- 3.12 Design a High-Frequency Tone Control with Volume Plug-In
- 3.13 The User Plug-In Menu in RackAFX
- Chapter 4: How DSP Filters Work
-
Chapter 5: Basic DSP Theory
- 5.1 The Complex Sinusoid
- 5.2 Complex Math Review
- 5.3 Time Delay as a Math Operator
- 5.4 First-Order Feed-Forward Filter Revisited
- 5.5 Evaluating the Transfer Function H(ω)
- 5.6 Evaluating ejω
- 5.7 The z Substitution
- 5.8 The z Transform
- 5.9 The z Transform of Signals
- 5.10 The z Transform of Difference Equations
- 5.11 The z Transform of an Impulse Response
- 5.12 The Zeros of the Transfer Function
- 5.13 Estimating the Frequency Response: Zeros
- 5.14 Filter Gain Control
- 5.15 First-Order Feed-Back Filter Revisited
- 5.16 The Poles of the Transfer Function
- 5.17 Second-Order Feed-Forward Filter
- 5.18 Second-Order Feed-Back Filter
- 5.19 First-Order Pole-Zero Filter: The Shelving Filter
- 5.20 The Bi-Quadratic Filter
- Bibliography
-
Chapter 6: Audio Filter Designs: IIR Filters
- 6.1 Direct z-Plane Design
- 6.2 Single Pole Filters
- 6.3 Resonators
- 6.4 Analog Filter to Digital Filter Conversion
- 6.5 Effect of Poles or Zeros at Infinity
- 6.6 Generic Bi-Quad Designs
- 6.7 Audio Specific Filters
- 6.8 Design a Resonant LPF Plug-In
- 6.9 The Massberg Analog-Matched Low-Pass Filter
- Bibliography
- References
-
Chapter 7: Delay Effects and Circular Buffers
- 7.1 The Basic Digital Delay
- 7.2 Digital Delay with Wet/Dry Mix
- 7.3 Design a DDL Module Plug-In
- 7.4 Modifying the Module to Be Used by a Parent Plug-In
- 7.5 Modifying the Module to Implement Fractional Delay
- 7.6 Design a Stereo Digital Delay Plug-In
- 7.7 Design a Stereo Crossed-Feedback Delay Plug-In
- 7.8 Enumerated Slider Variables
- 7.9 More Delay Algorithms
- Bibliography
-
Chapter 8: Audio Filter Designs: FIR Filters
- 8.1 The IR Revisited: Convolution
- 8.2 Using RackAFX’s Impulse Convolver
- 8.3 Using RackAFX’s FIR Designer
- 8.4 The Frequency Sampling Method
- 8.5 Complementary Filter Design for Linear Phase FIR Filters
- 8.6 Using RackAFX’s Frequency Sampling Method Tool
- 8.7 Designing a Complementary Filter
- 8.8 The Optimal (Parks-McClellan) Method
- 8.9 Using RackAFX’s Optimal Method Tool
- 8.10 Design a Convolution Plug-In
- 8.11 Numerical Method FIR Filters
- Bibliography
-
Chapter 9: Oscillators
- 9.1 Direct Form Oscillator
- 9.2 Design a Direct Form Oscillator Plug-In
- 9.3 The Gordon-Smith Oscillator
- 9.4 Wave Table Oscillators
- 9.5 Design a Wave Table Oscillator Plug-In
- 9.6 Adding More Wave Tables
- 9.7 Band-Limited Additive Wave Tables
- 9.8 Additional Oscillator Features (LFO)
- 9.9 Bipolar/Unipolar Functionality
- Bibliography
- Chapter 10: Modulated Delay Effects
-
Chapter 11: Reverb Algorithms
- 11.1 Anatomy of a Room Impulse Response
- 11.2 Echoes and Modes
- 11.3 The Comb Filter Reverberator
- 11.4 The Delaying All-Pass Filter Reverberator
- 11.5 More Delaying All-Pass Filter Reverberators
- 11.6 Schroeder’s Reverberator
- 11.7 The Low-Pass Filter–Comb Reverberator
- 11.8 Moorer’s Reverberator
- 11.9 Stereo Reverberation
- 11.10 Gardner’s Nested APF Reverberators
- 11.11 Modulated APF and Comb/APF Reverb
- 11.12 Dattorro’s Plate Reverb
- 11.13 Generalized Feedback Delay Network Reverbs
- 11.14 Other FDN Reverbs
- 11.15 An Example Room Reverb
- 11.16 RackAFX Stock Objects
- 11.17 Design the Room Reverb
- 11.18 Challenge
- Bibliography
- References
-
Chapter 12: Modulated Filter Effects
- 12.1 Design a Mod Filter Plug-In: Part I Modulated fc
- 12.2 Design a Mod Filter Plug-In: Part II, Modulated fc, Q
- 12.3 Design a Mod Filter Plug-In: Part III, Quad-Phase LFOs
- 12.4 Design an Envelope Follower Plug-In
- 12.5 Envelope Detection
- 12.6 Design a Phaser Plug-In
- 12.7 Design a Stereo Phaser with Quad-Phase LFOs
- Bibliography
- References
- Chapter 13: Dynamics Processing
- Chapter 14: Miscellaneous Plug-Ins
- Appendix A: The VST® and AU® Plug-In APIs
- Appendix B: More RackAFX Controls and GUI Designer
- Index
Product information
- Title: Designing Audio Effect Plug-Ins in C++
- Author(s):
- Release date: November 2012
- Publisher(s): Focal Press
- ISBN: 9781136699764
You might also like
book
Designing Audio Effect Plugins in C++, 2nd Edition
Designing Audio Effect Plugins in C++ presents everything you need to know about digital signal processing …
book
Designing Software Synthesizer Plug-Ins in C++
Bridging the gap from theory to programming, Designing Software Synthesizer Plug-Ins in C++ For RackAFX, VST3 …
book
Designing Software Synthesizer Plugins in C++, 2nd Edition
Designing Software Synthesizer Plugins in C++ provides everything you need to know to start designing and …
book
Optimized C++
In today’s fast and competitive world, a program’s performance is just as important to customers as …