Golan Levin and Collaborators

Flong Blog + News

Messa di Voce Performance in NYC, Monday February 23!

21 February 2009 / announcement, performance, thanks

I’m delighted to announce the US premiere of Messa di Voce (by Golan Levin,  Zachary Lieberman, Jaap Blonk and Joan La Barbara), in a free concert at NYU’s Frederick Loewe Theater on Monday, February 23 at 8pm. If you’re in New York City, please come see it! Complete information can be found here. Tickets are free and there are no reservations, so be sure to come early if you’re interested.

This production of Messa di Voce, commissioned by the Electronic Music Foundation in collaboration with the NYU Interactive Arts Series, is an interactive audiovisual performance featuring extreme vocal techniques by master composer-improvisers Joan La Barbara and Jaap Blonk, and dynamically-generated visualizations of vocal sound and audio processing by Tmema (Golan Levin and Zachary Lieberman).


Messa di Voce (Performance), Excerpts from Tmema on Vimeo.

For this production of Messa di Voce we are grateful for generous support from the Electronic Music Foundation, the NYU Interactive Arts Series, Bitforms Gallery, and New City Video & Staging. Messa di Voce was originally commisioned in 2003 by the Ars Electronica Festival, and was produced with the generous support of: SAP, Art+Com AG, Speechworks, la Fondation Daniel Langlois pour l’art, la science et la technologie, the Eyebeam Atelier Artist Residency Program, Ars Electronica Futurelab, the Linz Brucknerhaus, the Lower Manhattan Cultural Council (LMCC), the Rockefeller Foundation Multi-Arts Production Fund, and the New York State Council on the Arts.

Messa di Voce (Performance)


“ART AND CODE” Conference at CMU, March 7-9

15 February 2009 / announcement, lecture, pedagogy, thanks

From March 7-9, I will be directing ART AND CODE, a conference on “Programming Environments for Artists, Young People and the Rest of Us“, held on the campus of Carnegie Mellon in Pittsburgh. Come join us!

ART AND CODE

This conference is going to be a remarkable summit of sorts, as it will feature presentations and hands-on workshops by the creators of ten significant scripting languages for the arts. I’m tremendously honored to be hosting such a profoundly influential cohort of educator/artist/developers, including Dr. Wanda Dann and Don Slater (Alice), Dr. WooHoo (ExtendScript), _Why the lucky stiff (Hackety Hack), R. Luke DuBois (Max/MSP/Jitter), Zach Lieberman, Theo Watson, and Arturo Castro (openFrameworks), Casey Reas, Ben Fry, and Daniel Shiffman (Processing),  Ira Greenberg (Processing and ActionScript), John Maloney and Evelyn Eastmond (Scratch), DeVaris Brown (Silverlight), Sebastian Oschatz (VVVV), Hans-Christoph Steiner (PureData), and Tom McMail (Microsoft Research). There will be more than 25 workshops, 10 lecture presentations, panels discussions, and much more. (And it’s still not enough: I grieve to recall some of the major art-programming tools I didn’t have the resources to invite.)

The conference is made possible by a grant from Microsoft Research, with oversight from the Center for Computational Thinking at CMU, whose mission is to “advocate for the widespread use of computational thinking to improve people’s lives”, and with administrative and logistical support from the STUDIO for Creative Inquiry at CMU, whose mission is to support “atypical, interdisciplinary, and inter-institutional research at the intersection of arts and technologies.” Thanks everyone for making this possible!


Symposium: Code, Form, Space (February 3-7 at CMU)

14 January 2009 / announcement, lecture, pedagogy

I am delighted to announce “Code, Form, Space”, a mini-symposium about generative form and digital fabrication, which will be held at Carnegie Mellon University during the week of February 3-7. Nearly all of the events are completely free and open to the public – and include lecture presentations by such distinguished computational artist/designers as C.E.B. Reas, Marius Watz, Ben Pell, and Michael Meredith and Hilary Sample of MOS Architects. I’m co-directing this event in collaboration with Jeremy Ficca (Professor of Architecture and Director of the CMU Digital Fabrication Lab), the CMU School of Art Lecture Series, and the Pittsburgh Center for the Arts. If you’re around Pittsburgh that week, please drop by! More information is below; the image links to a printable PDF brochure:

