Interactive Arts Programming

Monday June 12, 2006, 9:30-12:30:

Final project presentations. Give a 12-minute presentation of your completed interactive arts project.

For Friday June 9, 2006:

Come prepared with questions related to your final project. You can email Eric in advance with questions you would like to have him address in class. This will be the last class meeting before the final presentations, so you should consult with Eric to make sure that your presentation will be feasible and successful.

Wednesday June 7, 2006:

No class meeting.

For Monday June 5, 2006:

Come prepared to discuss questions/issues related to your final project. You can email Eric in advance with questions you would like to have him address in class.

For Wednesday May 31, 2006:

Make a software example of guided movement of an image onscreen and/or image compositing, using the techniques demonstrated in class this week. This might include such techniques as a) using jit.lcd to draw shapes, pictures, and/or text onscreen and overlay it onto another image, b) using the source and destination dimensions of an image matrix to place it in a particular spot on top of another image (picture-in-picture), c) compositing one image or video onto another using lumakey, chromakey, or alphablend techniques, etc.

Jitter tutorials that might be helpful for this include "10j. Chromakeying", "14j. Matrix Positioning", "15j. Image Rotation", "29j. Using the Alpha Channel", or for those brave souls wanting to work with OpenGL 3D animation Tutorials 30j and 31j. Tutorial "38j. Basic Performance Setup" is also relevant for issues of window positioning.

See also the new examples posted on the Examples page for the May 22 and May 24 class sessions.

Wednesday May 17, 2006:

Eric Kabisch will discuss his MFA thesis project, being constructed in the Beall Center for the ACE MFA thesis exhibition opening May 18.

For Monday May 15, 2006:

Study Jitter Tutorials 14j "Matrix Positioning", 25j "Color Tracking", 26j "MIDI Control", and 28j "Audio Control". Think how issues in those tutorials -- such as matrix dimensions, information in an image, control of video parameters, and relationships between audio and video and control data -- might be relevant to your own project, and come to class prepared to ask questions about these tutorials.

By the end of the day Sunday May 14, send to the professor and the TA a write-up of your proposed final project, including a) a synopsis of your artistic goal (and/or experiential goal for the user), b) a description of what software you will write and what physical object(s) you will need to produce or organize, if any (i.e. hardware or other physical interface to be used with your software), c) a list of what media (audio files, video files, pictures, etc.) you will need to produce or obtain, and d) your timeline of how you plan to accomplish it by the end of the tenth week of the quarter. Be prepared to discuss this in class.

For Wednesday May 10, 2006:

Come to class prepared to give a brief description/demo of your midterm project, and to discuss your plans for your final project.

Monday May 8, 2006:

Guest lecture by Beall Center visiting artist Andrea Polli.

For Friday May 5, 2006:

