12 Weeks
Level 3
3-Credit Tuition
$1,545Non-Credit Tuition
$1,290This course is for students who are interested in building custom software to express interactive musical ideas. The environment we use is Max, a graphical programming language where ideas are connected with patch cables. Max is approachable to the novice, yet scalable and powerful for experienced programmers. You will convert human gestures into musically-useful data, and use data to power autonomous, responsive musical generators.
By the end of the course, you will be able to:
- Navigate the Max environment and use the key components of the Max user interface
- Send and receive MIDI information from/to controllers, external hardware, stand-alone applications, and software instruments
- Sequence musical patterns employing Max
- Generate chord progressions using Markov Chains
- Perform Frequency Modulation Synthesis using Max
- Perform Subtractive Synthesis using Max
- Manipulate audio and wavetable oscillators using Max objects
Syllabus
Lesson 1: The Max Environment
- Navigating the Max Environment
- Adding New Objects to the Max Environment
- Changing Object Properties with the Attributes Inspector
- Presentation Mode
- Assignment 1: Creating an Interactive Visual Artwork
Lesson 2: MIDI Input
- Parsing MIDI Data
- Keyboard and Mouse Input
- Numbers, Symbols, and Lists
- Object Focus: Midiin, Midiout, Midiparse
- Assignment 2: Creating a MIDI Monitor Application
Lesson 3: MIDI Output
- Hosting VST Effects and Instruments
- The Snapshots Window
- Virtual Cables
- Object Focus: Noteout, Vst~, Send~, Receive~
- Assignment 3: Monitoring Incoming MIDI Data
Lesson 4: Sequencing Musical Patterns
- Storing and Recalling Integers
- Beat-Relative Event Syntax
- Constructing Messages
- Object Focus: Metro, Counter Select
- Assignment 4: Building a Tempo-Relative Step Sequencer
Lesson 5: Probability
- Probability
- Order of Operation
- List Manipulation
- Object Focus: Pack, Unpack, Join, Unjoin
- Assignment 5: Creating a MIDI Drum Machine
Lesson 6: Data Structures
- Itable Quantile Function
- The Coll Object
- Symbol Manipulation
- Object Focus: Histo, Table, Coll
- Assignment 6: Aleatoric Music Composition
Lesson 7: Chord Progressions and Markov Chains
- Symbols and Chords
- Chord Progression Charts
- Chord Progression Generation
- Object Focus: Prob, Iter, Zl
- Assignment 7: Composing with a Markov Chain Player
Lesson 8: Frequency Modulation Synthesis
- Complex Envelope Generators
- Carrier and Modulator Ratios
- FM Index
- Object Focus: Sig~, Cycle~, Function
- Assignment 8: Two-Operator Chowing FM Synthesizer with Sequencer-Modulated Parameters
Lesson 9: Subtractive Synthesis
- Subtractive Synthesis Signal Topology
- Oscillators
- Musical Filters
- Object Focus: Cycle~, Saw, Phasor~
- Assignment 9: Subtractive Synthesizer
Lesson 10: Working with Audio (Part 1)
- Audio in Files
- Managing Audio in a Buffer
- Manipulate Audio in a Buffer
- Object Focus: Sfplay~, Sfrecord~, Sfinfo~
- Assignment 10: Sample Playback Drum Machine
Lesson 11: Working with Audio (Part 2)
- Channel Filtering
- Audio Loops
- Synchronization
- Object Focus: Groove~
- Assignment 11: Loop Machine
Lesson 12: Wavetable Synthesizer
- Advanced Buffer Techniques
- Peek and Poke
- Wavetable Oscillators
- Object Focus: Wave~, Peek~, Multislider
- Assignment 12: Procedural Composition and Synthesis System
Requirements
Prerequisites and Course-Specific Requirements
Prerequisite Courses, Knowledge, and/or Skills
Completion of Music Production 101 and Sound Design for the Electronic Musician or equivalent knowledge and experience is required.
Textbook(s)
- No textbooks required
Software
- Cycling '74 Max 8 or higher (Max for Live is not sufficient for the course)
Hardware
- MIDI keyboard controller
- One of the following studio monitoring options (both recommended):
- Studio monitors (pair), such as JBL 305Ps or better, as well as an audio interface and necessary cables
- Over-ear studio headphones, such as Sennheiser HD 600, Sony MDR-7506, Philips SHP9500, Audio-Technica ATH-M50x, etc.
Student Deals
After enrolling, be sure to check out our Student Deals page for various offers on software, hardware, and more. Please contact support@online.berklee.edu with any questions.
General Course Requirements
Below are the minimum requirements to access the course environment and participate in Live Classes. Please make sure to also check the Prerequisites and Course-Specific Requirements section above, and ensure your computer meets or exceeds the minimum system requirements for all software needed for your course.
Mac Users
PC Users
All Users
- Latest version of Google Chrome
- Zoom meeting software
- Webcam
- Speakers or headphones
- External or internal microphone
- Broadband Internet connection
Instructors
Author & Instructor
Matthew Davidson is an associate professor at Berklee College of Music’s Electronic Production and Design department. He is the course coordinator of the sound synthesis curriculum. Prior to Berklee, Matthew spent 20 years working on musical user interface design at MOTU, Cycling ’74, and others. He designed the user interface for a number of award-winning products, including Digital Performer, Volta, and MX4. Matthew is the co-author of BEAP, the virtual modular synthesis tool, and is the author of a number of well-known applications for monome open-source music interfaces. He has released music with Archetribe, Escape Philosophy, and Stretta. He performs internationally as Stretta. Matthew has been a Berklee College of Music faculty member since 2012.
What's Next?
When taken for credit, Max Programming: Introduction to Procedural Music can be applied towards the completion of these related programs:
Related Certificate Programs
Related Degree Majors
Questions?
Contact our Academic Advisors by phone at 1-866-BERKLEE (U.S.), 1-617-747-2146 (INT'L), or by email at advisors@online.berklee.edu.