Code, Form, Space: Printable PDF Brochure

SYMPOSIUM SUMMARY:
Algorithmic processes
, harnessed through the medium of code, allow creators to generate complex forms and organic structures by the application of elementary but carefully-tuned sets of rules. Digital fabrication systems, such as computer-controlled laser cutters, 3D printers, and machining systems, offer a nearly instantaneous way of exploring ideas in new spatial and material formats. The combination of these two approaches represents an extreme but growing position in art and design, wherein the traditions of hand-craft are exchanged almost entirely for the unprecedented possibilities made possible through a demanding new form of mind-craft.

In this mini-symposium, we present four practitioners – C.E.B. Reas, Marius Watz, Ben Pell, and MOS Architects (directed by Michael Meredith and Hilary Sample) – who are refiguring the material world through rule systems and digital fabrication tools. Their work spans the disciplines of art, design, architecture, and engineering; the objectives of provocation, of utility, and of pure aesthetic delight; and the realms of bits, atoms, and ideas. All of these practitioners have singularly rigorous personal aesthetics and sensitive understandings of how the arts can transform the way we live. In their contrasting approaches at the limits of digital craft we can catch a glimpse of a new humanism in our increasingly computer-articulated environments.

PUBLIC EVENTS:
DIALOGUE Tues. Feb. 3rd, 5-6pm, McConomy Hall: C.E.B. Reas and Marius Watz.
LUNCHEON + DISCUSSION Weds. Feb. 4th, 12-1pm, MM203: Reas, Watz, Pell, Ficca, Levin.
LECTURE Weds. Feb. 4th, 5-6pm, Giant Eagle Auditorium: Ben Pell.
LECTURE Thurs. Feb. 5th, 5-6pm, Giant Eagle Auditorium: MOS Architects.
EXHIBITION OPENING Sat. Feb. 7th, 5:30-8:30pm, PCA: C.E.B. Reas and Marius Watz.
All events are held on the campus of Carnegie Mellon University, Pittsburgh,
except for the exhibition opening at the Pittsburgh Center for the Arts.
For more information, please see the PDF brochure, linked above.


Three Tiny Programs: Time-Lapse, Stop-Motion, Slit-Scan

4 January 2009 / code, pedagogy, reference

This afternoon, I created three tiny Processing programs to serve as educational tools for exploring different relationships between video and time: time-lapse recording, stop-motion animation, and slit-scan imaging. These programs were created for students in my new course, “Interactive Technologies for Live Performance”, which I’m teaching this spring in collaboration with Matt Gray from the CMU School of Drama.

A Time-Lapse Recorder

This Processing program for Time-Lapse Recording connects to the computer’s built-in web camera (or other attached video camera), and then stashes images from the camera to the hard disk at regular intervals. To use this program, download the free Processing environment, copy-and-paste the following text into the main Processing code area, save the sketch, and press the Run button. (The program will start recording consecutively-numbered images into the Sketch Folder for that program, which you can access from the Sketch menu. To compile a video from these images, import them into your favorite video editor, such as Quicktime Pro, AfterEffects or FinalCut).

// TINY TIME-LAPSE PROGRAM
// Saves an image from the camera once per second,
// or at some other user-defined interval.
// For Processing Version 1.01.
 
//----------------------------------------------------------
// Parameters you can modify
int videoWidth  = 320; // could be 160, 320, 640, etc.
int videoHeight = 240; // could be 120, 240, 480, etc.
int     period = 1000; // milliseconds between frames
 
//----------------------------------------------------------
import  processing.video.*;
Capture myCapture;
long    lastCaptureTime = 0;
int     saveCount = 0;
 
//----------------------------------------------------------
void setup(){
  myCapture = new Capture(this, videoWidth,videoHeight);
  size(myCapture.width,myCapture.height);
}
 
//----------------------------------------------------------
void draw() {
  if(myCapture.available()) {
    myCapture.read();
    image(myCapture, 0,0); 
 
    long now = millis();
    if ((now - lastCaptureTime) >= period){
      String filename = "timelapse_" + nf(saveCount, 6) + ".jpg";
      saveFrame(filename);
      lastCaptureTime = now;
      saveCount++;
    }
  }
}

