Fall, 2021
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Class |
Topic and/or Event |
Readings/Viewings |
Lecture Slides & Code Examples |
Homeworks, Tests & Optional |
||
0 (W 9/8) |
Overview of course policies; meet and greet; presentation of schedule of topics with examples. |
Video recording of first class
|
Representative survey of Audio Processing: |
|||
1 (M 9/13) |
Overview of physical properties of sound waves: frequency, amplitude, phase, intensity, loudness. Measuring loudness: logarithmic scales and decibels. Basics of digital signals and sampling; quantization error, aliasing, and choice of bit depth and sample rate; dynamic range; the Nyquist Theorem. |
Introductory reading on waves and digital signals: PDF Read sections 4.1 - 4.5 thoroughly. Sorry for the bad job with the copying! Tutorial (with animations) of sound waves: http://www.acs.psu.edu/drussell/demos.html Look at these animations:
|
Lecture One: PDF |
Fun video by Vi Hart on basics of sound: HTML Cool video of visualizing sound waves: HTML Useful summary of loudness and amplitude issues (and stereo panning): HTML Slides from talk surveying amplitude/intensity of sound waves (a bit too much detail for us, but here if you are interested): PDF
|
||
2 (W 9/15) | Sinusoids created from sum of pure sine waves; time domain vs frequency domain representations. Introduction to musical acoustics: How do guitar strings vibrate? Basics of musical signals: Fundamental frequency, harmonic series, partials, timbre. Musical acoustics concluded: open vs closed pipes; vibrating soundboards; the vocal tract.
|
Excellent reading on spectra as they relate to musical instruments: HTML Then take a look at the following two Wiki articles, which are excellent: Acoustics of Strings: HTML (read first part, stop when you see "Harmonics in Music") Acoustics of Open and Closed Pipes: HTML (read whole thing!) Acoustics of Vocal Tract: HTML (optional)
|
Lecture Two: PDF |
Beautiful Wikibook on some (not all) important topics in Sound Synthesis: HTML Interactive applet showing how two sine waves add together--with sound! HTML Limited but beautiful animation of Fourier Synthesis using real phasors: HTML Phasor addition animation: HTML Nice description of how standing waves in pipes actually work, with animation: HTML Similar animation for traveling waves: HTML Interesting talks at this workshop on musical timbre: HTML
|
||
3 (M 9/20) | Additive synthesis: Additive Synthesis in Python Introduction to HW 01
|
Very complete technical chapter on audio synthesis (from Musimathics): PDF Wikibook page on Additive Synthesis: HTML CRMA on additive synthesis: HTML Short description of ASDR envelopes: HTML Wikipedia article on Tremolo: HTML Remind yourself of the definition of exponential decay by reading the Wiki article (HTML) but stop when you get to "solution of the differential equation." |
Lecture 03 PDF |
Intro To Audio Programming: ZIP HW 01: ZIP HW 01 Solution: IPYNB A good summary of why and how Python makes a good language for audio programming: PDF Download site for Conda (recommended for installing packages for Jupyter Notebooks): HTML Conda cheatsheet: PDF |
||
4 (W 9/22) |
Modulation synthesis: amplitude, ring, and frequency modulation. |
Wikibook page on Amplitude and Ring modulation: HTML CMRA page on Frequency Modulation (with applet and sound samples): HTML John Chowning's original paper on FM:: HTML
|
Lecture 4: PDF
Notebook with FM Code: IPYNB |
Animation with sound for amplitude modulation: HTML |
||
5 (M 9/27) |
Conclusions on Ring and Frequency Synthesis: spectra and phase issues. Physical Modelling Synthesis; Karplus-Strong String Synthesis
|
CRMA on Physical Modeling and Karplus-Strong: HTML
|
Lecture 5: PDF
Notebook with KS Code: IPYNB |
Very complete summary/taxonomy of music synthesis techniques: HTML WaveNet for speech synthesis: HTML Here is the first paper on Karplus-Strong: PDF Here is a more extensive examination of the Karplus-Strong Algorithm and its extensions: PDF Nice blog post with code: HTML |
||
6 (W 9/29) |
Conclusions on Physical Modelling: Spatialization and Reverberation; Filters and Convolution |
Excellent summary of Sound Spacialization and Reverberation: PDF Wikipedia on Moving Average Filters: HTML (just look at the basic definition and scan the rest)Wikipedia article on convolution: HTML (just try to understand the basic definition, but do look at the animations down the page). Here is a short tutorial on software for convolution reverb (with audio examples): HTML |
Lecture 6: PDF Notebook with Convolution and Reverb Code: IPYNB |
Here is a brief tutorial on convolution with examples in 1D and 2D: HTML; skip the stuff on impulse response and linear, time-invariant systems and just concentrate on the examples as a way of understanding the algorithm Here is a nice interactive animation of convolution in the continuous case: HTML Informative article about collecting impulse responses for convolution reverb: HTML Collection of impulse responses from around the USA: HTML Nice tutorial on Panning Laws: HTML
|
||
7 (M 10/4) |
Introduction to Digital Signal Processing; sliding-window-based analysis of musical signals. What happens when we multiply (or square) sine waves? Correlation and auto-correlation. Algorithms for determining fundamental frequency: Zero-crossing rate, correlation, and auto-correlation |
Nice explanation of the basic formula for multipling sine waves: HTML Auto-Correlation, especially the section on Signal Processing, and especially Formula 7 here, with the understanding that we are dealing with real signals, so y = y bar -- so you can ignore the bar in the formula. Essentially, convolution, correlation and auto-correlation are variations of the same idea, and all are just another use of the dot product. |
Lecture 7: PDF Lecture 7 Notebook: IPYNB |
|||
8 (W 10/6) |
Determination of fundamental frequency using auto-correlation with "peak picking," using interpolation to improve the accuracy; upsampling; other methods (zero-crossing, histograms); general problems (which peak is F0?). |
Here is a short survey of F0 determination algorithms: HTML More extensive survey: PDF . |
Lecture 8: PDF
Lecture 8 Notebook: IPYNB |
Very complete blog post on quadratic interpolation and its characteristics: HTML (the first part is well worth reading, then it gets wonky./td> | ||
9 (T 10/11) | The Discrete Sin Transform; Using complex numbers to bundle together frequency, amplitude, and phase; The Discrete Fourier Transform and the Fast Fourier Transform
|
Very general overview of applications of the FT in digital music: HTML Reasonably simple explanation of the basic concepts, with fun animations: HTML Here is a short, intuitive explanation of the Discrete Fourier Transform in the complex-number case: HTML Fun animation video on YT: HTML Interesting summary of FFT techniques, including sliding window analysis, applied to bird songs: PDF |
Lecture 9: PDF | |||
10 (W 10/13) |
Issues with the FFT: Resolution in time and frequency, "leakage" and "spray," Hann Windows. |
Reading on using the FT, windowing, leakage, etc.: PDF | Lecture 10: PDF | Intro To Audio Programming: ZIP HW 02 (Due 11/24): ZIP |
||
11 (M 10/18) |
FFT concluded: Interpreting and using spectra; Varieties of spectrograms; The Inverse Fourier Transform, |
Here is a nice summary of the FFT: HTML |
Lecture 11 Slides: PDF
Lecture 11 Notebook: IPYNB | |||
12 (W10/20) | One more look at synthesis: summarizing spectra; wavetable synthesis |
Here is a fun video introducing the topic of wavetable synthesis on a hardware synthesizer: HTML The Wikipedia article is also worth reading: HTML |
Lecture 12 Notebook: IPYNB |
|
||
13 (M 10/25) |
Changing time (and therefore pitch): 1D interpolation and resampling; Unlocking pitch and time: The phase vocoder |
The wiki articles are useful: HTML1, HTML2 Here is a fairly readable introduction to the basic principles: PDF Two short, readable summaries: HTML1, HTML2 Here is a short tutorial on phase vocoders used for pitch shifting: HTML The Wiki article is good, and has the basic references to the literature: HTML |
Lecture 13 Notebook: IPYNB |
Tutorial (with references) on T/P modification: HTML A very complete survey of techniques for Pitch and Time Scale Modification: PDF One of the most important improvements to Phase Vocoder for Pitch/Time Scale Mod is here: PDF | ||
14 (W 10/27) | Introduction to Music Information Retrieval; Onset detection |
Short overview of Onset Detection in Librosa: HTML Book chapter on onset detection and rhythm analysis: PDF Tutorial paper on onset detection: PDF Survey and comparison of Onset Detection methods: PDF |
Lecture 14: PDF
Lecture 14 Notebook: IPYNB |
|||
15 (M 11/1) | Onset detection using spectral energy; Beat detection |
Book chapter on onset detection and rhythm analysis: PDF |
Lecture 15: PDF | |||
16 (W 11/3) | Beat detection; Discussion of Final Projects |
Lecture 16: PDF
Lecture 16 Notebook: IPYNB |
||||
17 (M 11/8) | Conclusions on Rhythm Analysis, 3D Periodograms; Self-similarity matrices, alignment, structure analysis | The Wikipedia article on Self-Similarity Matrices is short but useful: HTML Here is a relatively readable early paper on structure detection, with some nice diagrams: PDF |
Lecture 17: PDF | |||
18 (W 11/10) | Chord identification by template matching; Chroma spectrograms | Book chapter on Chord Recognition: PDF |
Lecture 18: PDF
Lecture 16 Notebook: IPYNB |
|||
19 (M 11/15) | Content-based Retrieval | Book chapter on Content-based Retrieval: PDF |
Lecture 19: PDF | |||
20 (W 11/17) | Introduction to Deep Learning for Audio Analysis | Lecture 20: PDF | ||||
21 (M 11/22) | Instrument Identification | Lecture 21: PDF | ||||
22 (W 11/24) | Genre Classification | Lecture 22: PDF | ||||
(M 11/29 - F 12/10) | Work on Projects | |||||
(Sat 12/18) | End of exam period |