You are currently browsing the tag archive for the ‘artist’ tag.

Via HacDC and as part of Digital Capital Week, I’ll be giving a lightning talk this Saturday the 19th on using your brainwaves to make art while you sleep. I’ll include either a video of the “first draft” of the art, or a live demo.  This is a follow-up talk to one I gave this past February.

The talks start at 4:45 and go for an hour (or a little over) and you can find us at:

Mount Vernon Place United Methodist Church
900 Massachusetts Ave NW, Washington DC

If you want to hear more about consumer-grade fun with using your brainwaves to manipulate the world around you, come check it out!

The current speaker lineup is:

  • Look Ma, No Wires (Michael Panfield)
  • Sysadmins: Have smartphone, will travel (Betsy Nichols and Andrei Tchijov)
  • AI: Three most common reactions (Bradford Barr)
  •  ??? (Alan McCosh)
  • Writ Large: scaling a Cartesian robot (Dan Barlow)
  • Urban Data Access: How communication builds communities (Will Holcomb)
  • Fast Creativity: Using the DNA of Improvisational Comedy to Foster Ideas Fast (Shawn Westfall)
  • While you sleep: Making Art with your mind (and a little code) (Jack Whitsitt)

EDIT: I have some newer, better webcam audio visualizers and some utility patches available now. Click Here:

For all of you who have asked for this, I’ve made my Artomatic Quartz Composer based webcam audio visualizer available as a free download.(Keep in mind, this is only for Mac OS X users – Quartz isn’t portable).

You can download it here:

(Im calling it “WAVIQ” for short…Webcam Audio Visualizer In Quartz”…since it needs some sort of a name and I dont feel that creative about it.)

A quick overview:

The composition has two inputs – the webcam and an audio source.  If you have a built in webcam, it will default to that. Likewise, if you have a built in mic (most laptops do), the composition will default to using  that as your audio source.  You can change these by going into the patch inspector for the Video and Audio patches and selecting “settings”. (In the case of the audi, double-click the macro patch “Audio Source” and then click on “Audio Input” to get there).

The only other settings you’ll be interested in are the Increasing Scale and Decreasing Scale parameters found in the Audio Input patch. These affect how fast the values for movement, color, etc. get bigger and how fast they get smaller. This will affect how the composition responds to different music.  Also, keep in mind that in the audio settings of OS X itself, you can change the mic sensitivity. This will affect how the composition responds as well.

You can also find a basic tutorial to get you started on tweaking this in the links below.

Thats it. Drop me a line with any questions and have fun with it. If you do end up using it, I’d love to hear about it.



Update: You can now download a Webcam Audio Visualizer based on the one references in this tutorial – and some completely new ones – by clicking HERE


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.


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


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:

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:


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:


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:


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


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.

We’ve been back in the U.S. for a couple of weeks now, but I’ve been a bit blown out and wasn’t up to posting anything till now.

You may (or may not) have noticed that I posted all of 0 entries during the trip. That had a lot to do with two things: Time and Infrastructure.  First, we were really too busy to spend a lot of time posting and, when we did have time, I was just too beat to post and opted to sleep. Second, there weren’t all that many places to post -from- (wrt net access) and those that we did have access too were usually incredibly slow ).

What I found out, though, is that twitter is incredibly useful in situtations like this.  I was able to get quick bits out somewhat on the fly to keep everyone updated without having to spend the time on a full blog post or deal with hefty websites that took forever to load.

