Phase Vocoder Part 2
The meaning of the frequency domain representation of a signal
This lecture continues a series on block-based processing, and is the second of three lectures on the phase vocoder, a powerful tool for manipulating audio in the frequency domain. This lecture explores the meaning of the frequency domain representation of a signal, including how to precisely estimate the frequency of a sinusoid based on the phase changes of successive FFT bins.
Table of contents
- What you’ll learn in this lecture
- What you’ll make in this lecture
- Code examples
- Recommended parts
- Additional references
Lecture 19: Phase Vocoder Part 2
What you’ll learn in this lecture
- Working in the frequency domain
- Frequency detection from phase
- Choosing FFT and hop sizes
- Choosing and implementing window functions
What you’ll make in this lecture
- An FFT-based frequency detector
fft-sine: This project synthesises a sine wave and takes regular FFTs of it, visualising the output in the Bela GUI. Over the lecture, you will extend it to add frequency estimation and a window function.
No external components are required for this lecture.
- A very helpful tutorial on the phase vocoder is Pitch Shifting Using the Fourier Transform by Stephan M. Bernsee. The approach to frequency detection in this lecture is based in part on this resource.
- Table of window function details from VR University
Additionally, 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)