Posts tagged: interactive

Artomatic: Webcam Audio Visualizer used in my installation now Available Free! (For Mac Users only)

More later, but I just wanted to announce that the current version of the Quartz Composer background I’m using for my Artomatic Installation is available now for free download. It’s for Mac Users only, unfortunately, but thats the nature of Quartz.

I’ll do a more detailed write-up of it after tonight…like instructions, hints at things to try, etc.

In the mean time, for now, download it here:

http://jackwhitsitt.com/Artomatic09-final-whitsitt.zip

Click here to see it (sortof) in the background of my live art demonstration:

http://vimeo.com/5045791

This is obviously a terrible example, so Ill have better video up soon.

The Kitchen Sink at Artomaic is done. I hope.

You can find out more about the project described in this post by going here:

http://jackwhitsitt.com/installation-and-concept-art/#num1

Repost from artdc.org:

I finished yesterday. For once – despite last minute technicaal glitches – I wasn’t there until the last minute of the last day. Just the last day.

The space is clean, cables hung (although, its still pretty ugly…maybe ill cover it with a box friday at noon), the laptop is DUCT TAPED to the projector for lack of a better solution (it is in the cage bag, so if it comes undone, it wont break), and the projection is mostly in-line with the drawings and frames.

I’m still not sure if it will (and this is important) a) turn on when the show starts or (less important) b) play music. I made a last minute decision to use internet radio instead of mp3’s to avoid broadcast rights issues, but there are some technical hangups with that that I wont get into.

This also means I’m typing this from a $300  tiny Eee PC laptop which will be my only personal home computer until AOM is done.

I do count myself lucky, though. Poor idiolect (rebound design’s bf) lost his HD -the last day of install-. It crashed. He weathered through it gracefully and put an “out of order” sign up. Hopefully the AOM gods will let him come in to fix it off-hours – he did everything right and it’s just pure bad luck that the drive crashed.

It’s been lovely getting to know my fellow AOM-ers (mostly, heh) and I regret being so focused on getting my own shit working that I havent been as chatty or social as Id have liked. Trust me, it’s me not you. I think many people have stepped up this year and I really enjoyed walking around and looking at the art yesterday.

I can’t wait for opening night, meet the artists night, and zombie prom and being more focused on having fun and lss narrow mindedly self-centered about gottagetthisdonegottasgetthisdonegottagetthisdone.

I also adore how my wife’s wall came out. I know Im her husband and all, but Im truly a fan of the pictures  she put up from Vietnam and Cambodia. She is two core walls over from my space, so please check her stuff out.
?
Finally, this year I’ve felt like Ive really been able to come into this and use past artomatic and art outlet experience, take a broad vision, execute it, deal with and change my plan as it starts to flesh out into reality, and still come out of it with a piece that im happy with, still has roots in the original vision, and remains a satisfactory  progression of the rest of my art this past year.

I want to make special thanks to: Lexi, Sherill, Sean, Stephanie, Paivi, Barry, Caitlin, Justin, and Tom – all of whom made specific, repeated, concrete contributions to my art, my sanity, and my ability to get it done this year.

(edit: added lexi…she’s been super helpful. i knew i forgot someone important.)

Pics:

Artomatic 2009: My Video Installation – The Plan and Status

It’s been a long week for me (ive actually had to wake up before noon to go to a risk management class…5 hrs is the most sleep ive gotten since last week) and I dont think I’ve been at AOM once.  But! I’ve completed a couple of important steps and now have a concrete plan: I’m going to create a piece that combines my programming, video, theatrical, photographic, and drawing proclivities into a single piece. Alllll of it at once. There will probably even be curtains again for the third year in a row (although this year they serve a specific, utilitarian purpose…see below). Hopefully the overall effect of so much at once will be (as sagworks said elsewhere) mesmerizing (or did she say hypnotic? something like that).

Summary:

