« October 2007 | Main | December 2007 »

November 29, 2007

Longer Rendering Test

A longer render test of the October calendar I made out of my daily ritual.

November 27, 2007

Daily Ritual Render Tests - October

The short videos above are test composites of my daily ritual recordings from October. I like the motion of these composites, but it is clear from initial comments that some of the context is missing. It's not clear to me what question this calendar is asking or answering. These videos present the process of meditating (albeit briefly) each day. I want the video to be true to the outcome of that process. Maybe part of the difficulty here is that I'm not sure what the outcome was just yet.

I engaged in this ritual exercise to satisfy an assignment, but also to find a way to keep praying -- as a meditation. I'm interested in the pattern of words I was attracted to during the exercise, but I haven't yet been able to see all of the words at a glance. Maybe I need to just write them out on a grid and see what happens. That's the next easiest thing I can do to push forward.

The backstory:
Last night I reconverted all of my .wmv files back to DV-NTSC files so Final Cut Pro would be able to import them. To summarize, Robert advised me to either use DV-NTSC encoding or MJPEG (motion jpeg) B in order to work on the Mac.

I hunkered down in the AV lab this afternoon to try my hand at video again. A big thank you again to Robert Moon for helping me get off the ground with Final Cut Pro and After Effects.

A short list of things to remember:
- Whether in FCP or AfterEffects, the first thing to do is to decide on and setup the output format (resolution, aspect ratio, square pixels, etc.)
- When layering tracks in FCP or AfterEffects, the topmost is visible.
- In AfterEffects, the "0" key tells the program to render to RAM -- meaning it will composite the video tracks and playback the selected video in the "Work Area"
- In AfterEffects, it is possible to select a specific portion of the "Work Area." This affects both render to RAM as well as exporting. If the whole composition is selected, rendering (at least for 28 clips) will take a very long time.

November 24, 2007

The Dead Will Rise

November 23, 2007

What am I doing and Why?

My first interest in the people scrubber system was tying a person's motion to sound playback. I started off working with a performance using Jimi Hendrix's "Red House." I envisioned walking the song in much the same was that a guitar player might "strut" their way through a guitar solo. I picture "Red House" as a walking blues. The opening lines of the song are
There's a red house over yonder
That's where my baby lives
(or something like that)

In my mind, I saw a lone guitar player climbing up a hill to reach the house. I considered how the walking motion might be used to control the playback of a song. Originally I envisioned that the walking direction would control the direction of playback (forward / backward) and speed. After building prototypes of the system, I found that the interaction was not as engaging as I had originally hoped. Jamie and several classmates had expressed a desire to see some of the tension in the performance -- a quality which my system doesn't provide affordances for. Since my system is based on a pulley, there is not really any haptic feedback

So much of "modern" music production is done using a "time line" and loops using a tiny control surface. We edit and arrange clips of audio on flat screens using a mouse pointed. I wanted to play a bit with this metaphor and create a performative music creation environment that juxtaposes the loop metaphor with macro body movements.

November 22, 2007

If You Only Knew What Makes for Peace

November 21, 2007

Until I Return


November 20, 2007

Prototyping at School

Prototyping at school

A few days before Thanksgiving and we're getting close to the end of the semester - in three or four weeks this thing is going to need to be finished. I met with Jamie tonight and he encouraged me to commit to a direction and a presentation format.

I now have a working prototype to play with.

Final Project Progress

I've still been constructing the physical structure of the pulley system I'm going to perform with. I spent much of Saturday building the pulleys out of cardboard and then much of Sunday trying to figure out how to mount them so I could move on to the next stage of the project, which is creating the performance.

Big Pulley Construction 001 Big Pulley Construction 002 Big Pulley Construction 003 Big Pulley Construction 004 Big Pulley Construction 005 Pulley Prototype 3 003 Pulley Prototype 3 006

IMG_8522

