Tag: video

ep-426 Interactive video – Spring 2015 week 3

The matrix

(under construction)


Review of Jitter tutorials:

tutorial 1: play a Quicktime movie
  • bang sends a matrix (once)
  • jit.fpsgui for debugging
  • How would you play a movie play backwards?
tutorial 2: build a single plane matrix
  • Anything can be transformed into a matrix
  • Create a matrix, row by row, using math (p fillmatrix)
  • How to get and set individual cells in a matrix
  • jit.matrix
  • How would you make pixel art? a drawing program? a spectrum display?
  • A lot of specialized Jitter objects are abstractions that do what this tutorial demonstrates – i.e.., building or transforming the planes of a matrix
tutorial 3:  math operations on entire matrix/plane
  • @op (is an attribute) : was it good design in Max to have both messages and attributes?
  • scalar, vector
  • pass
  • integer/float
  • What happens in a jit.pwindow with display size smaller than the matrix?
  • upsampling/downsampling
tutorial 4:  movie playback.
  • jit.qt.movie will play back URL’s (audio and images) – but you can’t work with the sound in Max without Soundflower
  • scrubbing and looping produces interesting fx
  • hardware controllers
tutorial 5: ARGBI
  • Rearranging planes
  • 8 bit char data type 0-255
  • line object (grain size)
tutorial 6 : color
  • scalebias:  normalized 0.->1. values, not with 0-255 values (look at the subpatcher)
  • planemap attribute for jit.matrix
tutorial 7: hue and BRCOSA
  • 2 very different ways of transforming (i.e., filtering) color and light
  • Why do we seen green with emphasis and detail?
  • hue angle is a way of gradually shifting around the color wheel.
tutorial 8: simple mixing
  • jit.xfade
  • line object
tutorial 9 – more mixing
  • Using various operators to transition, with jit.op, and using jit.scalebias to scale the input values to prevent clipping
tutorial 10 – chromakey
  • doesn’t need to be green.
  • Could you do a performance where you paste yourself into a band video.
  • napoleon dynamite
  • actual green screen


Max 7 lessons review

  • fantastic sounds
  • RGB music
  • geometric dreams

State of the art:



Design a project that will be due at the mid-term. Send me an email next week describing the project.

Continue working through the Jitter tutorials 4-12

Design a prototype of a synthesizer that generates accompaniment for animated GIF’s


There will be no class next week February 10th


Andrew Benson’s Jitter recipes: https://cycling74.com/search-results/#gsc.tab=0&gsc.q=jitter%20recipes

Screen Shot 2015-02-02 at 12.47.05 AM

Screen Shot 2015-02-02 at 12.47.30 AM

ep-426 syllabus – Spring 2015

Interactive video programming and performance

Spring 2015

teacher: Tom Zicarelli – http://tomzicarelli.com

You can reach me at:  tzicarelli@berklee.edu

Office hours: Tuesday 1-2 PM, or Tuesday 4-5PM, at the EPD office #401 at 161 Mass Ave. Please email or call ahead.

Assignments and class notes will be posted to this blog: http://reactivemusic.net before or after the class. Search for: ep-426 to find the notes

Examples, software, links, and references demonstrated in class are available for you to use. If there is something missing from the notes,  please ask about it. This is your textbook.


Everybody calls this course “The Jitter class” – referring to Max/MSP jitter from Cycling 74. You will learn to use Jitter. But the object is to create interactive visual art. Jitter is one tool of many available.

The field of interactive visual art is constantly evolving.

After you take the course, you will have designed projects. You might design a new tool for other artists. You will have opportunities to solve problems.  You will become familiar with how others make interactive art. You will explore the connection between sound, video, graphics, sensors, and data. You will be exposed to to a world of possibilities – which you may embrace or reject.

We will explore a range of methods and have opportunities to use them in projects. We’ll look at examples by artists – asking the question: How does that work?

Topics: (subject to change)

  1. Jitter
  2. Matrixes
  3. Reverse engineering
  4. Visualization of audio
  5. Visualization of live data, API’s
  6. Video analysis (realtime)
  7. Video hardware and controllers
  8. Prototyping
  9. Video signal processing
  10. OpenGL
  11. Other tools: Processing, WebGL, Canvas, 2d graphics
  12. Portfolios
  13. Live performance

Grading and projects:

Grades are based on two projects that you will design – and class participation. Please see Neil Leonard’s EP-426 syllabus for details. I encourage and will give credit for: collaboration with other students, outside projects, performances, independent projects, and anything else that will foster your growth and success.

I am open to alternative projects. For example, if you want to use this course as an opportunity to develop a larger project or continue a work in progress.

Reference material



cv.jit motion analysis

By Jean-Marc Pelletier


Motion Analysis

cv.jit.opticalflow Estimates the optical flow using various algorithms.
cv.jit.LKflow Estimates the optical flow using the Lucas-Kanade technique.
cv.jit.HSflow Estimates the optical flow using the Horn-Schunk technique.
cv.jit.track Track the position of up to 255 individual pixels.
cv.jit.features2track Initialize cv.jit.track to easiest pixels to track.
cv.jit.framesub Difference between consecutive frames.
cv.jit.shift Region tracking using the MeanShift and CAMShift algorithms.
cv.jit.touches Track multiple regions at a time. (Optimized for multi-touch interfaces.)


Project examples:



green screen in Max

Live chroma-key example using the built-in camera.

Hacked from jitter help files…



folder: chroma-key

patch: greenScreen1.maxpat

  • click open (screen grab)
  • click read – to open a movie file
  • click start/stop toggle
  • in the grab viewer, select the background color to chromakey, by clicking with mouse

This really works best with an external camera and a large monochromatic background.


  • Max/MSP – Jitter
  • builtin camera