Music 147: Studies in Music Technology
(Can also be taken as I&CS 180 or E&CE 195 or Music 215 or ACE 277)
Computer Audio and Music Programming
Winter Quarter 2006
Monday & Wednesday, 1:30-2:50
Music and Media Building, Room 216
University of California, Irvine
Course Syllabus
Professor: Christopher Dobrian
211 Music and Media Building
University of California
Irvine, CA 92697-2775
(949) 824-7288
dobrian@uci.edu
TA: Eric Kabisch
ekabisch@uci.edu
Required Text:
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.
Moore, F. Richard. Elements of Computer Music. Englewood Cliffs, NJ: Prentice Hall, 1990.
Course Description:
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.
Topics:
-
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
-
Granular synthesis
-
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.
Activities:
-
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
Requirements:
-
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:
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.]
Final Exam:
Wednesday, 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 January 26, 2006.
Christopher Dobrian, dobrian@uci.edu