Music 147: Studies in Music Technology
(Can also be taken as CompSci 190 or EECS 195 or Music 215 or ACE 277)
Computer Audio and Music Programming
Winter Quarter 2007
Tuesday & Thursday, 2:00-3:20
Music and Media Building, Room 216
University of California, Irvine
Professor: Christopher Dobrian
211 Music and Media Building
University of California
Irvine, CA 92697-2775
TA: Greg Elliott
The textbook for this class is The Computer Music Tutorial by Curtis Roads.
Other suggested texts:
Dodge, Charles and Thomas A. Jerse. Computer Music: Synthesis, Composition, and Performance, 2nd ed. New York: Schirmer Books, 1997.
Loy, Gareth. Musimathics. Cambridge, MA: The MIT Press, 2006.
Moore, F. Richard. Elements of Computer Music. Englewood Cliffs, NJ: Prentice Hall, 1990.
A theoretical and practical study of how computers synthesize and process sound and music. Essential premises of psychoacoustics, digital audio, signal processing, and music representation are explored as they apply to software design and implementation, and these concepts are put into practice in student-designed programming projects. The course provides the knowledge and experience required for advanced study in computer audio, synthesizer design, and computer music. Some ability to program (in C, Java, Csound, Max/MSP, or Pd) is required. Music 51 or equivalent computer music experience is highly recommended.
Fundamentals of sound and psychoacoustics; How digital audio works
Programming in Max/MSP
Interface and design issues in audio and music software
Additive synthesis, control functions; frequency modulation, amplitude modulation
Wavetable synthesis, distortion techniques; Sampling
Delay, flanging, chorusing, reverberation, and other delay-based processing techniques
Panning, location, and spatialization
Amplitude compression and expansion
Filtering and convolution
Fourier analysis resynthesis; cross-synthesis; time compression/expansion
MIDI (Musical Instrument Digital Interface); MIDI programming for audio control
Programming I/O streams, unit generators, etc.
Listening and analysis of musical uses of digital audio processing
Reading and research on theoretical and practical issues of computer audio and music
Lectures on theoretical issues of computer music synthesis and processing
Demonstrations of audio and music programming in Max/MSP and C
Collaborative student-designed research/implementation projects in Max/MSP programming (and/or C or Java)
Composition of documentation summarizing a specific topic in computer audio/music and describing the research, design, and programming for a specific implementation
Regular attendance (in at least 90% of all class sessions)
Timely completion of all reading and listening assignments, and informed participation in class discussions
Timely completion of assigned programming project(s) Max/MSP and in C (or Java), implementing known concepts in music DSP and experimenting with original extensions of those ideas
Design and programming, in a collaborative team with other students, of at least one new end-user application written in Max/MSP, to implement useful audio processing and/or music processing functionality
Brief article-cum-user's-manual, written with your collaborative team, summarizing the research, design, and programming of the application developed, addressing a specific topic in audio and/or music programming; this article will be closely related to the theory, design, and implementation of your main programming project
Maintenance of a personal web site to share all research information, programming projects, articles, and sound examples developed during this class
- A passing grade in the midterm and final exams
Grading will be based on assigned programming projects (20%), the midterm exam (20%), the final programming project (20%), class participation (10%), and the final exam (30%). [Percentage weightings given here are approximate.]
Thursday, March 22, 1:30-3:30 pm, Music and Media Building, Room 216.
Regarding Academic Integrity:
Collaboration between students in this course is strongly encouraged. Students are urged to exchange ideas, opinions, and information constantly, and to help each other with learning and research in preparation for academic/programming projects. However, each student is expected to complete her/his own unique fulfillment of each assignment.
Plagiarism of any kind is in direct violation of University policy on Academic Honesty, and penalties for plagiarism can be severe. In most programming circles it is common practice to excerpt small portions of existing tested, reliable software which has been developed in one's own workgroup (in this case, by the members of the class) for inclusion in a larger programming effort. Whenever this is done, the original programmer should be credited for the included code. In this class you will be expected to attribute due credit to the originator of any ideas, words, images, sounds, or work which you incorporate substantially into your own work.
This page was last modified on December 23, 2006.
Christopher Dobrian, firstname.lastname@example.org