Phase Vocoder Part 1
Manipulating audio in the frequency domain
This lecture continues a series on block-based processing, and is the first of three lectures on the phase vocoder, a powerful tool for manipulating audio in the frequency domain. This lecture covers the overlap-add technique, a common approach to dividing a signal into blocks, manipulating it in the frequency domain, then reconstructing it.
This lecture also introduces multi-threaded audio processing, showing how to move time-consuming calculations into a lower priority real-time thread.
Table of contents
- What you’ll learn in this lecture
- What you’ll make in this lecture
- Code examples
- Recommended parts
- Additional references
Lecture 18: Phase Vocoder Part 1
What you’ll learn in this lecture
- Segmenting a real-time signal into windows
- Working with overlapping windows (overlap-add)
- Multi-threaded audio processing
What you’ll make in this lecture
- A phase vocoder framework with simple effects
fft-overlap-add: This code provides a template for implementing the overlap-add block-based processing technique, with an optional simple example of a robotisation effect.
fft-overlap-add-threads: This example extends
fft-overlap-add to move the FFT calculation to a lower-priority thread to allow glitch-free execution with small real-time audio buffer sizes.
Running the examples in this course assumes that you have a Bela Starter Kit or Bela Mini Starter Kit.
No external components are required for this lecture.
Here are some textbooks and other resources related to the Fast Fourier Transform and spectral audio processing:
- Alan V. Oppenheim and Ronald W. Shafer, Discrete-Time Signal Processing, 3rd edition. Publisher link. See also the same class on MIT OpenCourseware.
- Julius O. Smith, Mathematics of the Discrete Fourier Transform (DFT) (free online textbook).
- Julius O. Smith, Spectral Audio Signal Processing (free online textbook).
- Joshua D. Reiss and Andrew McPherson, Audio Effects: Theory, Implementation and Application. Publisher link.
- Richard Boulanger and Victor Lazzarini, editors, The Audio Programming Book. Publisher link
- A visual introduction to the Fourier transform on YouTube from 3Blue1Brown
- Divide and Conquer: the FFT algorithm on YouTube from MIT OpenCourseWare (a mathematical explainer)