CCOG for MUC 270 Spring 2024

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. Audit available.

Addendum to Course Description

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 should be able to:

  • Define and use the basic functions of Max/MSP to generate, sculpt, and control sound.
  • Create basic programs that control interactive sound and light events.
  • Program non-linear music and soundscapes using generative and algorithmic approaches.
  • Utilize sensors, custom MIDI controllers, joysticks, and other real world controls to create functional, effective and intuitive interfaces for self-created audio tools.
  • Articulate the theory behind and perform basic subtractive synthesis in Max/MSP.
  • Develop an idea for a basic sound or interactivity project and effectively implement it with Max/MSP.

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
  • Iterative project design / feedback

Course Content (Themes, Concepts, Issues and Skills)

Introduction to programming with Max MSP

  • First steps and foundational terminology with Max
  • Sample playback and triggering
  • Audio looping, stretching and re-pitching
  • Generating Random Numbers
  • Managing Time: The Metro Object
  • Datatypes (integers, floats, symbols)
  • Algorithmic, stochastic, and probabilistic composition techniques
  • Designing and building sequencers

Subtractive Synthesis

  • Oscillators, noise, filters, and envelopes
  • Harmonic spectra / basic sound theory

Physical Interfaces

  • Getting data into Max from Midi devices, joysticks, mouse and keyboard input
  • Interfacing with sensors and arduinos
  • motion capture using cameras and the Kinect

Live Audio processing

  • Fx chains and live input processing
  • Max signal processing with EQs, distortion, pitchshifters, reverbs, delay
  • Algorithmic control of FX parameters

Intro to advanced synthesis

  • Physical Modelling with Karplus-Strong
  • Additive synthesis
  • Frequency and Amplitude modulation

Audio analysis with Max

  • Getting data from contact mics
  • Spectrum analysis
  • Amplitude analysis and envelope following