This is the Dataflow trio of courses covering media programming using the Max family of programming environments (Max/MSP and Pd), is a 2 point half-semester course at New York University's Tisch School of the Arts Interactive Telecommunications Program:
Introduction to Dataflow Programming
Graphical dataflow programming languages like the Max family (Pd aka Pure Data, Max/MSP, jMax, etc.) provide a more intuitive approach to media creation and manipulation. This paradigm is based on mapping out the flow of the data, which more closely mirrors the experience of realtime media. Pd has its roots in realtime audio programming and that is the core of the class. We start with the basics of Pd itself, and cover sampling, synthesis, processing, syncing audio to video, sensor I/O, networking, and how to organize large projects. The Max paradigm is compared to text-based languages like Processing to provide an idea of their differences and similarities, as well as their respective strengths and weaknesses. This course is structured around learning by doing, so students have regular assignments to explore the ideas covered in class, as well as a final project. The focus is on Pd, but much of this knowledge is applicable to Max/MSP as well.
Boxes and Lines for Rods and Cones: Video Programming in Max'''
Building on the skills learned in "Intro to Dataflow Programming" this course will explore the possibilities of real time video compositing and manipulation. Somewhat different from audio and signal manipulation, video control in Jitter is based around matricies. We will discuss how video works in a matrix, issues around optimization of video formats and live feeds, and how to setup patches that are ready for performance and installation. We will also explore some of the related OpenGL and 3D tools. While the "Intro to Dataflow" course used Pd, we will be working with the Jitter package in Max/MSP. The concepts we will be covering can be applied to other dataflow environments, like Quartz Composer and Gridflow for Pd, though it is not as directly applicable as Pd to Max. The prerequisite for this two point course, which meets the second seven weeks of the semester, is "Intro to Dataflow Programming", which meets the first seven weeks, (or equivalent experience).
Digital audio has a vast array of possibilities far beyond music playback. Data sonification reinforces visualization. Processing sound can give you data like a sensor. Foley sounds to make a video sound alive. A soundtrack generated from the same data as the video tightly links the two. Extract data from music and make algorithmic responses. Realtime digital audio processing lets you synthesize a huge array of sounds, create your own sampler, and build your own musical instrument. All completely open ended, you define how it works. Sound provides an alternate channel of communication to other sense, with its own strengths and weaknesses. Humans are able to hear minute differences in time, its the most time sensitive sense. Huge amounts of audio processing happen in the background of our brains, we will hear our name mentioned in a crowded room with no effort. This class will introduce how sound works in the computer, our brain, and the physical world. In parallel, it will introduce how to shape, analyze and control sound. The aim is to provide a basic knowledge of principles and practices of digital audio from a creative perspective. While digital audio involves heavy math, this course presents a working knowledge over the normal detailed math approach to digital signal processing for audio. Pd has its roots in realtime audio programming and that is the core of the class. You will end up with a launching point for further learning, especially in interactive, non-narrative sound. The final project is an interactive or generated piece that uses or makes sound. This course uses Pd, but much of this knowledge is applicable to Max/MSP as well. The prerequisite for this 2 point course, which meets the second seven weeks of the semester, is the two-point course "Intro to Dataflow Programming", which meets in the first seven weeks, (or equivalent experience). This two-point course meets for the second seven weeks of the semester. ( )