E-Book, Englisch, 367 Seiten
Reiss / McPherson Audio Effects
1. Auflage 2014
ISBN: 978-1-4665-6029-1
Verlag: Taylor & Francis
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)
Theory, Implementation and Application
E-Book, Englisch, 367 Seiten
ISBN: 978-1-4665-6029-1
Verlag: Taylor & Francis
Format: PDF
Kopierschutz: Adobe DRM (»Systemvoraussetzungen)
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.
Zielgruppe
Undergraduate- and graduate-level students, as well as audio and music technology researchers.
Autoren/Hrsg.
Weitere Infos & Material
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