7 minute read

Our precise order of topics and their accompanying materials will periodically change and/or be updated, at the discretion of the instructor, based on class pacing and other factors. Schedule and materials will be regularly updated on this website and announced in class. Changes to, or additions of, recordings, readings, or videos may be appended to this current schedule below. Additional materials will be distributed on this website or in class. Our schedule follows the Current Bates Academic Calendar. Check frequently for updates!

Calendar of Deadlines

Subscribe to our class Google calendar to see our upcoming deadlines. Daily schedule of events, tutorials, topics, terms, listening, guests, and other relevant information follows.


Week 1: Jan 14

Course Overview

Wednesday 1/14 — Orientation & Setup (No patching)

In Class
  • Course overview and expectations
  • What “sonic systems” means in this course
  • Semester arc and concert requirements
  • Website walkthrough + access check
  • GitHub accounts and workflow overview
  • Max installation check
Tutorials
Assignments
  • Setup your GitHub account
  • Be sure to complete the Intro Survey
  • Install + authorize Max (if using a personal license), or book time in the computer labs
  • Watch the Max and GitHub intro videos above, rebuild tutorial patches, and commit them to your GitHub account by our weekly deadline: Saturdays, 11:59 PM.
  • Make these starter patches (from the video):
Patches
  • starter.patch.v01.maxpat
  • starter.patch.v02.maxpat
Terms, Concepts, Objects, Shortcuts

Use this list as a reference. Leave comments in your patches to remind yourself what these are and how they work.

  • realtime vs. offline electronics
  • computer music
  • patch / subpatch <p> / abstraction
  • object box command + n
  • lock/unlock patch command + e
  • message box <m> / comment box <c>
  • control rate (Max) vs. signal rate (MSP)
  • resize boxes command + j
  • duplicate an object command + D
  • open help file: option + click on any object

Week 2: Jan 19

Signal Flow in MaxMSP

Monday 1/19

MLK Jr. Day — No class.

Wednesdsay 1/21 — Signal Flow & Debugging

In Class
  • signal vs control
  • gain staging and safe monitoring
Tutorials
Patches
  • _scaffold.v01.maxpat
  • working.patch.v01.maxpat
  • lg.sound.in.v01.maxpat
  • lg.sound.out.v01.maxpat

Week 3: Jan 26

Filters + Resonance

Monday 1/26 — Oscillators & Envelopes

In Class
  • waveform families
  • oscillator objects
  • ADSR and envelope-as-time-system
Tutorials

Video Tutorials

In lieu of class during inclement weather, follow the video tutorial and complete patches before Wednesday.

Listening

Patches
  • 01.basic.waveforms.maxpat
  • 02.ADSR.maxpat
Assignments
  • Finish:
    • 01.basic.waveforms.maxpat
    • 02.ADSR.maxpat
Terms, Concepts, Objects, Shortcuts
  • oscillator
  • sine <cycle~> / saw <phasor~> / triangle <tri~> / square <rect~>
  • ADSR / envelope
  • duty cycle
  • help files: option + click

Wednesday 1/28 — Monosynth and MIDI Input

Patches
  • 03.monosynth.variable.note.length.maxpat
  • 04.additive.synth.with.randomization.maxpat
Terms, Concepts, Objects, Shortcuts
  • synthesis engine
  • MIDI (Music Instrument Digital Interface)
  • monosynthesizer
  • additive synthesis

Week 4: Feb 2

Formant Modeling + Source–Filter Systems

Monday 2/2 — Class Canceled; Illness

Wednesday 2/4 — Polyphony and Voice Allocation

Boiler (Downloads)

Patches
  • bach.poly.05.polyphony.maxpat
  • simple.voice.polyCore.v01.maxpat
Terms, Concepts, Objects, Shortcuts
  • synthesis engine
  • MIDI (Music Instrument Digital Interface)
  • monosynthesizer
  • additive synthesis

Week 5: Feb 9

Karplus–Strong + Waveguide String Models

