An Interview with Randall Packer
Composer Randall Packer collaborated with Opera Singer Charles Lane, Designer Greg Kuhn and Director Melissa Weaver to create a theater piece entitled A Season in Hell, premiering at the Zero1 Festival in San Jose on September 17-19, 2010.
A Season in Hell is a ground-breaking multimedia performance work that integrates a complex electronic musical score and vocal performance with multiple forms of digital media, video projection, surround-sound, objects, and storytelling to fuse live performance, installation, and sculpture into an otherworldly theatrical experience. We spoke to Randall Packer and Max/MSP/Jitter programmer Craig Roche about the performance and the Max patch that runs the entire show.
Please tell us a little about your theater piece, A Season in Hell, and what inspired it.
Randall Packer: I moved to Washington, ten years ago, I created a project called The U.S. Department of Art and Technology, which was a conceptual art project that I turned this into a performance project. I was Director of the department, and I gave speeches, and did performances, and installations, that centered around the whole notion of an artist-driven government agency. It was kind of a utopian prototype of what the government might be like if it were actually run by artists.
I called on one my oldest friends and long-time collaborator Charles Lane, a tenor, who sings with the LA Opera. We met when we were at Cal Arts, many, many years ago, when I was studying music there.
So Charles and I began to work on this music-theater piece, or video opera, A Season in Hell, based on the poem by Arthur Rimbaud, which we were both totally enthralled with when we were students and Cal Arts, 30 years ago. We had talked about doing a piece based on this poem about the disintegration of humanity, and how the artist copes with that. So we decided it was time to do A Season in Hell.
We began to travel around the country. Charles came to Washington first, and we thought about how we could do this. We created a character called Orph, based on the legend of Orpheus. Charles as Orph would lead me through the underworld of America.
We created this kind of surreal idea that the nation had actually died, with the second inauguration of Bush. I built a grave, a sculptural installation with six monitors buried in soil, and I loaded all the video footage, news footage that had been happening up until that point in 2005.Then the idea was that Charles and I would descend into the grave, into the underworld of America. So we went all around the country filming. We started in Washington, and we went to New Orleans right after Katrina to do a site-specific performance there, and filmed that. We went to the Bible Belt and filmed all kinds of religious iconography.
Charles is African-American, and we went to an African-American cemetery where slaves are buried.Then we did the last filming in Death Valley, which was the idea that we had descended to the very bottom of America. We filmed the ending of the work there.
By that point, it was 2007, and we had finished all the filming, and I began to work on editing all this material. I had thousands of hours of material recorded off of television, cable news footage, as well as all the footage that we had done in these different locations. I had even gone to Crawford, Texas, and just filmed all the things that were happening in the country during that 2005-2007 period.
Then, in 2009, we got the commission from Zero One to do the theater production. I don't know if you're familiar with Zero One, but it's a media-arts festival based in San Jose. Then I pulled together a team. I found a director, Melissa Weaver. I called on another old collaborator of mine, Nick Gregory Kuhn, to do the sound design, and set design.
The four of us began working on a script that brought all of this material and performances and the history of The U.S. Department of Art and Technology together into one full-length, evening theater piece, A Season in Hell. So we've been working on that for the past year and a half.
Is it true that the entire show is run from Max/MSP?
Randall Packer: A former student of mine at American University in Washington, Craig Roche started working on a software system that's being written in Max, that runs the whole show. It brings together five video projectors, the main projection screen, plus all sorts of other projectors that are hung from the pipes and point in different directions on scrims, as we create this very complex and ‘labyrinthian’ underworld of video imagery. Then that's synchronized with a musical score that's running in Logic. So Max is basically all tied in with Logic, to perfectly synchronize five video feeds, surround sound, and the musical score.
Can you describe the patch and its functions?
Craig Roche: The patch consists of four main components: the interface, the resource manager, the playback system, and the main render loop. The resource manager is implemented in JavaScript, and in Max as two js objects connected to a few other objects. The resource manager is responsible for loading all of the video files used throughout the performance, and providing an interface for accessing those videos.
It’s implemented as an array of jit.qt.movie objects and a few JavaScript classes that structure the behavior of those objects. Because there are several projectors used in the show and they are all in different resolutions and orientations -- some projectors are turned sideways -- there are some video files that contain the same content but have been oriented or stylized differently. The resource manager associates these different files with the same clip name, and when the clip is triggered it will choose the appropriate video file based upon the destination.
The playback system consists of a cue sheet and a SMPTE timecode transport. When the transport is playing, it triggers cues on the cue sheet and sends midi time code to a separate computer running Logic Pro to maintain sync between the audio and video. The columns in the cue sheet correspond to the five video projectors, and when a cue is triggered the names and symbols in the columns are sent to the resource manager. The resource manager then starts playback of the corresponding jit.qt.movie objects. It also determines which video files are no longer in use and automatically stops those objects. Whenever the jit.qt.movie objects are triggered, the names of the Jitter matrices are sent to objects in the main render loop, where they are mixed and sent out to the projectors.
About 95% of these operations are hidden from the interface objects, which are connected remotely.
What was your biggest challenge in this project?
Craig Roche: The biggest challenge was finding an elegant way to organize the flow of information throughout the patch. The patch includes many abstractions that need to communicate with a large number of objects. For this reason, many objects are connected to receive objects so that they can be accessed from anywhere in the patch. All of the interface elements are connected to the rest of the patch through send and forward objects. This is done for organization. Another example is a jsobject connected directly to a forward object that initializes the patch by sending messages to over 20 locations.
What was the most useful object?
Craig Roche: This is a difficult question to answer because I can think of at least a hundred objects that the patch depends on, including, of course, many Jitter objects that are the basis for the system. I suppose the most useful objects have been: receive, forward, and bpatcher. When used correctly they facilitate the proper organization of the other objects. Without bpatcher it would have been very difficult to design a simple and effective interface.
What was the reasoning behind the use of Excel Spreadsheets?
Craig Roche: The spreadsheets, which are edited in Excel, are actually saved as tab-delimited text files and are parsed by JavaScript with the Max js object. An external application is used for two main reasons. First, it allows the show to be modified without running the patch. This means the computer that is used does not need to have Max installed, and it also allows someone who is unfamiliar with the patch interface to make modifications. Second, if the show cannot be edited within the patch itself, there is no chance of a user accidentally modifying the show. There are a number of interns that have been running the patch during rehearsal, and if anything ever goes wrong it is easy to reset the patch. None of the data is ever permanently changed.
Would you care to share any advice or tips for others trying to accomplish this?
Craig Roche: When working on a project of this scale, make extensive use of encapsulation. It is my personal philosophy that when the main patch is opened, all that should be visible at the highest level are abstractions and interface objects. Take the time to sketch out your ideas and determine the flow of information between the highest-level abstractions of the patch before implementing all of the gritty details. This could save you a lot of time.
Would you approach anything differently now that you have experience with the patch?
Craig Roche: I went through several rewrites of the patch early on because I didn’t take the time to carefully sketch out my ideas. With what I know now, I would examine the big picture first and design the smaller components later. This is something that anyone must learn to do if they are to complete a very large project.
A Season in Hell plays September 17-19 At the San Jose Stage as part of the 2010 01SJ Biennial. Tickets available online.
Interview by Marsha Vdovin and Ron MacLeod for Cycling '74.
by Marsha Vdovin on September 16, 2010