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: Julian Faust|
|Time:||Tuesdays 1:35 - 4:25 PM|
|Lab Kit:||There is no required textbook for the course but students are required to purchase a music controller prototyping lab kit for about $60.|
|Prerequisites:||Previous digital audio and object-oriented programming experience, curiosity and creativity beneficial|
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.
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/C++ 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-10 minute, project progress reports will be required in class during the 5th and 11th weeks of the semester. Final presentations will occur at an agreed upon time during finals week. 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 (3 September):||Max/Pd Basics, Music Controller Overview, MTCL Introduction|
|Week 2 (10 September):||Communication Protocols, MIDI with Max/Pd, C/C++ Overview|
|Week 3 (17 September):||More Max/Pd Concepts, Arduino Introduction|
|Week 4 (24 September):||Electronics Overview, Sensors, Arduino Programming|
|Week 5 (1 October):||Max/Pd Raw Midi, Arduino I/O, Project Report #1|
|Week 6 (8 October):||Max/Pd Sequencing and Expressions, C++ Classes|
|Week 7 (15 October):||Exam #1|
|Week 8 (22 October):||C++ Standard Library, RtMidi|
|Week 9 (29 October):||The MIDI File Format, Open Sound Control|
|Week 10 (5 November):||Algorithmic Composition Introduction|
|Week 11 (12 November):||Audio Signals, MSP/Pd Audio Processing, Project Report #2|
|Week 12 (19 November):||Signal Metrics, Envelopes, Parameter Extraction|
|Week 13 (26 November):||Exam #2|
|Projects (4 December):||Final Project Presentations (9:30 AM - 12: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-2013 McGill University. All Rights Reserved.|
Maintained by Gary P. Scavone.