In my zeal to create the physical presence of this project, I worked on a 3D model of the pulley holders... for far too long. When the dust settled and I put my virtual pencil down, the structure was good, but I was really concerned about having enough time to build it. Cardboard is great for prototyping, but I think there is a tradeoff. It's a very flexible material, but some of the thinking that goes into designing with it can rival the time spent trying to do precise woodworking.
Pulley Sketch 3D

Kelly helped me find a much better way to move forward: using existing cardboard boxes rather than building a custom frame. This way, I could find out if the using a mouse for the motion tracking would even work properly.

Pulley Prototype 3 008 Pulley Prototype 3 072 Pulley Prototype 3 073 Pulley Prototype 3 074 Pulley Prototype 3 075 Pulley Prototype 3 077 Pulley Prototype 3 078 Pulley Prototype 3 079 Pulley Prototype 3 080 Pulley Prototype 3 082 Pulley Prototype 3 083 Pulley Prototype 3 085 Pulley Prototype 3 086 Pulley Prototype 3 087

November 19, 2007

What Do You Want Me to Do For You?

November 18, 2007

I Myself Shall Give You a Wisdom in Speaking

November 17, 2007

Pray Always

November 16, 2007

Keep Looking Forward

November 15, 2007

The Son of Man

November 14, 2007

Realizing He Had Been Healed

A Performative Object

performative object 006

This week's challenge was to create a performative object. I was intrigued last week with Arthur Ganson's machines and wanted to explore some of the components he used in his work.

He had an excellent gear-making video, so I decided to start there. I made a jig to form consistent gear teeth and improvised from there.

Although my object (a very early piece) was somewhat performative, I also found the act of creating the pieces performative as well -- something that could engage people. As we discussed in class, part of my interest in Ganson's machines was the juxtaposition of contrasts: precision and "organic," rigid and malleable, machine and delicate. Working with wire is always a balance between bending hard enough to make precise shapes and bending lightly enough to avoid breakage.

performative object 001 performative object 002 performative object 003 performative object 004 performative object 005 performative object 006 performative object 007 performative object 008 performative object 009 performative object 010 performative object 011

November 13, 2007

On Being a Servant

November 12, 2007

Final Project Progress

An initial test of the PS/2 mouse with MAX/MSP and little video action to whet your appetite for what this will eventually become.

Increase Our Faith

November 11, 2007

Sonifying Gasoline Transactions

I continued my experiments towards one of my final project ideas: sonifying transactions. First, I exported all of my financial data (1999-January 2007) from Quicken into a tab-separated file and brought the file into OpenOffice Calc to tidy it up. After I extracted a selection of gasoline purchase from May 2001-May 2002, I realized there was something missing from the data. I'm interested in the rhythm of the purchases against the backdrop of the days and weeks. Since I didn't purchase gasoline daily (thankfully), I needed to write a program that would insert the rest of the days into the transaction data. Doing this by hand seemed like a big pain -- especially once I start working with the full dataset. To avoid having to make the algorithm aware of the number of days in each month, I simply generated a list of dates in OpenOffice Calc and compared it with the dates in my transaction list.

[ download code ]

After filling out my data, I started working in Processing and cSound to sonify the data. Starting simply, I used oscillators of different frequencies to represent days, weeks, and the transactions. The following Processing sketch is based on a sketch I wrote for my Google vs. Microsoft experiments. The classes were overkill for this application, but they were helpful for keeping the Google vs. Microsoft program legible.

[ download code ]

[ listen ]

Warning - Arduino NG and SPI

If you're working with an Arduino NG and an SPI controlled device you're working with is not functioning properly (an AD5206, an accelerometer, etc), you'll need to perform surgery on your 'NG to remove the SMD LED from digital pin 13. Idiscovered this while helping YouJeong troubleshoot her AD5206. We looked at everything from the wiring to the AD5206 chips to source code to finally the Arduino itself. The only reason I was able to figure this out is that I saw that YouJeong's Arduino NG had an LED on pin 13 (which is one of the pins Arduino uses for its SPI interface). I noticed when trying the most basic "blink the LED" program that an LED inserted between digital pin 13 and ground was very dim. When I jumped it in parallel with the SMD LED on the Arduino circuit board it was brighter. Using a multimeter we found that the pin 13 was only giving us 1.92V when pin 13 was set HIGH.