Monday 2/9 — Euclidean Rhythms in Bach

Boiler (Downloads)

Optional Reading

Patches
  • bach.interaction.t07.euclidean.idea.maxpat
  • bach.interaction.t08.melodic.profile.maxpat

Wednesday 2/11 — Karplus-Strong String Synthesis

Boiler (Downloads)

Patches
  • Karplus-Strong.v02.maxpat
Assignment

Week 6: Feb 23

Bowed and Wind Instrument Physical Models

Monday 2/23 — String Stiffness

Patches
  • Karplus-Strong.v02.maxpat (…continued; add stiff string model)
  • Karplus-Strong.v03.randomization.maxpat

Wednesday 2/25 — Resonance Models

Boiler (Downloads)

Listening

Video Tutorial

Patches
  • modres.from.a.chord.maxpat
Assignment
Terms, Concepts, Objects, Shortcuts
  • simple harmonic motion
  • resonance
  • dampening
  • the modres algorithm
  • filter
  • filters in parallel and in series

Week 7: Mar 2

Modalys — Strings, and Plates

Monday 3/2 — Introduction to Modalys

Boiler (Downloads)

Tutorials

Listening

Patches
  • 01.mlys.string.force.maxpat
Assignment
  • Before Wednesday: Explore the Modalys for Max Examples. In Max, go to Extras -> Modalys for Max. Choose the patches within the categories “Complete Instruments” (blue), and “Other Exampels” (green). Be sure to click the “TV” icon to take the patch out of “presentation mode” and poke around to explore the logic of the patch. Imagine how you might use these on your own. Find 3 that you like, and we’ll discuss them on Wednesday.

Wednesday 3/4 — Introduction to SPAT

Boiler (Downloads)

Tutorial Video

Tutorials
Patches
  • 01.spat.boiler.maxpat
  • 03.sound.file.source.maxpat (next week)

Week 8: Mar 9

Material Properties and Hybrid Physical Models

Monday 3/9 — Spat Coordinates

Patches
  • 02.very.clicky.maxpat
  • 03.sound.file.source.maxpat
  • random.aed.coordinates.maxpat
  • The two patches crossed out above include material covered in our update to 02.very.clicky.maxpat as well as the assigned work due on Wednesday.
Assignment
  • For Wednesday: find your completed modres.from.a.chord.maxpat patch. Make 2 instances of this patch, each one with its own chord. Send different audio signals into each instance, depending on how you cable things. Send the output of each of these 2 resonators into your 01.spat.boiler.maxpat as spat input sources 1 and 2. Create another source 3 using today’s 03.sound.file.source.maxpat patch. Give each of the 3 sources its own spatial coordinates. Experiment with keeping 1 or 2 of the sounds static (not moving in <spat.oper>) versus giving them motion (using logic developed in our coordinates patches from today). Work to differentiate these 3 sounds so that they don’t sound the same — distinguish them using the types of sounds you use as input, the chord harmonies/pitches you provide to your resonators, and the spatial movement for each one. Play around with the reverb controls too — have fun!

Week 9: Mar 23

SPAT~ and Multichannel Audio

Monday 3/23 — Spat, Continued

Upcoming Quiz

Expect a short, in-class, written pop-quiz over the Debugging in Max slides sometime in the next 1-3 class sessions. Review the slides for preparation.

Tutorials
Patches
  • 03.sound.file.source.maxpat
  • mlys.reed.tube.v01.maxpat (postponed)
Assignment
  • For Wednesday: Make a new version of the previous assignment that uses the following sound sources: (1) a sound file, (2) your Karplus-Strong patch, and (3) the Modalys string or today’s Modalys reed/tube patch. Be prepared to share your work in class. — have fun!

Week 10: Mar 30

Computer-Assisted Composition

Monday 3/30 — Asynchronous, Spat

Assignment (Due Saturday night as usual)

Wednesday 4/1 — Guest Presentation (In Person)

Jason Thorpe Buchannan, guest composer


More coming soon — check back frequently!