Digital Sound Synthesis and Audio Processing

Music Technology Seminar (MUMT-605)

Fall 2016 (Friday, 9:35 A.M. – 12:25 P.M.)

New Faculty Music Building, 555 Sherbrooke West, 5th Floor, Room A-512







Web Page

Version: 1.1 (Version history)
Last update: 09/22/2016




Name: Philippe Depalle
Phone: (514) 398-4535 # 00317
Office: 550 Sherbrooke West, 5th Floor, Suite 500, Room 503
Office Hours: upon request, by appointment


Course Description


Most digital sound synthesis methods and audio processing techniques are based on the spectral representation of sound signals. This seminar starts with a theoretical and practical study of spectral representation, spectral analysis, and spectral modification of sound signals. Digital sound synthesis and sound processing techniques are then presented as specific spectral modelling or alterations from which their capabilities, properties, and limitations are deduced. Techniques explored in this context include the phase-vocoder, additive synthesis, source-filter synthesis, non-linear (distortion) processing, and audio effects. Available Computer Music software and ad hoc pieces of software are used as examples and illustrations. Evaluation will be based on 2 assignments (25% each), one in-class presentation (15%), and a final project (35%).



The final mark will be derived as follows:


Class Outlines











Spectral Analysis of Analog Signals





Spectral Analysis of Analog Signals



5:30-7:00 p.m.



Spectral Analysis of Discrete-Time Signals

Music Tech Meeting Room (521)




Practical Spectral Analysis

Assignment 1


5:30-7:00 p.m.



Practical Spectral Analysis

Music Tech Meeting Room (521)





Short-Time Fourier Transform (STFT)




Short-Time Fourier Transform (STFT)





Assignment 1




Additive Synthesis

Assignment 2




Additive Synthesis




Source-Filter Models & Spectral-Domain Audio Processing




Source-Filter Models & Spectral-Domain Audio Processing

Assignment 2




Physical Modelling

Non-Linear Effect Processing

Final Project




In-class presentation

Final Project





Moore, E. R., Elements of Computer Music, Prentice-Hall, Englewood Cliffs, New Jersey, 1990.


Selection of useful Matlab documentations (pdf files available as downloadable files through the Matlab doc Window):

getsart.pdf, Matlab – Primer, version R2016a, 206 pages, 2016.

matlab_env.pdf, Matlab - Desktop Tools and Development Environment, version R2016a, 258 pages, 2016.

math.pdf, Matlab - Mathematics, version R2016a, 648 pages, 2016.

matlab_prog.pdf, Matlab – Programming Fundamentals, version R2016a, 1104 pages, 2016.

matlab_refbook.pdf, Matlab – Function Reference, version R2016a, 11052 pages, 2016.

graphg.pdf, Matlab - Graphics, version R2016a, 550 pages, 2016.

signal_gs.pdf, Signal Processing Toolbox - Getting Started Guide, version R2016a, 60 pages, 2015.

signal_tb.pdf, Signal Processing Toolbox – User’s Guide, version R2016a, 958 pages, 2016.

signal_ref.pdf, Signal Processing Toolbox – Reference, version R2016a, 2150 pages, 2016.




McClellan J. H., R. W. Schafer, and M. A. Yoder, DSP First, A Multimedia Approach, Prentice-Hall, Upper Saddle River, New Jersey, 1999.


Orfanidis, Sophocles, Introduction to Signal Processing, Prentice-Hall, 1999, 798 pages. Freely available as a pdf at:


Zölzer, U., DAFx: Digital Audio Effects, John Wiley & Sons, Chichester, 2nd edition, 2011. Available in electronic version at the McGill library.


MAX/MSP version 6.1.10: On-line documentation available at Max_7_doc.


MAX/MSP version 4, pdf files available at Max/MSP_4.6.2_Documentation:

MSP46ReferenceManual.pdf, Reference Manual, version 4.7, Cycling '74, August 2006, 476 pages.

MSP46TutorialsAndTopics.pdf, Tutorials and Topics, version 4.6, Cycling '74, August 2006, 246 pages.

Max46Fundamentals.pdf, Fundamentals, version 4.6, Cycling '74, August 2006, 88 pages.

Max46Topics.pdf, Max Topics, version 4.6, Cycling '74, August 2006, 152 pages.

Max46Tutorials.pdf, Tutorial, version 4.6, Cycling '74, August 2006, 367 pages.

Max46ReferenceManual.pdf, Reference Manual, version 4.6, Cycling '74, August 2006, 724 pages.



Class Outlines (with more details)

Introduction <Back>

Content:  Goal and Motivations (Sound Synthesis: Modelling, Synthesis, Analysis, Control). Signal and Information (Signal as an Information Carrier, Signal Processing, Signal Processing and Computer Music). Signal Representation (Introduction, Temporal Representation: Definition, Continuous-Time Signals, Discrete-Time Signals, Digitisation of Signals, Reconstruction of Signals).

Max/MSP: Review of the Structure, Typology of Objects, Signal Processing Algorithms Design Constraints (Real-Time, Data-Flow).

Reading Guidelines: Elements of Computer Music (Chapter I. Chapter II, pages 27-46, Appendix A, pages 455-458. Appendix B).


Spectral Analysis of Analog Signals <Back>

Content: Spectral Representation of Analog Signals. Angle, Trigonometric Functions, and Complex Numbers (Cartesian Coordinates, Polar Coordinates, Complex Numbers). Amplification and Phase Shift. Mean Value of a Cosine Wave. Complex Modulation and Fourier Transform. Spectrum of a Cosine Wave. Fourier Series (Cosine Spectrum, Sine Spectrum, Even and Odd Functions Spectra, Periodic Signal Spectrum, Examples). Non-periodic Signal Spectrum (Introduction, Fourier Transform, Examples). Convolution.

Max/MSP:  atan~, atan2~, cartopol~, click~, cos~, cosx~, phasor~, poltocar~, sinx~sqrt~, train~, trapezoid~, triangle~.

Reading Guidelines: Elements of Computer Music (Chapter II, pages 55-64 & 69-72, Appendix A, pages 458-464)

Spectral Analysis of Discrete-Time Signals <Back>

Content: Link between the Spectrum of a Signal and its Periodized Version. Finite-Duration Spectral Analysis (Introduction, Rectangular Windowing, Fourier Series Decomposition). Impact of Sampling on Analog Signals Spectra (Introduction, Spectral Duplication, Spectral Aliasing, Discrete-Time Fourier Transform). Spectral Analysis of Discrete-Time Signals.

Reading Guidelines: Elements of Computer Music (Chapter II, pages 64-88).

Practical Spectral Analysis <Back>

Content: Introduction, Finite-Duration Spectral Analysis, Frequency Resolution, Dynamic Resolution, Smoothing Windows (Introduction, Generic shape of a smoothing window, Main features of a window: Main Lobe Bandwidth, Highest Side Lobe Level, Side Lobe Fall-Off, Worst-Case Processing Loss, Main windows: Rectangular, Triangular, Hann, Hamming, Blackman-Harris 3, Blackman-Harris 4), Examples, Window size choice, Time-Frequency Uncertainty, Zero-padding, Fast Fourier Transform and Spectral Analysis).

Max/MSP: buffer~, cartopol~, fft~, ifft~, log~, peek~, play~, poltocar~.

Reading Guidelines: Elements of Computer Music (Chapter II, pages 93-104).

Short-Time Fourier Transform (STFT) <Back>

Content: Introduction. Short-Time Fourier Representation (Introduction, Definition, Fourier Transform Interpretation, Filter Bank Interpretation). STFT Analysis (Introduction, Temporal Sampling, Spectral Sampling). STFT Synthesis (Bank Filter Summation, Overlap Add Method). STFT Processing (Constant Filtering, Time-Varying Filtering).

Reading Guidelines Elements of Computer Music (Chapter III, pages 229-246).

Phase-Vocoder <Back>

Content: Introduction. Instantaneous Frequency, Time Scaling, Pitch Scaling, Cross-Synthesis, Examples (Fast Convolution, CrossOver Filter, Spectral Noise-Gate, Pitch-Scaling).

Max/MSP: capture~, cartopol~, fft~, fftin~, fftinfo~, fftout~, frameaccum~, framedelta~, ifft~, pfft~, phasewrap~, poltcoar~.

Reading Guidelines: Elements of Computer Music (Chapter III, pages 227-229 & 246-263).


Additive Synthesis <Back>

Content: Introduction. Model (Synthesis Model, Link between Additive Synthesis, and Fourier Transform). Additive Analysis (Spectral peak parameter extraction, partial trajectory extraction). Additive Synthesis Implementation (Introduction, Look-up Table, Overlap and Add Method, Phase Interpolation Method).

Max/MSP: cos~, cosx~, cycle~, ioscbank~, oscbank~, sinx~.

Reading Guidelines: Elements of Computer Music (Chapter II, pages 27-46. Chapter III, pages159-173 & 207-227).

Source-Filter Models <Back>

Content: Introduction. Generic Model. Link with Physical description of Musical Instruments. Link with Short-Time Fourier Transform. Filter Structures (All-Pole Model, Bank of Second Order IIR Filters, Cascade of Second Order IIR Filters). Source Structures (Harmonic, Noisy, Short-Time Sources). Examples (Classic Vocoder, Karplus Strong Synthesiser, Modèles de résonance, 3-band equalizer).

Max/MSP: biquad~, buffer~, buffir~, fffb~, reson~, tapin~, tapout~, waveform~, zerox~, filtergraph, lores~, onepole~, teeth~.

Reading Guidelines: Elements of Computer Music (Chapter II, pages 88-93. Chapter III, pages 152-156, 263-271, 273-278 & 291-294).


Physical Modelling <Back>

Content: Physical Modelling Synthesis. Efficiency of Physical Modelling Synthesis. Physical Modelling. Excitation and Resonance. Classical Physical Modelling Methodology: Mass-Spring Paradigm. Waveguide. Modal Synthesis. A Modular Approach.

Reading Guidelines: Elements of Computer Music (Chapter III, pages 278-291).

Non Linear Processing <Back>

Content: Introduction. Amplitude Modulation. Frequency Modulation. Non-Linear Waveshaping (Introduction. Basic Principle. Waveshaping Function. Spectral results of Structural Properties. Behavior Analysis. Polynomial Waveshaper. Chebyshev Polynomials. Amplitude as a Modulation Index. Implementation of a Non-linear processor: Amplitude Scaling, Example, Use of a High-Pass Filter).

Max/MSP: abs~, buffer~, groove~, index~, cycle~, info~, kink~, lookup~, overdrive~, peek~, poke~, pong~, pow~, round~ thresh~, wave~, waveform~.

Reading Guidelines: Elements of Computer Music (Chapter III, pages 315-339 & 271-273).



Version History <Back>

         1.1 – September 22th, 2016

Mostly changed the time schedule to reflect course catch-up:

       2 additional dates for two 1.5-hour courses (Sept. 28th, and Oct. 05th)

       Sequence of assignments changed to be synchronized with the course re-schedule

       Fixed the date of in-class presentation, initially wrongly scheduled on the 18th instead of the 16th

Matlab documentation file signal_gs.pdf: changed year of publication.


         1.0 – September 16th, 2016

Original version


The following STATEMENTS must be included on all course outlines:


1) Right to submit in English or French written work that is to be graded  [approved by Senate on 21 January 2009]:  


In accord with McGill University’s Charter of Students’ Rights, students in this course have the right to submit in English or in French any written work that is to be graded.


This right applies to all written work that is to be graded, from one-word answers to dissertations.


This statement is not needed for courses in which acquiring proficiency in a language is one of the objectives or for courses in which students do not submit written work that is to be graded.


Instructors who cannot grade French written work should consult their Chair/Director or Dean, in faculties without departments, to make arrangements for grading French submissions.



2) Academic Integrity statement [approved by Senate on 29 January 2003]:


McGill University values academic integrity.  Therefore all students must understand the meaning and consequences of cheating, plagiarism and other academic offences under the Code of Student Conduct and Disciplinary Procedures (see ) for more information).


You may use this FRENCH TRANSLATION of the Academic Integrity statement on your course outlines as you see fit:


l'université McGill attache une haute importance à l’honnêteté académique. Il incombe par conséquent à tous les étudiants de comprendre ce que l'on entend par tricherie, plagiat et autres infractions académiques, ainsi que les conséquences que peuvent avoir de telles actions, selon le Code de conduite de l'étudiant et des procédures disciplinaires (pour de plus amples renseignements, veuillez consulter le site ).


N.B. Failure by an instructor to include a statement about academic integrity on a course outline shall not constitute an excuse by a student for violating the Code of Student Conduct and Disciplinary Procedures [Senate, 29 January 2003].