Portland Community College | Portland, Oregon Portland Community College

CCOG for MUC 270 archive revision 201604

You are viewing an old version of the CCOG. View current version »

Effective Term:
Fall 2016
Course Number:
MUC 270
Course Title:
Audio Programming I: Introduction to Max/MSP
Credit Hours:
Lecture Hours:
Lecture/Lab Hours:
Lab Hours:

Course Description

Introduces visual programming language Max/MSP and the practice of creative coding for music and sound design. Recommended: basic familiarity with computers and digital audio workstations.

Addendum to Course Description

As of Fall 2015, the Professional Music Department endorses Electronic Music and Sound Design: Theory and Practice with Max and MSP, vol. I as a textbook.

Ultimately, the instructor of record is entrusted with textbook selection, but is expected to consult with the Department Chair to ensure curricular alignment and program coherence. The approved text is difficult, and it is essential the instructor cover the information in an accessible manner.

This course introduces students to sophisticated and abstract content. However, the course is intended for students with limited familiarity with music or computer science. The intent is not that students will master the programming language, but rather that they will gain a rudimentary facility with and appreciation for it.

Intended Outcomes for the course

Upon completion of the course students will be able to:

  • Define and use the basic functions of Max/MSP to generate and sculpt sound.
  • Synthesize both sequenced and overlapping sounds using sine wave, square wave, sawtooth wave, and triangle wave oscillators.
  • Continuously control the amplitude, frequency, and stereo spatialization of sound.
  • Articulate the theory behind and program basic additive synthesis in Max/MSP, using fixed and variable spectra to produce both harmonic and non-harmonic sounds.
  • Articulate the theory behind and perform basic subtractive synthesis in Max/MSP.
  • Develop an idea for a basic sound project and effectively implement it with Max/MSP.
  • Utilize basic principles of interface design to create functional, effective and intuitive interfaces for self-created audio tools.

Aspirational Goals

Students are empowered to create through coding, recognizing the limitless possibilities of coding (as opposed to the limited possibilities within an established software platform).

Students begin thinking less about how to use a given piece of software and more about the functionalities possible with computers and the arrangement of functionalities of value to the realization of their individual visions. In other words, students see that in addition to using tools developed by others, they may be the makers of digital tools.

Students gain an appreciation for a broad spectrum of employment options--careers in software and application development, hardware design, or coding, for instance--for which their interest in music, sound and creative practice is an excellent foundation.

Course Activities and Design

  • Lectures
  • Implementation of lessons with Max/MSP
  • Completion of regular, basic coding assignments
  • Development of individual coding projects (projects the students come up with) and implementation under the guidance of the instructor
  • Sharing of individual projects with peers and peer discussion

Outcome Assessment Strategies

  • Instructor and peer evaluation of completed projects
  • Quizzes and exams

Course Content (Themes, Concepts, Issues and Skills)

Sound Synthesis with Max

  • First steps and foundational terminology with Max
  • Frequency, Amplitude and Waveform
  • Envelopes and Glissandi
  • Introduction to Working with Sampled Sound
  • Introduction to Panning

Programming with Max

  • Programming with Max
  • Generating Random Numbers
  • Managing Time: The Metro Object
  • Subpatches and Abstractions
  • Other Random Number Generators
  • Objects for Managing Lists
  • The Message Box and Variable Arguments
  • Sending Sequences of Bangs: The Uzi Object
  • Send and Receive

Additive and Vector Synthesis

  • Fixed Spectrum Additive Synthesis
  • Beats
  • Crossfading Between Wavetables: Vector Synthesis
  • Variable Spectrum Additive Synthesis

Noise Generators, Filters, and Subtractive Synthesis

  • Sound Sources for Subtractive Synthesis
  • Lowpass, Highpass, Bandpass, and Bandreject Filters
  • The Q Factor
  • Filter Order and Connection in Series
  • Subtractive Synthesis
  • Equations for Digital Filters
  • Filters Connected in Parallel, and Graphic Equalization

Additional Elements of Programming with Max

  • Sound Sources for Subtractive Synthesis
  • The Modulo Operator and Recursion
  • Routing Signals and Messages
  • The Relational Operators and the Select Object
  • Reducing a List to its Parts: The ITER Object
  • Iterative Structures
  • Generating Random Lists

Control Signals

  • Control Signals: Stereo Panning
  • DC Offset
  • Control Signals for Frequency
  • Control Signals for Amplitude
  • Varying the Duty Cycle (Pulse-Width Modulation)
  • Control Signals for Filters
  • Other Generators of Control Signals