I suggested we search for "Arduino NG SPI" and we found a thread in the Arduino forums about this issue. To rectify the problem, I removed the pin 13 LED from both of her Arduino NG boards and SPI started working properly.

He is God of the Living

November 10, 2007

Final Project Progress

After trying unsuccessfully to parse text-based serial data with MAX/MSP, I just hooked the disassembled mouse up to the computer and started using the mousestate object in MAX to read coordinates. Here I discovered that the "mousestate" object is constrained by the bounds of the screen. Once the mouse cursor reaches the right edge of the screen, "mousestate" no longer reports any changes. Foiled again.

I would have to return to interpreting data from Arduino. As I looked at the Arduino code that was reading from the mouse, I realized that I could simply send raw bytes from Arduino to MAX/MSP. I could simply send the x position, the y position, and then the button states in single byte transmissions. I could even make MAX/MSP handshake with Arduino after the three bytes were transferred to guarantee MAX/MSP would always receive the bytes in the same order.

Somewhere along the line I became confused, though. Somewhere along the line I convinced myself that the mouse would need to send more than a single byte of data to represent the positions. That was part of the problem, too. I convinced myself that the Arduino PS/2 mouse code was sending positions rather than position changes. Further frustration ensued.

I talked with Wendy about this feeling last week: getting entrenched in the technical and losing sight of the big picture. I told her I wanted to stop getting hung up on these kinds of problems because they make me feel angry. Nonetheless, I went down this road again and had to prove that to myself that I was capable of solving this problem.

The next time this happens, I think the best thing I can do for myself and my sense of wellbeing is to call someone up and get them to ask me questions about what I'm doing and why I'm doing it so I don't waste time.

Ok. Ranting is finished.

Since I spent time working this problem through, I'm going to share the solution, even though it wasn't necessary, in the hopes that someone else may benefit from it (maybe even me at some point in the future).

I was convinced I needed to send an unsigned integer for both the x and y positions from Arduino to MAX/MSP. (An unsigned integer is a positive value between 0 and 65535 which requires two bytes or sixteen bits to represent in Arduino). I wanted unsigned numbers so I wouldn't have to deal with interpreting the negative sign in MAX/MSP. I wanted all of my data going over the serial port to always be the same length. Easy, I thought. I'll simply break the two-byte integer into two single-byte characters and recombine them
when MAX/MSP receives them
. But I don't think very clearly when I'm trying to work out this sort of math -- especially when I get frustrated.


Mouse X  
MSB                     | LSB
16 15 14 13 12 11 10 09 | 08 07 06 05 04 03 02 01

To get the 8 Most Significant Bits, I could divide the unsigned integer by 256, which is one more than the maximum number that the Least Significant Bits could represent. The LSB portion of the unsigned integer should then be the remainder. When I worked at Crestron, Doug taught me a lazy programmer's trick for dealing with math... Look at the extreme cases to verify that your thinking is correct.

/// Mental Interrupt ///
This blog post, while useful, is not getting me any further on things I really want to move forward on, so I'm cutting it short right here!

God Knows [our] Hearts

November 09, 2007

They Came to Believe

November 08, 2007

This Man Welcomes Sinners and Eats with Them

November 07, 2007

Carry His Own Cross

November 06, 2007

Final Project Progress

Work continues on the second "PeopleScrubber." I started off trying to make another more robust prototype so I could start experimenting with the content of the performance, but I got hung up on making the prototype. I thought I would try a combination of wire and cardboard for this prototype so I wouldn't have to do so much cutting. It turns out that making the prototype with wire was more labor intensive because each piece had to be made by hand. The last prototype I made seemed easier; I drew templates for the in Visio, printed them out, glued them onto cardboard, and then cut them out.