A Stop-Frame Animation Tool

The following code for a Stop-Frame Animation tool is very similar, but it only records images to disk when the user clicks the mouse or presses a key on the keyboard. It also includes a very basic “onion-skinning” feature, which allows you to see the current video signal in relation to the previously captured image.

// TINY STOP-FRAME PROGRAM
// Saves an image from the camera when a key/mouse is pressed.
// For Processing Version 1.01.
 
//----------------------------------------------------------
// Parameters you can modify:
int videoWidth  = 320; // could be 160, 320, 640, etc.
int videoHeight = 240; // could be 120, 240, 480, etc.
int onionSkinTransparency = 127; // between 0 and 255
 
//----------------------------------------------------------
import  processing.video.*;
PImage  previousImage;
Capture myCapture;
int     saveCount = 0;
boolean bDoSave = false;
 
//----------------------------------------------------------
void setup(){
  myCapture = new Capture(this, videoWidth,videoHeight);
  size(myCapture.width,myCapture.height);
  previousImage = new PImage(myCapture.width,myCapture.height);
}
 
//----------------------------------------------------------
void keyPressed(){
  bDoSave = true;
}
void mousePressed(){
  bDoSave = true;
}
 
//----------------------------------------------------------
void draw() {
  if(myCapture.available()) {
    myCapture.read();
 
    if (bDoSave){
      noTint();
      image(myCapture, 0,0); 
 
      String filename = "stopframe_" + nf(saveCount++, 5) + ".jpg";
      saveFrame(filename);
      bDoSave = false;
 
      previousImage.loadPixels();
      arrayCopy (myCapture.pixels, previousImage.pixels);
      previousImage.updatePixels();
    }
    else {
      noTint();
      image(previousImage, 0,0);
      tint(255, 255, 255, onionSkinTransparency);
      image(myCapture, 0,0);
    }
  }
}

An Interactive Slit-Scan Imager

Slit-Scan imaging techniques are used to create static images of time-based phenomena. In the digital realm, thin slices of pixels are extracted from a sequence of video frames, and concatenated into a new image. I’ve been compiling an informal catalog of slit-scan video artworks for a few years; as programming environments for the arts have evolved, it has become easier and easier to experiment with slit-scan techniques. With the recent release of Processing 1.0, I thought I would try my hand at writing the shortest real-time slitscanning program ever:

// For Processing Version 1.01.
import processing.video.*;
Capture myCapture;
int X=0;
void setup(){
  myCapture = new Capture (this, 320,240);
  size(600,240);
}
void draw() {
  if (myCapture.available()) {
    myCapture.read();
    copy(myCapture, (myCapture.width/2),0,1,myCapture.height, (X++%width),0,1,height);
  }
}

Andrea’s Sunchoke & Celeriac Soup

3 January 2009 / life, reference




Andrea just whipped this up, and I must say, it’s insanely good. I’ve made some notes below about how one might make a vegan or dairy-free version. That said, this soup is a really good excuse for bacon.

Ingredients:

  • 1 pound (0.45kg) Jerusalem artichokes (sunchokes), peeled
  • ½ of one celery root (celeriac), peeled
  • 5 medium golden potatoes, peeled
  • 1 medium yellow onion, roughly chopped
  • 1 large leek, washed & sliced
  • 3 cloves garlic
  • 2 bay leaves
  • 5 cups (1.125 l) chicken stock (or vegetable stock)
  • ½ cup (125 ml) half-&-half or whole milk (optional)
  • 4 strips of bacon (optional)
  • 2 tbs (30 ml) butter (or olive oil)
  • salt and fresh ground pepper

Directions:

Total preparation time: about 45 minutes. Simmer the sunchokes, celeriac, potatoes, onion, and garlic in the stock until the celeriac is tender (about 30 minutes). Remove the bay leaves and blend until smooth, adding the milk/cream at that time. Meanwhile, fry up the bacon strips, break them into pieces and dump them in. Sautée the leek slices in the butter/oil (or bacon fat) until they’re golden, and add them in too. Season with salt and pepper to your liking. The soup mellows well and is very good the next day.