Interactive Arts Programming

FINAL EXAM: Monday June 13, 2005, 9:30 am to 12:30 pm:

Finished and complete performance/presentation of a composition, improvisation environment, or other "user experience" employing interactivity programmed in Max/MSP/Jitter. Each student will present a performance to, or make a user environment available to, the others in the class. Software and associated files should be handed in on CD or other suitable medium, with all software well commented, and with the entire project documented in a detailed prose explanation.

Due Monday June 6, 2005:

Be ready to present a description of what you will present on June 13, i.e., exactly what will the "user" or the "audience" experience? Also provide a detailed listing of your technical needs and setup requirements for the presentation, so that we can plan an effective group presentation and critique.

Due Wednesday June 1, 2005:

Read sections 1-4 and section 7 of the article Computing Machinery and Intelligence (1950) by Alan Turing. Obviously, some parts of the article are of mainly historical interest because it was written more than fifty years ago, but it still poses relevant questions about the meaning of "intelligence" and the potential for computers to produce artificial "humanity". You can skip section 5 of the article, "Universality of Digital Computers", which is now antiquated, and you can just skim over section 6 "Contrary Views on the Main Question" (reading as carefully as you'd like based on your interest level) in which Turing presents and claims to refute many arguments against thinking machines. However, do read section 7 "Learning Machines". Consider the questions, "What is intelligence?" and "Can computers think or know?"

The Turing article, and the so-called "Turing Test" of intelligence that it describes have been the topic of much debate over the years. If it interests you, you can research it on the web. Specifically, you might want to read an argumentative rebuttal by John Searle titled Minds, Brains, and Programs.

Read about, and listen to, the work on "Experiments in Musical Intelligence" by David Cope. The best place to start is on his web page, and you can listen to some of the compositions done by his programs on his page of MP3 examples.

Due Monday May 23, 2005:

Hand in (by email or on paper) a detailed plan, including detailed timeline of intermediate goals and requirements, for completion of your project and its presentation on June 13.

Due Monday May 16, 2005:

Present your midterm project briefly in class, outlining your aesthetic goals and programming methods. Turn in your project on CD-ROM or as a .sit or .zip file archive.

Due Monday May 2, 2005:

Read the chapters "Matrices: What is a Matrix?" and "Attributes: Editing Jitter object parameters" in the Jitter Manual. Work through as many of the Jitter Tutorials as possible. Be sure to look especially at Tutorial chapters 1, 3, 4, 7, 8, 9, 14, and 15. (Intervening ones, too, of course, as time permits.)

Think of a very simple task you would like to do involving editing or mixing one or two QuickTime movies, and build a program to do it. Email that program as plain text to by class time on Monday.

Due Monday April 25, 2005:

In preparation for the performance by John Jannone, read Stillframe, or Periodic Infinities and a Button to Push (.pdf) by James Keepnews about the piece "Stillframe" by John Jannone, and visit this web site to listen to some other musical works by Jannone.

Do some research to learn the definition of "Fourier analysis" and "Fourier synthesis" and the application of them in digital audio. You might start with this definition, and the article Spectral Analysis: Taking the Waveform Apart by Peter Elsea (and the companion article The Mathematics of Electronic Music).

Read the online document (in PDF format) "Fourier Notes (.pdf)" by Peter Elsea.

Due Monday April 18, 2005:

Read pp. 4-27 of the MSP Tutorial and Topics manual: "Introduction", "How Digital Audio Works", and "How MSP Works: Max Patches and the MSP Signal Network" (in your MaxMSP Documentation folder, and also available on the Cycling '74 website as a PDF file).

Once you feel that you have understood the basics of Max (and are continuing to work through the Max tutorials), you should concurrently also begin to work through the MSP tutorials (and even some of the early Jitter tutorials if you're feeling ambitious). Devote as much time as possible to the tutorials now, so that you will be up to speed as much as possible in order to understand future class discussions.

In preparation for the coming week's class topics on "uses of randomness and probability" and "principles of program construction", you should specifically work through Max Tutorials 26-29.

Based on some of the topics we've discussed so far in class -- MIDI input and output, timing of events, counting through a sequence of events, mapping one range to another, and the use of control functions locally and globally -- make a small Max patch that does something you find interesting. It need not be highly sophisticated (in fact, it's best to start as simply as possible), but you should begin conceptualizing and implementing your own ideas in addition to looking at tutorials. That is the fastest way to learn. Make frequent use of the help files and the Reference manuals Max45ReferenceManual.pdf and MSP45ReferenceManual.pdf. Note that each of those reference manuals has at its end an Index as well as an "Object Thesaurus" to help you find the objects and information you need in order to complete a given task. And don't forget that Adobe Reader has a "Find..." command. :)

Due Monday April 11, 2005:

Read pp. 9-12 and 17-31 (ignore the discussion of "Attributes" for now) in the Max Getting Started manual -- found in the Documentation folder inside the Max folder, and also available online.

Work through as many of the Max Tutorials as possible -- Max45TutorialsAndTopics.pdf, found in the Documentation folder inside the Max folder, and also available online) -- reading the chapters and trying the example programs. You should be able to get through at least the first 15 tutorials or so (roughly three per day). Do more if you're able, of course.

Revise the Max patch from the April 6 class (the second day's Max patch) so that the scale is played with a crescendo, starting from a velocity of about 64 and ending with a velocity of exactly 127.

Due Wednesday April 6, 2005:

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 for your work outside of class.

Read Music Programming by Christopher Dobrian.

This page was last modified May 25, 2005
Christopher Dobrian,