Class Schedule
Please note: This schedule is a departure point only, and is subject to change based on the background and aptitudes of the class.
|
Discussion of Syllabus
Introduction to Cycling74’s Max
- How to Install Max and Documentation
- The Working Environment
- Max: Objects and Connections
- Inlets, Outlets, Flow of execution
- Mathematics Operators, Comparisons
- Class exercise: pseudo-code, incrementing counter
- How to download and install the trial version
Tutorial: Shooting video
Assignment: Max Tutorials 1 - 6
More max intro
- Sliders and other forms of input
- Routing, Gates and Switches
- Arguments
- Sub Patches
- Pack and unpack
- Class exercise: Visual Pattern from UI elements
Black Box programming
Digital video representation and storage
- Introduction to Video Matrixes
- jit.matrix, jit.unpack, jit.pack, jit.pwindow
- Playback/transport commands
Tutorial: capturing and editing video
Assignment: Max Tutorials 7 - 13, Jitter Tutorial 1 - 2
Introduction to Jitter
- jit.window
- Exporting video files
- Cross-fading and editing
Programming in Max
- Storage and access
- Presets object
- Sequencing events
Class Exercise: Making a simple video sequencer
Lab: Re-sequencing a video
Assignment: Jitter Tutorials 3 - 5
Week 4: September 29th – Assignment 1 is due.
Sampling and Positioning
- jit.submatrix
- Scissors and Glue, multiplexing
- Downsampling
- Repositioning
Image Level Adjustment
- Brightness Contrast Saturation
- Luma and Hue
- Scale and Bias
- Introduction to Color space
Jitter Operators
Video Information and Math
Live camera feed
Lab: Creating a Video Mixer
Assignment: Jitter Tutorials 6 - 10
Spatial Transformations
Special Effects
Class Exercise: Revisiting the video sequencer
Mixing and Compositing
- Advanced Cross Fading
- Alpha blending
- Luma and Chroma Keying
Video Generators
‘Cleaning’ video for processing
Lab: Faking an alpha channel
Week 6: October 13th – Assignment 2 is due.
Introduction to MSP
- Sound file playback
- DAC~ ADC~
- Gain and Monitoring
- Cycle~
- Play~ Buffer~
- Sfplay~
- Groove~
- Simple sound utilities
Class exercise: A sound file scrubber
Class exercise: Function based file playback
Class exercise: Feedback machine
Lab: Creating a sound ‘instrument’ (based on video drum machine example).
Extracting information
- Statistics objects
- Using color space information
Class exercise: creating a light Theremin
Value tracking
- Jit.findbounds
- Masking techniques
- Pre-processing for tracking
Tracking change
- Frame Differencing
- Background subtraction
Lab: Mapping strategies for a sound instrument
Introduction to the Computer Vision Library
- Installation
- Motion-tracking objects
- Morphology objects
Temporal Processing
- Statistics objects
- jit.slide
- jit.matrixset
Lab: A visual response to motion
Week 9: November 3rd – Midterm Project is due.
Mid-term Presentations
Lab: Visit to the black box theatre space.
Demonstration of spatialization and compositing system
Projection considerations
- Surfaces
- Techniques
Introduction to the Computer Vision Library
- Blob-tracking
- Characteristic tracking
- Edge Detection
- Shape Information
- Pattern Recognition
Lab: Extracting Information from video
Math objects
- Linear algebra
- jit.expr
Revisiting spatial repositioning
- Seed video vs. Calculation
- Casting
Class Exercise: Calculating displacement
Lattice-based programming techniques
Lab: In-class work period. Each group must meet with the instructor to discuss their final project. Groups should be ready to pitch their project concept including their strategies for implementation.
Week 12: November 24th - Optional Course Topic
Introduction to using OpenGL in Jitter
- GPU vs. CPU
- Introduction to 3d objects
- Creating simple forms
- The render object
- Importing more complex objects
- Drawing Points and Lines
- Mapping video to a plane
- The slab object
- Compositing in OpenGL
Lab: In-class work period
In-class work period
Week 14: December 8th – Final Projects are due.
Final project presentations and critique