Come to lab prepared to discuss problems and questions you have encountered while working on your midterm project. Your project should be just about complete at this point, so you should, if possible, bring your software to class to show to the TA and get feedback about possible improvements. (You can bring it on CD, thumb drive, or on a laptop that you plug directly into the projector.

By the end of the day, you should submit your finished project to both the professor and the TA. If appropriate, you can send your work as an email attachment. Alternatively, you can upload your work to a website/FTPsite and send the URL to the professor and TA. You may also submit your work on CD or other appropriate medium. In any case, your software and media should be accompanied by as thorough a prose explanation as possible, to help others understand your goals and your solutions.

For Wednesday May 3, 2006:

Come to class prepared to discuss problems and questions you have encountered while working on your midterm project. If you can bring some of your programming work to show to the class, so much the better. (You can bring it on CD, thumb drive, or on a laptop that you plug directly into the projector.

For Monday May 1, 2006:

Study chapters 22 and 31 in the Max Tutorials (Max45TutorialsAndTopics.pdf): "Delay Lines" and "Using Timers". In any of the Tutorials (Max Tutorial, MSP Tutorial or Jitter Tutorial), look through the table of contents to find at least one tutorial chapter that's directly applicable to your midterm project, and study it.

For Wednesday April 26, 2006:

Come to class prepared to discuss specific problems or questions related to your own midterm project.

For Monday April 24, 2006:

In the Jitter Manual (Jitter15Tutorial.pdf), read pages 16-42 and 51-58: the chapters "How to Use the Jitter Documentation", "What is a Matrix?", "Attributes: Editing Jitter Object Parameters", "Tutorial 1: Playing a Movie", "Tutorial 2: Create a Matrix", (skip Tutorial 3), "Tutorial 4: Controlling Movie Playback", and the beginning of "Tutorial 5: ARGB Color".

For Wednesday April 19, 2006:

Come to class prepared to discuss your ideas for your first programming project: what you want to accomplish, what you think you need to learn in order to accomplish it, and a plan of action (as well as you can devise it at this point) of how you intend to proceed in order to accomplish it. Write these ideas out and send them by email to the professor and the TA by the end of the day on Monday April 17.

For Monday April 17, 2006:

Continue working through as many tutorial chapters (and accompanying patches) as you can, concentrating on whichever set of tutorials you feel is most appropriate to your level and interests: Max Tutorials for Max programming basics and MIDI, MSP Tutorials for playing and processing audio, and/or Jitter Tutorials for video and visualization. You might also benefit from studying the many examples on the Examples page (and the other example pages linked to that page).

For Friday April 14, 2006:

There are different ranges of numbers that you might want to use in Max. For example, most MIDI data that you want to send (or that you receive from a keyboard) is in the range 0 to 127 (integers); the range of pitches from cello low C to flute high C, however, is from 36 to 96 (integers); the range of amplitudes for MSP signals that you want to hear is usually 0 to 1 (fractional values); the range of frequencies corresponding to cello low C and flute high C, though, is from about 65.4 to 2093.0; the range of most Jitter values is from 0 to 1 (fractional values), but the range of cells in a matrix might go from 0 to 319 (integers in the x dimension) or 0 to 239 (integers in the y dimension). You may need to make a translation (a mapping) from one range to another.

Create for yourself a situation in which you need to map one range of values to another, and see if you can make it work in Max. For example, map the range of pitch classes (C, C#, D, etc. represented as integers from 0 to 11) into the range of hue angles (for the hue_angle attribute of the jit.hue object, from 0 to 359). Or map the range of incoming audio amplitudes (from adc~, in the fractional range 0 to 1) inversely to the brightness of a video (the brightness attribute of the jit.brcosa object, from 1=normal brightness down to 0=blackness). Think up other correspondences you would like to try, and try to build them in Max.

For some examples, you might want to look at MSP Tutorial 18 (Mapping MIDI to MSP) and Jitter Tutorial 26j (MIDI Control).

Write a Max patch that takes numeric data from one source and uses that data to control some other media or parameter.

For Monday April 10, 2006:

Work through whichever Tutorial chapters are most appropriate for you. If you are just beginning with Max, you should begin by reading the chapter titled "Overview: The Max Application" in the manual MaxGettingStarted.pdf. Then you should begin working through as many as possible of the Max tutorials in the manual Max45TutorialsAndTopics.pdf; try to complete the first 10-12 tutorial chapters, trying out the accompanying example programs in the Tutorial Patches folder (Max Tutorials subfolder). If you already have some experience with Max/MSP, and feel pretty confident in your ability to do basic MIDI and audio tasks, you should begin working on the tutorials in the manual Jitter15Tutorial.pdf, trying out the accompanying example programs in the Tutorial Patches folder (Jitter Tutorials subfolder).

Read the article "Digital Audio" by Christopher Dobrian. (This is the same as the chapter "How Digital Audio Works" in the manual MSP45TutorialsAndTopics.pdf.)

Also read the chapter "How MSP Works" in the manual MSP45TutorialsAndTopics.pdf.

For Wednesday April 5, 2006:

Make arrangements to come to class with a computer to work on Max/MSP/Jitter. If you can bring your own laptop, download the Max/MSP and Jitter software and all necessary documentation and tutorials to that computer. If you cannot bring a laptop computer, you can use one of the computers in the REALab during class time, and you can use the computers in the Arts Media Center and the Accompaniment Lab for your work outside of class.

Read Music Programming by Christopher Dobrian.

This page was last modified May 31, 2006
Christopher Dobrian,