"Audio Effects: Theory, Implementation and Application explores digital audio effects relevant to audio signal processing and music informatics. It supplies fundamental background information on digital signal processing, focusing on audio-specific aspects that constitute the building block on which audio effects are developed. The text integrates theory and practice, relating technical implementation to musical implications. It can be used to gain an understanding of the operation of existing audio effects or to create new ones. In addition to delivering detailed coverage of common (and unusual) audio effects, the book discusses current digital audio standards, most notably VST and AudioUnit. Source code is provided in C/C++ and implemented as audio effect plug-ins with accompanying sound samples. Each section of the book includes study questions, anecdotes from the history of music technology, and examples that offer valuable real-world insight, making this an ideal resource for researchers and for students moving directly into industry"-- Read more...
Abstract: "Audio Effects: Theory, Implementation and Application explores digital audio effects relevant to audio signal processing and music informatics. It supplies fundamental background information on digital signal processing, focusing on audio-specific aspects that constitute the building block on which audio effects are developed. The text integrates theory and practice, relating technical implementation to musical implications. It can be used to gain an understanding of the operation of existing audio effects or to create new ones. In addition to delivering detailed coverage of common (and unusual) audio effects, the book discusses current digital audio standards, most notably VST and AudioUnit. Source code is provided in C/C++ and implemented as audio effect plug-ins with accompanying sound samples. Each section of the book includes study questions, anecdotes from the history of music technology, and examples that offer valuable real-world insight, making this an ideal resource for researchers and for students moving directly into industry"
Content: Preface About the Authors Aim and Scope of Book Introduction and Fundamentals Understanding Sound and Digital Audio Working with Decibels Level Measurements Representing and Understanding Digital Signals Representing Complex Numbers Frequency and Time-Frequency Representations Aliasing Modifying and Processing Digital Signals The Z Transform and Filter Representation Digital Filter Example Nonlinear and Time-Varying Effects Delay Line Effects Delay Theory Basic Delay Delay with Feedback Other Delay Types Slapback Delay Multitap Delay Ping-Pong Delay Implementation Basic Delay Variations Delay Line Interpolation Code Example Applications Vibrato Simulation Theory Interpolation Implementation Low-Frequency Oscillator Parameters Code Example Applications Flanging Theory Principle of Operation Basic Flanger Low-Frequency Oscillator Flanger with Feedback Stereo Flanging Properties Common Parameters Depth (or Mix) Delay and Sweep Width Speed and Waveform Feedback (or Regeneration) Inverted Mode (or Phase) Implementation Buffer Allocation Interpolation Code Example Applications Resonant Pitches Avoiding Disappearing Instruments Flanging versus Chorus Chorus Theory Basic Chorus Low-Frequency Oscillator Pitch-Shifting in the Chorus Multivoice Chorus Stereo Chorus Properties Common Parameters Depth (or Mix) Delay and Sweep Width Speed and Waveform Number of Voices Other Variations Summary: Flanger and Chorus Compared Filter Design Filter Construction and Transformation Simple, Prototype Low-Pass Filter High-Order Prototype Low-Pass Filter Changing the Gain at the Cutoff Frequency Shifting the Cutoff Frequency Creating a Shelving Filter Inverting the Magnitude Response Simple Low-Pass to Band Pass Transformation Popular IIR Filter Design Low Pass High Pass Low Shelf High Shelf Gain at Bandwidth Band Pass Filters Band Stop Filters Peaking and Notch Filters The Allpass Filter Applications of Filter Fundamentals Exponential Moving Average Filter Loudspeaker Crossovers Filter Effects Equalization Theory Two-Knob Tone Controls Three-Knob Tone Controls Presence Control Loudness Control Graphic Equalizers Bands in a Graphic Equalizer Parametric Equalizers Summary Implementation General Notes Tone Control Architecture Calculating Filter Coefficients Presence and Loudness Architecture Graphic Equalizer Architecture Parametric Equalizer Architecture Code Example Applications Graphic Equalizer Application Parametric Equalizer Application Wah-Wah Theory Basis in Speech Basic Wah-Wah Auto-Wah Tremolo-Wah Other Variations Implementation Filter Design Low-Frequency Oscillator Envelope Follower Analog Emulation Phaser Theory Basic Phaser Low-Frequency Oscillator Phaser with Feedback Stereo Phaser Implementation Allpass Filter Calculation Alternate Implementation LFO Waveform Analog and Digital Implementations Common Parameters Code Example Amplitude Modulation Tremolo Theory Low-Frequency Oscillator Properties Implementation Audio Rate and Control Rate Code Example Ring Modulation Theory Modulation in the Frequency Domain Perception w-Frequency Oscillator Variations Implementation Code Example Applications Dynamics Processing Dynamic Range Compression Theory Compressor Controls Signal Paths The Gain Stage The Gain Computer Level Detection RMS Detector Peak Detector Level-Corrected Peak Detectors Implementation Feedback and Feedforward Design An Alternate Digital Feedback Compressor Detector Placement Code Example Application Artifacts Summary Noise Gates and Expanders Theory and Implementation Applications Overdrive, Distortion, and Fuzz Theory Characteristic Curve Hard and Soft Clipping Input Gain Symmetry and Rectification Harmonic Distortion Intermodulation Distortion Analog Emulation Implementation Basic Implementation Aliasing and Oversampling Filtering Common Parameters Tube Sound Distortion Code Example Applications Expressivity and Spectral Content Sustain Comparison with Compression The Phase Vocoder Phase Vocoder Theory Overview Windowing Analysis: Fast Fourier Transform Interpreting Frequency Domain Data Target Phase, Phase Deviation, and Instantaneous Frequency Synthesis: Inverse Fast Fourier Transform Overlap-Add Filterbank Analysis Variant Oscillator Bank Reconstruction Variant Phase Vocoder Effects Robotization Robotization Code Example Whisperization Whisperization Code Example Time Scaling Time-Scaling Resynthesis Pitch Shifting Code Example Phase Vocoder Artifacts Spatial Audio Theory Panorama Precedence Vector Base Amplitude Panning Ambisonics Wave Field Synthesis The Head-Related Transfer Function ITD Model ILD Model Implementation Joint Panorama and Precedence Ambisonics and Its Relationship to VBAP Implementation of WFS HRTF Calculation Applications Transparent Amplification Surround Sound Sound Reproduction Using HRTFs The Doppler Effect A Familiar Example Derivation of the Doppler Effect Simple Derivation of the Basic Doppler Effect General Derivation of the Doppler Effect Simplifications and Approximations Implementation Time-Varying Delay Line Reads Multiple Write Pointers Code Example Applications Reverberation Theory Sabine and Norris-Eyring Equations Direct and Reverberant Sound Fields Implementation Algorithmic Reverb Schroeder's Reverberator Moorer's Reverberator Generating Reverberation with the Image Source Method Background The Image Source Model Modeling Reflections as Virtual Sources Locating the Virtual Sources The Impulse Response for a Virtual Source Convolutional Reverb Convolution and Fast Convolution Block-Based Convolution Physical Meaning Other Approaches Applications Why Use Reverb? Stereo Reverb Gated Reverb Reverse Reverb Common Parameters Audio Production The Mixing Console The Channel Section The Master Section Metering and Monitoring Basic Mixing Console Signal Flow and Routing Inserts for Processors, Auxiliary Sends for Effects Subgroup and Grouping Digital versus Analog Latency Digital User Interface Design Sound Quality Do You Need to Decide? Software Mixers Digital Audio Workstations Common Functionality of Computer-Based DAWs MIDI and Sequencers Audio Effect Ordering Noise Gates Compressors and Noise Gates Compression and EQ Reverb and Flanger Reverb and Vibrato Delay Line Effects Distortion Order Summary Combinations of Audio Effects Parallel Effects and Parallel Compression Sidechaining Ducking De-Esser Sidechain Compression for Mastering Multiband Compression Dynamic Equalization Combining LFOs with Other Effects Discussion Building Audio Effect Plug-Ins Plug-In Basics Programming Language Plug-In Properties The JUCE Framework Theory of Operation Callback Function Managing Parameters Initialization and Cleanup Preserving State Example: Building a Delay Effect in JUCE Required Software Creating a New Plug-In in JUCE Opening Example Plug-Ins File Overview PluginProcessor.h Declaration and Methods Variables PluginProcessor.cpp Audio Callback Initialization Managing Parameters Cleanup PluginEditor.h PluginEditor.cpp Initialization Managing Parameters Resizing Cleanup Summary Advanced Topics Efficiency Considerations Thread Safety Conclusion References Index