5 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

Signal Flow in MaxMSP

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
  • MIDI subpatcher inside of _scaffold.v01.maxpat
Terms, Concepts, Objects, Shortcuts
  • synthesis engine
  • MIDI (Music Instrument Digital Interface)
  • monosynthesizer
  • additive synthesis

Week 4: Feb 2

Modulation

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

Live Processing & Debugging

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 โ€” Modulation Synthesis

Boiler (Downloads)

Listening

View the score for more information, if interested.

Patches
  • RM.AM.FM.v01.onWaveforms.maxpat
  • RM.AM.FM.v02.onSignals.maxpat
Assignment

Week 6: Feb 23

Subtractive Synthesis

Monday 2/23 โ€” Phi

Tutorials

  • Look at a solution to the assignment
  • Consider random-note generation (briefly โ€” more on this later)

Boiler (Downloads)

Listening

Patches
  • RM.AM.FM.v02.onSignals.maxpat
  • _phi.v01.maxpat
Terms, Concepts, Objects, Shortcuts
  • ring modulation
  • golden ratio (โ€œgolden sectionโ€)
  • self-similarity

Wednedsay 2/25 โ€” Phi, Continued

Patches
  • _phi.v02.maxpat
  • phi.polyCore.v02.maxpat

Week 7: Mar 2

Nonlinear Systems

Monday 3/2 โ€” Using Randomness + Reservoirs

Boiler (Downloads)

Patches
  • 03.two.voices.maxpat
  • 04.using.distributions.maxpat

Wednesday 3/4 โ€” Randomness, Cont.

Tutorials
Patches
  • 04.using.distributions.maxpat

Week 8: Mar 9

Sampling & Time

Monday 3/9 โ€” Wavetable Synthesis

Boiler (Downloads)

Patches
  • 03.wavetable.synthesis.maxpat
  • 03a.buffer.interpolation.maxpat
  • 04.waveshaping.maxpat
Assignment
  • For Wednesday: Connect your fancy new wavetable synthesizer to the <bach.roll> in 04.using.distributions.maxpat and drive the synthesizer using the correct pitches and note information originating from playback in your <bach.roll> sequence.

Wednesday 3/11 โ€” Distortion Synthesis

Patches
  • 05.wavetable.distortion.bands.maxpat
  • 06.wavefolder.maxpat

Week 9: Mar 23

Algorithmic Composition

Monday 3/23 โ€” Wavetable Synthesis, 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.

Patches
  • 04.waveshaping.maxpat
  • 05.wavetable.distortion.bands.maxpat
  • 06.wavefolder.maxpat

More coming soon โ€”ย check back frequently!