Digital Signal Processing (DSP) is a branch of engineering that is at the core of the digital media revolution of the past four decades, bringing us advances in audio-visual protocols (the MP3, video compression-decompression schemes, on-demand Internet streaming), sound processing techniques (real-time computer music performance, spectral audio signal analysis and re-synthesis, Music Information Retrieval), and ultimately a redefinition of how the world creates and consumes audio-visual art.
This course will provide a foundation of DSP theory, covering the time domain and the frequency domain (and their representations), discrete time signals, convolution, Finite Impulse Response (FIR) and Infinite Impulse Response (IIR) filter design, the z-Transform, Linear Time-Invariant (LTI) systems and non-linear systems, and the Discrete Fourier Transform (DFT), Fast Fourier Transform (FFT), and Short-Term Fourier Transform (STFT). Take-home exercises will be done with pen-and-paper and/or Matlab (a programming language often used in DSP computing).
Unlike other DSP courses housed in a science department, this course will then switch to an applied, creation-centric mode, wherein a sequence of projects will help students define and build a personal set of DSP skills and tools that directly engage their own creative work, extending or deepening other projects undertaken for TIMARA classes or within their own techno-artistic praxis. These projects will make use of the Max programming language (and in particular Max’s [gen~] environment), Python and/or Matlab audio programming libraries, the JUCE application framework (for building audio processing plug-ins), and other applicable tools.