I’m going to be creating a homemade projection screen out of black out cloth and something called “Screen Goo”. Screen Goo is supposed to be much better than regular paint for projecting things onto and, considering there is a lot of ambient light during the day, I need the best available.  The screen will be roughly 50 sq feet and will -probably- be framed by molding purchased from Home Depot. On either side and above the screen/frame will be black drapery. This is to darken the area around the screen and focus the eye. I could paint, but I really dont want to (I may have to paint beneath it, though).

Onto the screen will be three framed charcoal drawings (possibly with glass).  Those drawings will have been done from photos I’ve taken (right now I think it’ll be three girls from the Landon House Civil War shoot)….and will be slightly different moods than the original photos….but still proportionally accurate in key areas.

The original photos will be projected onto the framed drawings to make it look like they’re glowing, and to provide a conflicting perception of what mood the girls in the pictures are actually in.  Behind the framed drawings, a moving vividly colors abstract projection will provide the background.  The content of the abstraction will be generated by (via Quartz Composer) a webcam pointed at the audience looking at the piece.  The movement, size, speed, and color of the abstraction will be generated in real time based on whatever music is playing on my laptop at the time (youll be able to hear it).

The reason for the Civil war era-looking dress, b&w vs color, and calm expressions in the pictures Im choosing is that they’re intended to contrast so sharply with the ludicrously noisy background that they’ll somehow form a complement.

The neat thing will be that the framed pictures will look like theyre actually in front of the projection, when they’re not really. They effect is striking when done right.

(For those of you keeping score, this is a combination of plans B and C with some extra decisions on how to handle the area not being projected on)

Where am I in this?

  1. I finished the moving (some would say seizure-inducing) abstract webcam/audio visualizer background last night. Some of you have seen this projected, but I wasn’t happy with the effect or it’s ability to keep time with the music.  I’ve since dramatically improved the look, feel, and performance of this and I’m happier with it than Ive been in weeks. The two biggest changes were to swap a rotating cube with 2 2D squares which move around the screen, big bigger and smaller, and rotate on the Z axis. This resulted in significant performance and aesthetic improvements
  2. I ordered the Screen Goo. I just got a UPS notification that it was on its way 5 minutes ago. When that arrives, I’ll go to Walmart and pick up a huge blackout drape.  I’ll probably paint the drape with the goo (on the rubbery side) in the street near Artomatic after I move this weekend.
  3. I’ve also settled on three black and white photos that I’m going use as the framed  focal points / anchors.  I chose the B&W to contrast with the crazy colors in the projection.  Once I move this weekend, I’ll make the drawings of them in the new apartment. Ill use projections of the photos as the stencils for them since they need to be pretty much 100% proportionally accurate.  Each will take about 3 hours to do.
  4. I probably still have the same black drapes I used last year (and I actually still have 1 from 2007), but Ill need to check that next week. I also need to go buy the frames and the molding.  If I have to paint under the projection screen, ill probably use someones leftover paint since it’s not a huge area.
  5. I still have to set up and test the “recover nicely from the power being cycled every night”
  6. Put the projector on its mount, lock it in place, and get measurements.  If I do the drawings after this, Ill do them AT Artomatic…might be interesting.

So….pineapple.

All in all, Im pretty happy with where I am, but there’s still a lot to do.

Quartz Composer Webcam Audio Visualizer Art Tutorial and Demo

INTRO

So I’ve been making some new art lately that  I think pretty is cool. Back at Artomatic last year, I wrote code that generated a mosaic of one image out of another and make a 6′x6′ photo and wondered if the code was art, since the only thing it did was generate that one mosaic?

At that point, though, it was still static and the question was (to me) relatively easy to answer.

This time, I wanted something more dynamic and interactive. I wanted to further explore the question of whether  or not something that changes every time you see it and which depends on its environment is still “art”.  What I ended up doing is using Apple’s Quartz Composer – a visual media programming language – to create an  “audio visualizer” (sort of like you see in iTunes, Winamp, etc.).  What’s different about this piece, though is that combines live webcam input with live audio input into a pulsating, moving interpretation of the world around the piece.

In some ways, the work can be considered just a “tool”. But, on the other hand – and more importantly, I think – the fact that the ranges of color, proportion, size, placement, and dimension have all been pre-designed by the artist to work cohesively no matter what the environmental input moves it into the realm of “art”.