IMG_8372 IMG_8373 IMG_8374 IMG_8375 IMG_8377

Jamie had mentioned using a mouse to do the tracking, so I tracked down a free PS/2 mouse on Craig's List and found Arduino code that implemented the PS/2 mouse serial protocol. Fed up with the last prototype attempt, I made a breakout connector for the mouse using a salvaged dual PS/2 mouse/keyboard jack from a computer motherboard on the junk shelf in the Physical Computing lab.

IMG_8394 IMG_8395 IMG_8396 IMG_8397 IMG_8404 IMG_8405 IMG_8406 IMG_8409 IMG_8410

The test program ran perfectly and reported x and y movement (as deltas) as well as mouse button states. Very slick! There was only one problem: I would need to send serial information from Arduino into MAX/MSP. The test program I was working with printed out
1000010
x=123
y=-3

There were no delimiters other than carriage returns. I tried to figure out some way to interpret the strings using MAX/MSP, but I became extremely frustrated. Parsing strings in MAX/MSP is not pleasant. It's alot like parsing strings in SIMPL. Again... unpleasant. The reason I wanted to parse the strings is so I could make sure the MAX/MSP patch would interpret the values in the correct order. With the "x=" and "y=" tags in front of data, I could be sure the x and y values weren't being mixed up.

Once I started experimenting with the "=" character as a delimiter, I realized there was another problem with this scheme: the numbers could be variable lengths. This would be easy to handle using a procedural programming language, but I haven't found anything like a "mid" or "left" function in MAX/MSP. I set the project aside for a bit to see what other ideas might present themselves.

Prepared Interface: 5-disc CD Changer as "Filing Cabinet"

I was really at a loss for what to present as a prepared interface. Rummaging around on the junk shelf at ITP I found the remains of a Sony compact bookshelf audio system with a 5-disc CD changer. I thought I could prepare something using the existing interface and the mechanism inside the device.

Originally, I thought I was going to make some sort of audio player, but the volume control had been salvaged from the unit.

Then, I thought I could use the trays in the CD player to pull strings and control an improvised kinetic sculpture. There was only one tray.

The following is what I came up with: using the interface and mechanism of the CD player as a filing cabinet.

I started off by making some paper "CDs" to put in the unit, but realized that it would hold the little business cards I carry around as my on-the-go notepad. The sound of the mechanism and the motion it made to deliver the cards from its electromechanical bowels was precious in an unexpected way.

Excuses

November 05, 2007

Invite the Poor

November 04, 2007

Today I Must Stay at Your House

November 03, 2007

Take the Lowest Place

November 02, 2007

Making Ear Rigs

I constructed some ear rigs for Urinetown based on some notes I found at Bright and Loud. The first set of rigs had long boom arms on them which the audience could easily see, so when I had to make a second version for Officer Lockstock in Urinetown, I modified the design to be much more discrete.

You'll need the following supplies to make the rigs:

* 18 gauge wire (available from hardware stores -- used to hang suspended ceiling tracks and repair fences)
* assorted diameters of heat shrinkable tubing
* solder
* flesh-colored Prismacolor or Zig paint markers
* pliers and wire cutters
* heat gun
* soldering iron

I took photos of each step. You can see annotations if you click on the images.
Ear Rig 002 Ear Rig 003 Ear Rig 004 Ear Rig 005 Ear Rig 006 Ear Rig 007 Ear Rig 008 Ear Rig 009 Ear Rig 010 Ear Rig 011 Ear Rig 012 Ear Rig 013 Ear Rig 014 Ear Rig 015 Ear Rig 016 Ear Rig 017 Ear Rig 018 Ear Rig 019 Ear Rig 020

I Will Not Reject Anyone Who Comes to Me

November 01, 2007

Blessed