SPECTRAL AUDIO SIGNAL PROCESSING
JULIUS O. SMITH III
Center for Computer Research in Music
and Acoustics (CCRMA)
- Preface
- Introduction and Overview
- Fourier Transforms and Theorems
- Discrete Time Fourier Transform
- Fourier Transform (FT) and Inverse
- Fourier Theorems for the DTFT
- Continuous-Time Fourier Theorems
- Spectral Interpolation
- Spectrum Analysis Windows
- The Rectangular Window
- Generalized Hamming Window Family
- Blackman-Harris Window Family
- Spectrum Analysis of an Oboe Tone
- Bartlett (``Triangular'') Window
- Poisson Window
- Hann-Poisson Window
- Slepian or DPSS Window
- Kaiser Window
- Dolph-Chebyshev Window
- Gaussian Window and Transform
- Optimized Windows
- Optimal Window Design by linprog
- Linear Programming (LP)
- LP Formulation of Chebyshev Window Design
- Symmetric Window Constraint
- Positive Window-Sample Constraint
- DC Constraint
- Sidelobe Specification
- LP Standard Form
- Remez Exchange Algorithm
- Monotonicity Constraint
- L-Infinity Norm of Derivative Objective
- L-One Norm of Derivative Objective
- Summary
- FIR Digital Filter Design
- The Ideal Lowpass Filter
- Lowpass Filter Design Specifications
- Least-Squares FIR Filter Design
- Frequency-Sampling FIR Filter Design
- Window Method for FIR Filter Design
- Hilbert Transform Design Example
- Generalized Window Method
- Minimum-Phase Filter Design
- Minimum-Phase and Causal Cepstra
- Optimal FIR Digital Filter Design
- Spectrum Analysis of Sinusoids
- Spectrum of a Sinusoid
- Spectrum of Sampled Complex Sinusoid
- Spectrum of a Windowed Sinusoid
- Effect of Windowing
- Resolving Sinusoids
- Sinusoidal Peak Interpolation
- Optimal Peak-Finding in the Spectrum
- Spectrum Analysis of Noise
- Introduction to Noise
- Spectral Characteristics of Noise
- White Noise
- Sample Autocorrelation
- Sample Power Spectral Density
- Biased Sample Autocorrelation
- Smoothed Power Spectral Density
- Cyclic Autocorrelation
- Practical Bottom Line
- Why an Impulse is Not White Noise
- The Periodogram
- Welch's Method
- Welch's Method with Windows
- Filtered White Noise
- Processing Gain
- The Panning Problem
- Time-Frequency Displays
- Overlap-Add STFT Processing
- Convolution of Short Signals
- Convolving with Long Signals
- Dual of Constant Overlap-Add
- Overlap-Save Method
- Time Varying OLA Modifications
- Weighted Overlap Add
- Review of Zero Padding
- Filter Bank View of the STFT
- Dual Views of the STFT
- STFT Filter Bank
- The DFT Filter Bank
- FBS Window Constraints for R=1
- Nyquist(N) Windows
- Duality of COLA and Nyquist Conditions
- Portnoff Windows
- Downsampled STFT Filter Banks
- STFT with Modifications
- STFT Summary and Conclusions
- Applications of the STFT
- Estimation from Spectral Peaks
- Cross-Synthesis
- Spectral Envelope Extraction
- Spectral Modeling Synthesis
- Time Scale Modification
- Gaussian Windowed Chirps (Chirplets)
- FFT Filter Banks
- Audio Filter Banks
- Basic Idea
- Summing STFT Bins
- Inverse Transforming STFT Bin Groups
- Improving the Channel Filters
- Fast Octave Filter Banks
- Spectral Rotation of Real Signals
- Improving the Octave Band Filters
- Aliasing on Downsampling
- Restricting Aliasing to Stop-Bands
- Real Filter Bank Example
- Optimal Band Filters
- FFT Filter-Bank Summary and Fourier Duality with OLA
- Pointers to Sound Examples
- Multirate Filter Banks
- Upsampling and Downsampling
- Polyphase Decomposition
- Critically Sampled PR Filter Banks
- Perfect Reconstruction Filter Banks
- Simple Examples of Perfect Reconstruction
- Sliding Polyphase Filter Bank
- Hopping Polyphase Filter Bank
- Sufficient Condition for Perfect Reconstruction (PR)
- Necessary and Sufficient Conditions for PR
- Polyphase View of the STFT
- Polyphase View of the Overlap-Add STFT
- Polyphase View of the Weighted-Overlap-Add STFT
- Paraunitary Filter Banks
- Filter Banks Equivalent to STFTs
- MPEG Filter Banks
- Review of STFT Filterbanks
- Wavelet Filter Banks
- Further Reading
- Conclusions
- Summary and Conclusions
- Notation
- Continuous Fourier Theorems
- Radians versus Cycles
- Differentiation Theorem
- Differentiation Theorem Dual
- Scaling Theorem
- Shift Theorem
- Modulation Theorem (Shift Theorem Dual)
- Convolution Theorem
- Flip Theorems
- Power Theorem
- The Continuous-Time Impulse
- Gaussian Pulse
- Rectangular Pulse
- Sinc Impulse
- Impulse Trains
- Poisson Summation Formula
- Sampling Theory
- The Uncertainty Principle
- Relation of Smoothness to Roll-Off Rate
- Statistical Signal Processing
- Gaussian Function Properties
- Gaussian Window and Transform
- Gaussians Closed under Multiplication
- Gaussians Closed under Convolution
- Fitting a Gaussian to Data
- Infinite Flatness at Infinity
- Integral of a Complex Gaussian
- Gaussian Integral with Complex Offset
- Fourier Transform of Complex Gaussian
- Why Gaussian?
- Gaussian Probability Density Function
- Maximum Entropy Property
- Gaussian Moments
- Sums of Gaussian Random Variables
- Bilinear Audio Frequency Warping
- The Bark Frequency Scale
- The Bilinear Transform
- Optimal Bilinear Bark Warping
- Application to Audio Filter Design
- Equivalent Rectangular Bandwidth
- Directions for Improvements
- Summary
- Examples in Matlab and Octave
- Matlab for Spectrum Analysis Windows
- Interpolating Spectral Peaks
- Matlab for Computing Spectrograms
- Matlab for Unwrapping Spectral Phase
- Non-Parametric Frequency Warping
- Fundamental Frequency Estimation
- Spectral Audio Modeling History
- Daniel Bernoulli's Modal Decomposition
- The Telharmonium
- Early Additive Synthesis in Film Making
- The Hammond Organ
- Dudley's Channel Vocoder
- Voder
- Phase Vocoder
- Additive Synthesis
- Frequency Modulation (FM) Synthesis
- Phase Vocoder Sinusoidal Modeling
- Spectral Modeling Synthesis
- Perceptual audio coding
- Future Prospects
- Summary
- The PARSHL Program
- Choice of Hop Size
- Filling the FFT Input Buffer (Step 2)
- Peak Detection (Steps 3 and 4)
- Peak Matching (Step 5)
- Parameter Modifications (Step 6)
- Synthesis (Step 7)
- Magnitude-only Analysis/Synthesis
- Preprocessing
- Applications
- Conclusions
- Acknowledgments
- Software Listing
- Bibliography
- Index for this Document
- About this document ...