Processing audio via transforming the audio into the "frequency domain" and back is now ubiquitous. This may be done via the FFT, or the DCT, or other transforms. Lots of people are using these techniques, because they are efficient and can be easily implemented on computers.
But not everything works as one might think. Especially if there is gain change or gain change in the transform domain.
This tutorial will look at this method of processing in some detail. In particular:
The Good: What are the advantages of doing the processing in the "frequency domain?" What things can we do that are easier, faster, or made possible by doing this?
The Bad: What difficulties and problems does the conversion to and from the "frequency domain" give us and how can we solve them?
The Ugly: What intractable problems and distortions can we introduce into the processing that ultimately limit our audio quality if we are not careful about what we do?
The purpose of this tutorial is to introduce the concepts behind the transform processing of audio signals and show how, with care, they can be a powerful tool for high quality processing. It will cover topics from a basic to intermediate level. Topics covered will include the convolution theorem, windowing, the effect of computation in the frequency domain on the time domain and vica versa, the concept of spectral leakage, and of temporal aliasing. Methods of stitching the transformed blocks of data back into a continuous audio stream via the overlap-add and the overlap-save algorithms will be described. Finally some of the pitfalls that can happen in such processing will be described with proposals for their amelioration, where possible.
The tutorial will contain both visual and auditory demonstrations of the effects and should be suitable for all abilities.