So, in that light, I thought I’d post the 45 or so twitter updates from the trip here as one blog post:

  • In Chicago! 12:02 PM Nov 20th from tx
  • is sitting in Hong Kong airport waiting to see Doug and Nguyet. Flight for Saigon in 2.5 hrs or so. Didnt expect to be here again ever 6:05 AM Nov 21st from web
  • In Saigon. Long day. About to hit bar “apocalypse now”. Know it’s cheesy. Nguyet has fallen victim to sleep! 11:08 AM Nov 22nd from twitterrific
  • ok, so Apocalypse now was a thumpity thump club. total bust. Tried the garden bar on top of rex. ripoff! ended at pizza place. $1.50 beers 11:59 PM Nov 22nd from web
  • Off to cambodia today! 6:31 PM Nov 23rd from twitterrific
  • in Phnom Phen, Cambodia. Ate ourselves silly. Best part of trip! Took 2 tuktuk rides around town. Insane. Torture museum sombre,worthwhile. 8:51 AM Nov 24th from web
  • Phnom Penh, not Phen. Going to stay two days here…hadnt planned on coming at all. Killing Fields demain. Fast boat to Siem Reap, next am 8:53 AM Nov 24th from web
  • is having some mixed feelings about his ‘holiday in cambodia’ 11:53 AM Nov 27th from mobile web
  • Still in Siem Reap. Love Cambodia. Will be back here next year!. Sorry out of touch, tho – really bad internet connections. Pics to come 11:31 AM Nov 28th from web
  • Saw Cambodiia photo show today. Met famous photographer Paivi wanted to meet!! Leave Cambodia tomorrow. Heading to meet Quan in Hanoi. 11:32 AM Nov 28th from web
  • sitting in the Cambodian equivalent of Starbucks catching up on the internets. Doug is checking news – we havent seen any for a week 2:45 AM Nov 29th from web
  • is waiting with Paivi for the “Religious Wealth” from Angkor Wat to come pouring in 3:47 AM Nov 29th from web
  • Last 24 hrs insane. Drunk hotel employee. Party with hotel employee at Karaoke. Employee vomits while negotiating $700 tour package. (more) 10:39 AM Nov 30th from web
  • Multiple ATM withdraws 4 tour lock cards. Cab scam attempt when arrive in country. Paivi hit by motorcycle today (shes fine, bruised) 10:41 AM Nov 30th from web
  • met quan from tonight in Hanoi. Saw his studio. Paivi and I bought a piece of his. Nguyet and Doug did too. Awesome work! 7:35 AM Dec 1st from web
  • There are very few things in life as cool as jumping off a 3 story boat into Ha Long Bay in the midst of a perfect sunset. 1:43 AM Dec 3rd from web
  • cant seem to upload pics to flickr from these connections. sad. At Halong Bay on Cat Ba Island. Long hike to mountain top earlier. 5:33 AM Dec 3rd from web
  • @translucent_eye getting pics of the hike was harder than one might imagine,but we did get some. Ha Long Bay boat pics = heat achingly petty 5:07 AM Dec 4th from web in reply to translucent_eye
  • @tracyleephoto that was the idea :) (DK’s). I would’ve said more but by that time, I was pretty gone. Only hangover of trip was the next am! 5:08 AM Dec 4th from web in reply to tracyleephoto
  • back in Hanoi. Binh fckd up train tix and didnt tell us. Leaving for Hue 3 hrs earlier. Trying to meet Quan to do handoff of the paintings 5:18 AM Dec 4th from web
  • is in a hotel in Hue that, at $20/night, is as big as his apartment. Rainy day, everyone feeling a bit run down. Overnight train was cool 4:29 AM Dec 5th from web
  • is drinking a tiger beer, waiting for the others’ motivation to kick back in…that or their stomachs to be empty. ;) 6:04 AM Dec 5th from web
  • today was win. 5 shirts being tailor made, best shot of rum ive had – only cost $0.30, banana pancakes, lemon pancakes, pho, mystery meat! 8:19 AM Dec 6th from web
  • Time to do laundry in the bathroom sink. Having 3.5 sets of clothes for 3 weeks entails a lot of this 10:39 AM Dec 6th from web
  • Picked up shirts and formal dresses from 2 tailors. Off to the third and to eat more fantastic street sweets in Hue! 6:22 AM Dec 7th from web
  • we’ve had something like 17 or 18 pieces of clothing made between the 4 of us in 24 hours. heh. Off to beaches of Phu Quoc tomorrow! 10:37 AM Dec 7th from web
  • 2nd day on Phu Quoc island. First was spent in shared bungalo at isolated beach to the north. Ocean is perfect. 8:29 AM Dec 9th from web
  • One more day at the beach, then back to Saigon for an afternoon, then home. Still need to buy some snake whiskey for self and friends/fam 8:52 AM Dec 9th from web
  • Headed back to Saigon today. Back home tomorrow. Yesterday, I got a full body massage and helped doug play a coral reef for a tropical fish! 9:58 PM Dec 10th from web
  • Im not sure what winter melon tea in a can actually is….but it’s good! 11:26 PM Dec 10th from web
  • is back at Madam Cuc’s in Saigon. Almost feels like home! 2:05 AM Dec 11th from web
  • Hot as hell. Foot killing me again tonight. Affecting my mood. Time for home, I think. Did buy 4 bottles of whiskey with cobras in them! 8:58 AM Dec 11th from web
  • @turbo3k absolutely! These are roughly 2-shot bottles – 1 snake apiece. Should see all the reptiles they fit into the huge huge bottles ;) 9:06 AM Dec 11th from web in reply to turbo3k
  • Lady in front of me in plane got up on her chair n her knees facing it, and tried to ram it back because my knees were blocking it. tall sux 9:35 PM Dec 11th from web
  • Im still in the future!!! Flight for Chicago leaves in an hour-ish 9:40 PM Dec 11th from web
  • in Chicago at O’Hare. Foot was so swollen from flight it wouldnt fit back in shoe. OHare security is awful. Want a hamburger! 2:24 PM Dec 12th from web
  • checked bag made safe from dc-chicago-HK-saigon, phnom penh-hanoi, hue-saigon, saigon-phu cuoc, back, saigon-HK, HK-Chicago. Not Chi-DC tho 5:41 PM Dec 12th from web
  • bag is supposedly scanned on the next flight into DC from chicago. If it’s not, I very well may lose my shit. Ive had -enough- 5:42 PM Dec 12th from web
  • @elegantmachines im convinced “civilization” isnt the right word for it at all. 5:45 PM Dec 12th from web in reply to elegantmachines
  • is home, w bag. Guess TSA wanted to mollest my bag a bit xtra, put on next flight. United lady was way rude. after 24hrs travel, not in mood 6:41 PM Dec 12th from web

Hey all!

I’m going to be showing some data visualizations at the My Space on 7th art show in Washington, DC starting Friday, July 11 at the Touchstone Gallery! Everyone should come out. I took a look at the space and there’s some interesting work hanging already. (And I have to thank Paige, here, who unintentionally helped me decide what to show…but more on that in a later post.)

Oh. And there will be wine tasting opening night. :)

There will be three old, but reworked images and one new one created just for this show.  Only one has ever been printed before and they all look pretty fantastic.

The new one consists of two superimposed graphs (a paraplot and a scatterplot) of illegitimate traffic going to/from “” (that would be, uh, most of it).

The three older ones are:

Destination Port Traffic Volume (global sample)

(Test Data from custom developed SEM correlation  modules)

(Pcap data from 10,000 spam emails)

Follow me on Twitter

My Art / Misc. Photo Stream