In this post, I hope use the piece in a way that will give you an example of what it would look like as part of a real live installation and to help explain the ins and outs of my process.

THE BASICS

An easy example of where this would do really well is at a music concert. The artist would point the camera at the band or the audience, and, as it plays, the piece would morph and transform the camera input in time to the music and a projector would display the resulting visuals onto a screen next to the band (or even onto the band itself).  This is just one suggestion, though.  Interesting static displays could also be recorded based on live input to be replayed later. It’s this latter idea that you’ll see represented below (though you might notice my macbook chugging a little bit on the visuals…slightly offbeat. Thats a slow hardware issue :) ):

In that clip, I pointed the webcam at myself and a variety of props (masks, dolls, cats, the laptop, etc) as music plays from the laptop speakers. There was a projector connected to the laptop displaying the resulting transformations onto a screen in real time. A video camera was set up to record the projection as it happened.  My setup isn’t much, but it can be confusing, so take a look below. My laptop with the piece on it, webcam connected to the laptop, projector projecting the piece as it happens, and video camera recording the projection:

Quartz Webcam Audio Visualizer Demo Recording Setup

TUTORIAL/EXPLANATION

As I said earlier, I used Quartz Composer – a free programming language from Apple upon which a lot of Mac OSX depends. Some non-technical artists might be a little bit leery of the term “programming language”, but Quartz is almost designed for artists. It’s drag and drop. Imagine if you could arrange lego’s to make your computer do stuff. Red lego’s did one type of thing, blue did another, green did a third. That’s basically Quartz. There are preset “patches” that do various things: Get input, transform media, output media somehow, etc. You pick your block and it appears on screen. If you want to put webcam input on a sphere, you would: Put a sphere block on the screen, put a video block on the screen, and drag a line from the video to the sphere. It’s as easy as that.  First, I’d suggest you take a look at this short introduction by Apple here:

http://developer.apple.com/graphicsimaging/quartz/quartzcomposer.html

Then take a look at the following clip and I’ll walk you through how it works at a hight level:

The code for this is fairly straightforward:

Simple Quartz Composer Webcam Audio VisualizerIn the box labeled “1″ on the left, I’ve inserted a “patch” that collects data from a webcam and makes it available to the rest of the “Composition” (as Quartz Programs are called).  On the right side of that patch, you can see a circle labeled “Image”. That means that the patch will send whatever video it gets from the webcam to any other patch that can receive images. (Circles on the right side indicate things that the patch can SEND to others. Circles on the left indicate information that the patch can RECEIVE from others.)

The patch labeled “3″, next to the video patch, is designed to resize any images it receives. I have a slow macbook, but my webcam is high definition so I need to make the resolution of the webcam lower (the pictures smaller) so my laptop can better handle it. It receives the video input from the video patch, resizes it, and then makes the newly resized video available to any patch that needs it.  (You can set the resize values through other patches by connecting them to the “Resize Pixels Wide” and “Resize Pixels High” circles, but in this case they are static – 640×480. To set static values, just double-click the circle you want to set and type in the value you want it to have.)

In the patch labeled “4″, we do something similar, but this time I have it change the contrast of the video feed. I didn’t really need to, but I wanted to see how it looked. The Color Control patch then makes the newly contrasted image available to any other patch that needs it.

On the far right, the webcam output is finally displayed via patch “8″. Here I used a patch that draws a sphere on the screen and textured the sphere (covered the sphere with an image) with the webcam feed after it has been resized and contrast added.

So now we have a sphere with the webcam video on it, but it’s not doing anything “in time” with the music being played.

What I decided to do was to change the diameter of the sphere based on the music as well as the color tint of the sphere.

If you look at patch “2″ on the left, you’ll notice 14 circles on the right side of it. These represent different (frequency) bands of the music coming in from the microphone. This would be the same type of thing if you were to be using an equalizer on your stereo (It’s actually split into 16 bands in Quartz, I just only use 14).  Each of those circles has a constantly changing value (from 0.0000 – 1.0000) based on the microphone input. Music with lots of bass, for example, would have a lot of high numbers in the first few bands and low numbers in the last few bands).  We use these bands to change the sphere diameter and color.

