Max is a powerful platform that accommodates and connects a wide variety of tools for sound, graphics, music and interactivity using a flexible patching and programming environment. Max allows most computer users to write a simple, meaningful program within a few minutes, even with limited programming knowledge. But to do something more substantial it's necessary to approach Max as an actual programming language, by taking advantage of its various mechanisms for abstracting program elements into scalable, reusable components that can be combined in increasingly powerful ways.
This class will not cover every single capability of the language, but instead will focus on key concepts and mechanisms that will allow for tremendous new freedom and possibilities in Max. The class will touch upon:
- sound and movie playback
- sound synthesis
- sound and video effects processing
- algorithmic composition
- cross-modal mappings (e.g., video affecting audio and vice versa)
- interactive control (e.g., from QWERTY keyboard, mouse, USB devices, Open Sound Control)
Max programming, like most interesting topics, has deep aspects and shallow aspects. This course will largely focus on the deep aspects: principles, concepts, techniques, and theory. If you understand these underlying aspects, your capacity to create in Max will deepen exponentially.
At the same time, this is not just a theory class. You will also create your own projects using Max. This course will teach the minimum you need to start working on assignments, but mostly I will teach you how to learn or look up the shallow knowledge on your own using Max’s built-in documentation, the Internet, and the Kadenze course forum, as well as how to program your own tests that answer specific questions or reveal potential bugs. Working in this way, you will also develop essential skills and habits that will develop confidence and self-sufficiency, and serve you in the future.