Learning Max from Scratch

Since June 22nd, I have been a Teaching Assistant for the course Great Ideas in Computer Science with Java at Harvard Summer School.

During the first two lectures of the course, Pr. Henry Leitner introduced important concepts through programming in the Scratch environment. With Scratch, the students can focus on the notions of algorithm, conditions, loops, variables, without being overwhelmed by a complicated syntax. Scratch is very fun to use and makes it easy to embed images, sounds, and mouse- or keyboard-based interaction. Check out some examples of Scratch programs in these Galleries.

At the MIT and at Harvard, you may often hear that "Anybody Can Learn To Program" (in the great book How to Design Programs: An Introduction to Programming and Computing, the authors push a little further: "Everybody Should Learn To Program"). With Scratch, "Everybody Can Learn To Program Fast".

Scratch Program Max MSP Jitter Patch
Scratch and Max MSP versions of a simple interactive musical program (click to enlarge)

Learning Max from Scratch - Course Outline

As it is a good introduction to Java, Scratch would be a good introduction to Max MSP. I just designed this outline of a first semester course that could be entitled Live Electronic Music with Max 5, or maybe Learning Max from Scratch. It's a draft, there is room for improvement: don't hesitate to comment!

  1. Introduction to Scratch
    • algorithm
    • condition, loop, variable
  2. From Scratch to Max
    • introduction to MIDI
    • Project 1: program an audio-visual application in Scratch
  3. Introduction to Max/MSP
    • Max basics: patcher, messages, right-to-left order, and more
    • digital sound basics: audio input & output, play a sound file, and more
    • a toggle is not a toggle
    • Max Help is helpful
  4. Digital Sound Synthesis
    • additive synthesis
    • substrative synthesis
    • frequency modulation
    • wavetable
  5. Live Sound Processing & The Power of Abstraction
    • real-time transposition
    • delay lines
    • ring modulation
    • wishful thinking
    • encapsulation and abstractions
    • patchers documentation
  6. Sampling
    • the vinyl is not dead
    • audio buffers to record & playback
    • Project 2: must use sampling
  7. MIDI is Not Dead
    • effects & generators
    • control surfaces & human interfaces
  8. Polyphony & Panning
    • build a polyphonic synthesizer
    • panning
    • Project 3: must use polyphonic digital sound processing
  9. User Interface & Work with Files
    • the design of everyday things
    • simple is not so simple
    • presentation mode
    • folders & files
  10. Granulation
    • analog granulation
    • windowing grains of sounds
    • back to live transposition
  11. Presets
    • preset ideas
    • real-time interpolation between any number of presets
    • Project 4: must use MIDI and presets
  12. Timing in Max
    • schedule events
    • transport
    • low frequency oscillators & synchronization
  13. Concert & Rehearsals
    • practice
    • write the score
    • Project 5: must be cool!


Popular posts from this blog

Max for Live: Extreme Time Stretching with Spectral Stretch

GroundSwell 2020 Emerging Composers Competition

A Free Tutorial on Spectral Sound Processing Using Max/MSP and Jitter