Schedule
Outlined below is the schedule for the course, including lecture topics and assignment due dates. All assignments are due at 11:59PM on the date specified. The specific dates of different topics are subject to change based on the pace at which we go through the course.
There is no textbook for this course, so most of the learning will occur via pre-class modules. I will sometimes also add external links to other resources for you to study or check out.
Lecture | Lectures (click for notes) | Readings/Links | Assignments/Deliverables | |
Unit 1: Time Domain Audio Processing | ||||
1 | Wed 1/20/2021 | Course Sneak Preview, Digital Audio Representations | Pre-Class Module 0 Due | |
2 | Fri 1/22/2021 | Python/Numpy Basics, Slicing/Reversing Audio, Sinusoids/Pitch |
| Module 1: Digital Audio Waveforms, Python Basics Due |
3 | Mon 1/25/2021 | Square Waves, Triangle Waves, Sawtooth Waves, Noise, Beat Frequencies | Module 2: Sinusoids And Simple Numpy Tunes Due Before Class | |
Tue 1/26/2021 | Assignment 1: Risset Beats Out | |||
4 | Wed 1/27/2021 | Octaves, Harmonicity, Circle of Fifths / Pythagorean Tuning | Module 3: Standing Waves And Plucked String Synthesis Due Before Class | |
5 | Fri 1/29/2021 | Finish Pythagorean Tuning, Chirps, Vibrato, Frequency Sonification | ||
6 | Mon 2/1/2021 | Zero Crossings, Consonant/Vowel Filtering, Dynamics, Intensity, Loudness | Module 4: Chirps, Instantaneous Frequency, Vibrato, Sonification due before class | |
7 | Wed 2/3/2021 | HW1: Risset Beats Q&A, Work Day | ||
8 | Fri 2/5/2021 | Timbre, FM Synthesis, ADSR | Module 5: Zero Crossings Filtering, Loudness And Intensity / Dynamics due before class Assignment 1 Due | |
9 | Mon 2/8/2021 | Echoes / Impulse Responses / Convolution | Module 6: Timbre, FM Synthesis, Python Methods As Parameters due before class | |
Tue 2/9/2021 | Assignment 2: Digital Instruments Out | |||
10 | Wed 2/10/2021 | Comb Filters | Module 7: Echoes, Impulse Responses, And Convolution due before class | |
Unit 2: Frequency Domain Audio Processing | ||||
11 | Fri 2/12/2021 | Discovering The Discrete Fourier Transform (DFT) | Module 8: Discovering The Fourier Transform due before class | |
12 | Mon 2/15/2021 | Real-Valued DFT Definition, Amplitude/Phase Shifts | Module 8b: Implement The Discrete Fourier Transform due before class | |
13 | Wed 2/17/2021 | Exploring The DFT on Audio Data: Pitch And Timbre | Module 9: The Real Discrete Fourier Transform (DFT), Amplitude/Phase due before class | |
14 | Fri 2/19/2021 | The Short-Time Fourier Transform (STFT), Spectrograms | Module 10: DFT on Real Audio, DFT on Sawtooth/Square Waves, Fundamental DFT Properties due before class | |
Sun 2/21/2021 | Assignment 2 Due | |||
15 | Mon 2/22/2021 | Complex Numbers Review, Euler's Formula, Complex Definition of DFT And Phase | ||
16 | Wed 2/24/2021 | Vocoder Concept, Phasors | Module 11: STFT, Window Functions, Complex Numbers due before class | |
17 | Fri 2/26/2021 | Phasor Mirroring, Aliasing, Inverse DFT | Module 12: Complex DFT And Phasors due before class
Assignment 3: Vocoders And Phase Retrieval Out | |
18 | Mon 3/1/2021 | Convolution/multiplication duality | Module 13: Aliasing, Inverse DFT due before class | |
-- | Wed 3/3/2021 | Break Day | No CS 472 Class. Enjoy the break! | |
19 | Fri 3/5/2021 | The Z-Transform, Lowpass Filters / Highpass Filters, frequency analysis of comb filters | Module 14: Convolution And Multiplication Duality due before class | |
Unit 3: Fundamental Audio Features | ||||
20 | Mon 3/8/2021 | Rhythm, Beats, And Audio novelty functions | Module 15: Z Transform due before class | |
21 | Wed 3/10/2021 | Audio novelty functions And Autocorrelation | Assignment 3 Due | |
22 | Fri 3/12/2021 | Matrix Multiplication, Mel Spacing | Module 16: Audio Novelty Functions, Tempo Estimation, Matrix Multiplication due before class | |
23 | Mon 3/15/2021 | MFCC Features, Inverting MFCC | ||
24 | Wed 3/17/2021 | Cross-Similarity Matrices, Dynamic Time Warping | Assignment 3b: Convolution Competition Due | |
25 | Fri 3/19/2021 | Dynamic Time Warping Continued | Module 17: Cross-Similarity, Warping Paths, Dynamic Time Warping due before class
Assignment 4: Rhythm Analysis Out | |
26 | Mon 3/22/2021 | Chroma Features, Shepard Tones | ||
27 | Wed 3/24/2021 | Artist Identification | ||
Unit 4: Content-Based Musical Audio Retrieval | ||||
28 | Fri 3/26/2021 | Hashing And Python Dictionaries | ||
29 | Mon 3/29/2021 | Audio Fingerprints / The Shazam Algorithm | ||
-- | Wed 3/31/2021 | Break Day | No CS 472 Class. Enjoy the break! | |
30 | Fri 4/2/2021 | Audio Fingerprints / The Shazam Algorithm | Assignment 4 Parts 1 And 2 Due | |
31 | Mon 4/5/2021 | Catchup / Work Session | ||
32 | Wed 4/7/2021 | Cover Song Identification, aka Version Identification |
| |
33 | Fri 4/9/2021 | Evaluation Metrics for Version Identification | Assignment 4 Part 3 Due | |
34 | Mon 4/12/2021 | Transposition Invariant Features | ||
35 | Wed 4/14/2021 | Catchup Day | ||
36 | Fri 4/16/2021 | QMax | Assignment 5: Audio Version Identification Out | |
37 | Mon 4/19/2021 | Version Identification: Beyond The Notes | ||
38 | Wed 4/21/2021 | Intermezzo: Autotuners | ||
Unit 5: Source Separation And Musaicing | ||||
39 | Fri 4/23/2021 | Harmonic-Percussive Source Separation | ||
40 | Mon 4/26/2021 | Matrix Multiplication for Audio Activations | ||
41 | Wed 4/28/2021 | Source Separation via Nonnegative matrix factorization | Module 18: Matrix Multiplication for Audio Activations due before class | |
Thu 4/29/2021 | Assignment 5 Due | |||
Thu 4/29/2021 | Assignment 6: Let It Bee Out | |||
-- | Fri 4/30/2021 | Designated Tuesday Class | No CS 472 Class | |
42 | Mon 5/3/2021 | Convolutive NMF, Score Generation | ||
Thu 5/13/2021 | Assignment 6 Due |