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

  1. What you’ll learn in this lecture
  2. What you’ll make in this lecture
  3. Code examples
  4. Recommended parts
  5. 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

Code examples

Find the code examples here

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.

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.

Additional references

Additionally, here are some textbooks and other resources related to the Fast Fourier Transform and spectral audio processing: