Schulich School of Music
This course is about algorithmic control in music, with application to human-computer interaction design, music composition, interactive performance, and sound synthesis. It is designed to provide students with a comprehensive understanding of communication and control in music and audio software. At the end of this course, students should be able to:
|Instructor: Gary P. Scavone||TA: Matt Skarha|
|Time:||Tuesdays 1:35 - 4:25 PM|
|Place:||Remote via Zoom|
|Lab Kit:||There is no required textbook for the course but students are required to purchase a music controller prototyping lab kit for about $40. Other microcontroller development boards (Raspberry Pi, Teensy, ...) can potentially be used or purchased instead (after discussion with the instructor).|
|Prerequisites:||Previous digital audio and object-oriented programming experience required, curiosity and creativity beneficial|
|Grading and Policies|
Attendance and punctuality: It is expected that you will be punctual and attend all classes. If you miss any, it is your responsibility to find notes from a classmate. Excessive absences or tardiness will compromise your grade. E-mail communications with teaching staff should be courteous and professional. Aim for brief, to-the-point messages, and plan ahead: allow a reasonable amount of time for responses. Extensions and/or make-ups are given only with a valid medical note.
There will be two in-class exams, each consisting of a one-hour closed-book written section and a two-hour open-book computer-based section. Assignment due dates will be indicated for each homework. The grade of a late homework will be reduced by 20% per day after the due date. Homework handed in 5 or more days late will be given a grade of 0.
Grading curves will be applied if deemed appropriate.
There will not be a final exam for this class. Instead, students are required to work on a final project of their own design. The final project provides students the opportunity to pursue a more in-depth study of a particular aspect of the class that they are most interested in. Group projects are possible with the instructor's approval. Project topics should relate to the course material and might include an electro-acoustic composition, the development of a C++ or Web Audio application, or the use of an existing software package (Max/MSP, STK, Common Music) to achieve an interesting music control and/or synthesis task. Students are encouraged to consult with the instructor and/or TA in the development stages of the project. Short, 5 minute, project progress reports will be required in class during the 6th and 10th weeks of the semester. Final presentations will occur during the last class of the semester. A short project report, written in HTML, detailing the objectives, methodology, and results will be due at the presentation session. Grading will be based in part on effort and creativity, as well as on students' demonstrated success in pursuing their project objectives.
|Week 1 (8 September):||Max/Pd Basics, Music Controller Overview|
|Week 2 (15 September):||Communication Protocols, MIDI with Max/Pd|
|Week 3 (22 September):||More Max/Pd Concepts, Arduino Introduction|
|Week 4 (29 September):||Electronics Overview, Simple Sensors, Arduino Programming|
|Week 5 (6 October):||Max Raw Midi, More Sensors, Arduino I/O|
|Week 7 (20 October):||Exam #1|
|Week 8 (27 November):||MIDI in C++ (RtMidi)|
|Week 9 (3 November):||The MIDI File Format, Open Sound Control|
|Week 10 (10 November):||Audio Signals, MSP Audio Processing, Project Report #2|
|Week 11 (24 November):||Algorithmic Composition Introduction|
|Week 12 (1 December):||Exam #2|
|Week 13 (7 December):||Final Project Presentations (12:00-3:30 PM)|
|Labs & Links|
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 www.mcgill.ca/integrity for more information).
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 www.mcgill.ca/integrity).
|©2003-2020 McGill University. All Rights Reserved.|
Maintained by Gary P. Scavone.