I chose to use a midrange frequency band to control the size of the sphere because that’s constantly changing, no matter whether the music is bass heavy or tinny.  You can see a line going from the 6th circle down in patch “2″ drawn to the “Initial Value” circle of patch “5″.  Patch “5″ is a math patch to perform simple arithmetic operations on values it gets and output the results. All I’m going here is making sure my sphere doesn’t get smaller than a certain size.  Since the audio splitter is sending me values from 0.000 – 1.000, I could conceivably have a diameter of 0. So, I use the math patch to add enough to that value that my sphere will always take up about a 25th of the screen, at its smallest.  Patch “5″ then sends that value to the diameter input of the sphere patch (#8) we discussed earlier.

It’s these kinds of small decisions that, when compounded on one another, add up to visualizations with specific aesthetic feelings and contribute to the ultimate success or failure of the piece.

Another aspect of controlling the feel of your piece is color.  In patch 6, you see three values from the audio splitter go in, but only one come out.  The three values I used as the initial seeds for “Red”, “Green”, and “Blue” values.  Patch “6″ takes those values and converts them into an RGB color value.  However, notice that patch “6″ has three “Color” circles on the right, but only one gets used? That’s because I designed that patch to take in one set of Red, Green, and Blue values based on the music, but mix those values into three -different- colors. So as the music changes, those three colors all change in sync and at the same time and by roughly the same amount, but they’re still different colors. That lets me ad

d variety to the piece and allows me, as the artist, to kind of create a dynamic “palette” to chose from that will always be different, but still keep constant color relationships. This contributes to a cohesive and consistent feel to the piece.  A detailed explanation of how I do that is out of the scope of this post, but you can see the code below and take some guesses if you like:

colormanagerjpg-ready

And that’s pretty much that. We have a sphere that displays webcam input and which changes size and color according to the music playing nearby. But that’s really not all that interesting is it? What if we added a few more spheres? What if we used all three of the colors from patch “6″? What if those spheres all moved in time to DIFFERENT bands of the music?

The code might look something like this:

multiballs2jpgready

And the resulting output looks something like this:

Yeah I know the visuals are sortof silly and the song cheesy, but the music’s beat is easy to see and there just isnt that much in my apartment to put on webcam that I havent already.

Also, take a look at 55 seconds through about 1:05. The visualization goes a bit crazy. See the white box on top? You cant see in the video but that box lets me enter input parameters on the fly to affect how the visualization responds. This is the VJ aspect.  For these visualizations, Ive only enabled 2: How fast/big the visual components get and how fast/slow they get small.  In that 10 second segment, Im jacking them up a lot.

What about the original video? What does that code look like? See below.  It’s a litle bit more complicated, but essentially the same thing.  Instead of 16 spheres, I use a rotating 3D cube and a particle fountain (squares spurt out of a specific location like out of a fountain).  In addition to just color and size, the music playing nearby also affects location, rotation, minimum size, speed of the particles, and a number of other visual elements:

myvizjpg-ready

At some point (as soon as I figure out the Cocoa), Ill upload the visualizer here as a Mac OSX application for download.

SUMMARY

So, what do you think? Is this art? If not, what is it? Just something that looks cool? In my mind, artistic vision and aesthetics are a huge component of making “multimedia” “new technology” art, no matter how big a component the technology is.  Without some sort of understanding of what you are visually trying to communicate, it’s only by chance that you’ll end up with something that looks good.  But, even beyond that, I found that I had to think pretty far ahead and understand my medium in order to create something that would look consistent AND visually pleasing no matter what environment it was in and no matter what it was reacting to. It was like writing the rules to create an infinite number of abstract paintings that would always look like they were yours.

Also, figuring out what to put in the webcam view when and at what distance is an important part. When Im paying attention (as in the first video), it adds a whole new dimension. When I dont care and point it at anything (as in the demo videos), the whole thing becomes a bit more throwaway.

Panorama theme by Themocracy