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
Date
Lectures (click for notes)Readings/LinksAssignments/Deliverables

Unit 1: Time Domain Audio Processing

1Wed 1/20/2021Course Sneak Preview, Digital Audio RepresentationsPre-Class Module 0 Due
2Fri 1/22/2021Python/Numpy Basics, Slicing/Reversing Audio, Sinusoids/PitchModule 1: Digital Audio Waveforms, Python Basics Due
3Mon 1/25/2021Square Waves, Triangle Waves, Sawtooth Waves, Noise, Beat FrequenciesModule 2: Sinusoids And Simple Numpy Tunes Due Before Class
Tue 1/26/2021Assignment 1: Risset Beats Out
4Wed 1/27/2021Octaves, Harmonicity, Circle of Fifths / Pythagorean TuningModule 3: Standing Waves And Plucked String Synthesis Due Before Class
5Fri 1/29/2021Finish Pythagorean Tuning, Chirps, Vibrato, Frequency Sonification
6Mon 2/1/2021Zero Crossings, Consonant/Vowel Filtering, Dynamics, Intensity, LoudnessModule 4: Chirps, Instantaneous Frequency, Vibrato, Sonification due before class
7Wed 2/3/2021HW1: Risset Beats Q&A, Work Day
8Fri 2/5/2021Timbre, FM Synthesis, ADSRModule 5: Zero Crossings Filtering, Loudness And Intensity / Dynamics due before class
Assignment 1 Due
9Mon 2/8/2021Echoes / Impulse Responses / ConvolutionModule 6: Timbre, FM Synthesis, Python Methods As Parameters due before class
Tue 2/9/2021Assignment 2: Digital Instruments Out
10Wed 2/10/2021Comb FiltersModule 7: Echoes, Impulse Responses, And Convolution due before class

Unit 2: Frequency Domain Audio Processing

11Fri 2/12/2021Discovering The Discrete Fourier Transform (DFT)Module 8: Discovering The Fourier Transform due before class
12Mon 2/15/2021Real-Valued DFT Definition, Amplitude/Phase ShiftsModule 8b: Implement The Discrete Fourier Transform due before class
13Wed 2/17/2021Exploring The DFT on Audio Data: Pitch And TimbreModule 9: The Real Discrete Fourier Transform (DFT), Amplitude/Phase due before class
14Fri 2/19/2021The Short-Time Fourier Transform (STFT), SpectrogramsModule 10: DFT on Real Audio, DFT on Sawtooth/Square Waves, Fundamental DFT Properties due before class
Sun 2/21/2021Assignment 2 Due
15Mon 2/22/2021Complex Numbers Review, Euler's Formula, Complex Definition of DFT And Phase
16Wed 2/24/2021Vocoder Concept, PhasorsModule 11: STFT, Window Functions, Complex Numbers due before class
17Fri 2/26/2021Phasor Mirroring, Aliasing, Inverse DFTModule 12: Complex DFT And Phasors due before class
Assignment 3: Vocoders And Phase Retrieval Out
18Mon 3/1/2021Convolution/multiplication dualityModule 13: Aliasing, Inverse DFT due before class
--Wed 3/3/2021Break DayNo CS 472 Class. Enjoy the break!
19Fri 3/5/2021The Z-Transform, Lowpass Filters / Highpass Filters, frequency analysis of comb filtersModule 14: Convolution And Multiplication Duality due before class

Unit 3: Fundamental Audio Features

20Mon 3/8/2021Rhythm, Beats, And Audio novelty functionsModule 15: Z Transform due before class
21Wed 3/10/2021Audio novelty functions And AutocorrelationAssignment 3 Due
22Fri 3/12/2021Matrix Multiplication, Mel SpacingModule 16: Audio Novelty Functions, Tempo Estimation, Matrix Multiplication due before class
23Mon 3/15/2021MFCC Features, Inverting MFCC
24Wed 3/17/2021Cross-Similarity Matrices, Dynamic Time WarpingAssignment 3b: Convolution Competition Due
25Fri 3/19/2021Dynamic Time Warping ContinuedModule 17: Cross-Similarity, Warping Paths, Dynamic Time Warping due before class
Assignment 4: Rhythm Analysis Out
26Mon 3/22/2021Chroma Features, Shepard Tones
27Wed 3/24/2021Artist Identification

Unit 4: Content-Based Musical Audio Retrieval

28Fri 3/26/2021Hashing And Python Dictionaries
29Mon 3/29/2021Audio Fingerprints / The Shazam Algorithm
--Wed 3/31/2021Break DayNo CS 472 Class. Enjoy the break!
30Fri 4/2/2021Audio Fingerprints / The Shazam AlgorithmAssignment 4 Parts 1 And 2 Due
31Mon 4/5/2021Catchup / Work Session
32Wed 4/7/2021Cover Song Identification, aka Version Identification
33Fri 4/9/2021Evaluation Metrics for Version IdentificationAssignment 4 Part 3 Due
34Mon 4/12/2021Transposition Invariant Features
35Wed 4/14/2021Catchup Day
36Fri 4/16/2021QMaxAssignment 5: Audio Version Identification Out
37Mon 4/19/2021Version Identification: Beyond The Notes
38Wed 4/21/2021Intermezzo: Autotuners

Unit 5: Source Separation And Musaicing

39Fri 4/23/2021Harmonic-Percussive Source Separation
40Mon 4/26/2021Matrix Multiplication for Audio Activations
41Wed 4/28/2021Source Separation via Nonnegative matrix factorizationModule 18: Matrix Multiplication for Audio Activations due before class
Thu 4/29/2021Assignment 5 Due
Thu 4/29/2021Assignment 6: Let It Bee Out
--Fri 4/30/2021Designated Tuesday ClassNo CS 472 Class
42Mon 5/3/2021Convolutive NMF, Score Generation
Thu 5/13/2021Assignment 6 Due