1 Oct 2009

Theme and Variations: Redux

My week 3 assignment can be found here.
17 Sep 2009

VIDEO: How to Solve a Rubik's Cube

12 Apr 2009

Mobile Alarm Clock

Our assignment for Mobile Media was to create an alarm clock using Mobile Processing, Android or Flashlite. Since I've spent the most time thus far deep inside Mobile Processing, that's the app I decided to use for this project. My idea was to create a personalized alarm clock for Shawn Van Every. He said in class that we should create an alarm clock "for him," which he meant as one that he would use but which I interpreted as personalized. Ha! The first screen featured a motivational picture with his image:
After that, it was pretty simple. I used the code snippet that Shawn provided and added a couple of extra screens. When you use the Mobile Processing emulator, you're limited in what you can do. This can be frustrating at times, and I found it to be especially so when I was trying to create this app. Initially what I wanted to do was use the above image for the front page, then have another page that showed the time and allowed you to set the alarm.
Then on the final page you would set the alarm and wait for it to go off. When it went off, it would play a motivational song and get increasingly louder until it reached the time that you wanted to wake up, when it would be full pitch. But Mobile Processing has many limitations, and one of the big ones is the size and type of sound files. After several hours playing with this, I ended up just having the color change to red for prototyping purposes:
So obviously it wasn't ideal, but I did learn a lot about how Mobile Processing works and I got to play around with a few different sound libraries.
9 Mar 2009

The Chromatic Keyboard

For Pixel by Pixel, I wanted to create a keyboard that, instead of displaying characters on the screen as the user types, would display the keystrokes as RGB pixels in the shape of squares. I really wanted to build this in OpenFrameworks. I had trouble with the syntax though and ended up using Processing instead. I started by typing out messages, like so:
The colors were each hard coded to specific letters, which is what I wanted. I liked the look of these encrypted messages, but I wanted to have some fun and see what other types of patterns I could create. Next I only typed with two different character strokes in a random pattern:
Since I'm left handed, I decided to try an experiment and just type with only my left hand as fast and as consistently as I could. Here's the resulting pattern:
Next I tried with the right hand:
Since I'm pretty bad with keeping rhythm, I wanted to try and keep the beat listening to a song and typing with only two keys. I mixed the colors up a bit just to make it interesting:
Finally, I made this sketch where I tried to create a weave pattern by timing my keystrokes to varied rhythms:
It's interesting how far I strayed from my original concept with these sketches. I ended up returning to the beautiful patterns instead of giving more attention to my original idea. I'm going to keep playing with the code to see how I can return to my inspiration and at the same time continue exploring the relationship between the strokes and the images they produce on the screen. Code
14 Jan 2009

Processing Sound and Audio with the Arduino

Gearfuse has a post today about how to process sound and audio with the Arduino. I'm not sure if it's of interest to me, but I figured some of you might be using something like this next semester.
15 Oct 2008

You Too Can Be Horatio Caine

As with most ICM assignments, the basic functions are relatively easy to understand. The challenge is applying them to a more complex project for the homework assignments. I battle with this each week, trying to find an interesting way to implement some of the new things I've learned. This week I was obsessed with watching CSI: Miami marathons, and so I decided to use this project to pay homage to David Caruso. I created a little program that lets you say any of the pithy lines Horatio Caine is famous for:
Once you do, I set up an audio cue when the mouse is pressed that rewards you with the audio sting that kicks off the opening credits! This wasn't easy. I spent a ton of time trying to figure out how to crop the video, and I was never actually able to get it how I wanted. My goal was to crop, rotate it and feather the edges so that it better simulated his mouth, but I just couldn't find the resources online to make that happen. I did use the blend feature to try and get the tone of the video to better resemble his skin. Not sure if it worked or not. Finally, I couldn't integrate the mirror code with the crop code, which would have made it easier for users to line their mouths up with the camera. Here's the code: import processing.video.*; // get library PImage img; // delcare image Capture video; // get video Movie sound; void setup() { size (265,238); img = loadImage("david.jpg"); // load image of David Caruso image (img,0,0,265,238); // set image size sound = new Movie (this, "sound.wav"); video = new Capture(this,350,350,30); // capture video video.crop(115,151,70,15); // crop size } void captureEvent(Capture video){ video.read(); } void draw(){ if (video.available()){ video.read(); } image(video,115,151,70,15); // view cropped video position blend (img,120,156,75,20,115,151,70,15,ADD); // Blend image and video colors } void mousePressed(){ sound.stop(); sound.play(); }
6 Oct 2008

Incredible Examples of Processing Related Work

I just found these two videos by Glenn Marshall that were created using Processing. I know I'm just trying to parse some XML right now, but this is pretty inspiring as to what's possible.

Aaron Uhrmacher's Posterous

Aaron Uhrmacher (bio) studies interaction design in New York University's Interactive Telecommunications Program (ITP).

He also plays kickball and consults on social media.

If you see anything you like, please leave a comment.