« September 2007 | Main | November 2007 »

October 31, 2007

Making Observations

Observation

I showed Wendy the frame mount prototype. We copied some of her cell phone videos onto the frames and she encouraged me to join her in simply observing what I had made. This step, she told me, is so often overlooked or rushed. Taking the time to sit with the work you have created allows you to observe it so that the other phases of the creative process loop can take place. This brought the cycle all the way around for me. The frame prototype was a "completed" articulation of an idea that had passed through the observation phase (stemming from questions such as "what if the grid wasn't embedded in the movies, but brought out into physical space using multiple frames'), the reflection phase (where my past ideas and construction techniques met up with the initial observations), and finally the articulation phase (where I built a physical artifact reflecting the previous two phases). With the physical artifact in front of us, we could observe again and bring the cycle around again.

October 30, 2007

Frame Prototype Final Assembly

Another building session. I took apart the second digital photo frame -- and found a surprise: the frames weren't identical. There were subtle (and not so subtle) differences in the mechanical design of the frames. Even though the exteriors were identical, the circuit boards inside, and most importantly, the thickness of the two LCD screens were different . The lesson I learned was when dealing with multiples, make sure they really are the same before making decisions based on an assumption that they are the same.

Pandigital Photo Frame Hacking-36 Pandigital Photo Frame Hacking-37 Pandigital Photo Frame Hacking-38 Pandigital Photo Frame Hacking-39 Pandigital Photo Frame Hacking-40 Pandigital Photo Frame Hacking-41 Pandigital Photo Frame Hacking-42

Fortunately, my cardboard construction allowed me to easily work around the problem. I used thinner spacers for the thicker frame and cut slots in the cardboard members for the extra cables on the second frame. In order to mount the detached circuit boards without precisely measuring the positions of screw holes, I simply laid the circuit board on the cardboard frame and poked a pen through the holes in the board to mark their positions. I used 18 gauge solid utility wire to fashion small stand-offs at each point I marked.

Pandigital Photo Frame Hacking-43 Pandigital Photo Frame Hacking-45 Pandigital Photo Frame Hacking-46 Pandigital Photo Frame Hacking-50 Pandigital Photo Frame Hacking-51 Pandigital Photo Frame Hacking-53

With all of the members glued down and the circuit board standoffs in place, I lifted up the assembled to test its strength.


The Power of a Small Amount of Faith

October 29, 2007

Meditation: The Seven Bridges of Königsberg

The Task:The Seven Bridges of Königsberg, in addition to being a very famous problem in graph theory, can be thought of as a type of probability table for score creation. If we presume a musical vocabulary of four events (corresponding to the west island, the north bank, the east island, and the south bank), we can create a Markov process based on the possibilities of moving from one part of the map to another. For example, from the east island we have an equal chance of travelling to the west island or either bank; from the west island, however, we are twice as likely to travel to the north or south bank than we are to the east island (i.e. there are two bridges to each bank but only one bridge between the islands). Furthermore, we could restrict the motion in our score to include randomness without repetition (i.e. you can only cross bridges that you haven't just crossed).

Using this problem as an inspiration, create a musical sketch based on four sounds representing the locales (the two islands and the two banks) and seven sounds representing the bridges. Construct a piece such that guides the listener on a walking tour through the city (which may or may not sound anything like a real city, or even a real space), attempting to solve the problem of the seven bridges. In other words, create a musical structure such that your path follows the topography of the city in such a way that you move in a semi-random path across the bridges, the only requirement being that you don't double-back on yourself immediately.

You can generate the score by hand or through a computer algorithm like the one we did in class this week for defining Markov chains. Bring in what you came up with (both the score (paper or code) and the resulting sound) and we'll check it out!

Starting Out
I couldn't quite wrap my head around how to represent the bridges in code, so I started sketching. I numbered the bridges and assigned letters to each land mass. Once I drew the bridges and land masses, I was able to draw a simplified graph, just as Luke had done with Markov chains in class.

After redrawing the graph with numbers, I could see easily how to make a two-dimensional array out of the graph. I drew up a Markov table for the bridges and land masses and then set about coding, starting with Luke's Markov code from several weeks ago (see below for one of the versions I worked on).

Seven Bridges Sketches

Once I had the code running, I started with a simple test to see what pattens the solution might reveal. I recorded the "name" of each bridge and land mass and used my code to generate a sound file of the "walk."

The first two audio files I generated had different paths but the west island occurred in the same place in both. I generated two more to see if the west island always happened in the same spots. Although it frequently occurred in the same positions, it didn't always happen. This makes sense, as the middle west island has the highest probability.

Knowing that the west island was the statistically most likely event to occur, I tried to structure a musical sketch around it by using the west island to play the tonic chord in a scale. I recorded other chords from the scale as the other land masses. For the bridges, I recorded short leading melody lines that I thought would smoothly lead between the chords. The results of that experiment weren't particularly nice sounding, so I'm not including them here.

I started experimenting with pitches from a C minor 7th chord, using the Markov process from the Seven Bridges as an arpeggiator. I assigned the notes from the chord (C, E-flat, G, B-flat) to the land masses and other tones in the c-(melodic ?) scale as the bridges.

SB Pitches v1.mp3
My first attempt had some nasty clicks in it -- and was much too slow.

SB Pitches v2.mp3

SB pitches against guitar samples v1.mp3
I mixed the generated arpeggiator against the guitar samples I recorded... and I liked the way it sounded. I was also thinking about what Brad Garton had said about using algorithmic composition at the score level -- I constructed a chord progression of sorts with the guitar samples; they're harmonically related. What could be interesting is to drive the "form" of the score using the same markov approach. essentially taking the different chords in the progression and generating the rapid bridge transitions (the arpeggios) to match the current chord structure... on the other hand, I like the way this drones on currently.

SB Pitches v3.mp3
more notes per second... but the clicking has increased. I tried adjust the ramp to a reasonable value, but it didn't seem to work. I then reviewed what Luke did with the EEG data (rise, duration, decay as p3/3, p3, p3) and things sounded much better

SB tones+guitar v1.mp3
SB tones+guitar v2.mp3

The final two renderings contained Markov controlled sine wave tones and guitar samples. The sine waves play as before, but now I've added guitar samples that play on their own circuit of the Seven Bridges problem -- but only as the land masses. There are no bridges. I was planning to add connecting musical phrases for the guitar, but found I liked the openness of the current sketches.

Frame Mounting System Attempt #2

Wendy wanted me to try another approach to making the prototype: building it up as quickly as possible without designing it. The key is to invest as little time as possible so we can see if it is worthwhile continuing. She asks me not to completely disregard the practicalities of eventually building the mounting system, but to keep them in the back of my mind rather than using them as my guiding working principles.

I sketch again.

sketch3.bmp

This time, I'm focused on making a minimal structure that can support the two frames I have. I still want to separate the LCD from the circuit board, but I'm not worrying about modularity at all.

Pandigital Photo Frame Hacking-20 Pandigital Photo Frame Hacking-21 Pandigital Photo Frame Hacking-23 Pandigital Photo Frame Hacking-24 Pandigital Photo Frame Hacking-25 Pandigital Photo Frame Hacking-26 Pandigital Photo Frame Hacking-27 Pandigital Photo Frame Hacking-29 Pandigital Photo Frame Hacking-32 Pandigital Photo Frame Hacking-33 Pandigital Photo Frame Hacking-35

She Glorified God

October 28, 2007

Humility in Prayer

October 27, 2007

Repent

October 25, 2007

Final Project Proposals

Two possibilities:
1. A performance or a sonification based on the Marov chains we derived from the Bridges of Konigsberg. I'm interesting in playing with maps of the NYC subway to derive similar trip-based sonifications.

2. A composition based on sonification of data from my financial transactions. I have almost 10 years worth of electronic transaction data that is usually only good for preparing tax returns. One particular question that jump out at me is how does the sound to buy gas each week throughout these years of data? Is there a good mapping that could represent this relentless consumption of fuel?

Not Peace... But Division

October 24, 2007

Much Will Be Required

Transmission Arts

For my transmission arts sketch, I decided to explore Second Life and try my hand at machinima.

I have a tiny bit of 3-D modeling experience using Google Sketch-Up, but getting the hang of Second Life was a bit complicated. In order to ease into the idea, and to try out "filming," I searched for some potential movie sets upon which to do some goofy movie reenactment. When I discovered that there is a Titanic replica in Second Life, I decided that the silliest thing I could possibly do would be to pose my avatar in the infamous Leonardo DiCaprio pose at the bow of the ship and yell, "I'm the king of the world."

When I "teleported" to the location, I found that several other avatars were there -- including one who apparently shared my idea. I waited my turn and then tried my best to contort my avatar into the Leonardo pose. Not too easy, considering all I could use were the built-in gestures.

Next, I thought I might try my hand at some dancing. Here's my avatar dancing away in the background... This dance floor actually pays you to dance on it... Perhaps it's meant to look like a happening spot. The area appears to be owned by a virtual realty outfit.

My next sketch explored camera placement opportunities. I found it very interesting that Second Life's basic interface includes very flexible camera positioning. It's almost as if the world has been set up to duplicate a cinematically-inflected viewpoint. Real life is not dramatic enough, so let's give ourselves the ability to pan and zoom our view of the landscape and ourselves.

That said, I enjoyed my explorations, but I don't know that I'll return there. Too easy to get sucked in.

October 23, 2007

Vigilant

October 22, 2007

Frame Mounting System Attempt #1

After the frame was open, I started trying ideas for the mounting system in cardboard. Here are the sketches I started with:

sketch1.bmp sketch2.bmp

I had in my mind that I would try to mock up a u-channel mounting system using cardboard. I visited McMaster-Carr's website to learn more about u-channel. Suddenly, the project becomes more of an engineering project and less of a creative project. I was taking measurements and drafting things in Visio to try to get them to fit on paper before I built anything.

frame 001 frame 003

When I met with Wendy again, we talked about this tendency to invest to heavily too early in a process. She wanted me to try again -- this time not focusing on duplicating ready-made materials in cardboard, but trying to piece something together in about two hours that will allow us to make some observations. Wendy is not even really sure what will happen when two frames are next to each other, so the quicker I can put this together, the quicker she'll know if it is worth pursuing further.


First Map Memories

Last class, Rachel asked us to try to recall our first mapping memory... What was the first map we remember learning how to read. I don't remember specifically learning about maps in school. I can vaguely remember learning about lines of longitude and latitude, and maybe even an exercise where we took a list of longitude and latitude points and drew the shape of a country.

From a very early age (remembering way back to the first house I lived in), I had a map of the world on the wall of my bedroom (or maybe it was just the United States of America). More than anything else, it was a decoration.

The first thing that came to my mind when Rachel brought up map memories in class was reading Lego instructions. I’m almost positive I was putting together Lego models before I went to school. These pictorial representations of the steps used to construct a model using Lego bricks were the first maps I encountered: a schematic on a page represented discrete components in a pile of parts I had.

After locating each of the pieces called for by the model in my big pile of Lego bricks, I oriented and attached them according to the assembly diagrams. By following the “map,” I was able to not only construct the model I was working on, but I also began to take structural ideas from the maps and incorporate them into my own creates.

Am I Building New Barns?

October 21, 2007

Persistence

October 20, 2007

Beginning Work on Frame Prototype

One of the first projects I'm working on with Wendy is developing a prototype for a multi-frame mounting system for her cell phone video installations. Previously, she has shown her videos on individual photo frames, but is now considering how to package multiple frames into a single unit that is easy to ship to galleries and easy to operate.

One of the first things we consider is how close together we can mount the frames. I begin this investigation as I have begun many before -- by taking things apart. Depending on how the LCD has been mounted inside the unit, I feel like we might be able to separate the LCD from the main circuit board and make it possible to mount LCD screens much closer together than we could if they were in their plastic frames.

Pandigital Surgery 001 Pandigital Surgery 003 Pandigital Surgery 004 Pandigital Surgery 005 Pandigital Surgery 006 Pandigital Surgery 007 Pandigital Surgery 008 Pandigital Surgery 009 Pandigital Surgery 010 Pandigital Surgery 011 Pandigital Surgery 012

One of Wendy's other concerns is making the installations easy for gallery personnel and private collectors to operate. Presently, each frame must be powered on separately and the first movie clip must be selected manually. Would it be possible to chain the frames together somehow? As I took apart the frame, I had the idea that we could bring all of the infrared receivers together in a central location so that a single remote would operate them.

The Holy Spirit Will Teach You

October 19, 2007

Even the Hairs of Your Head Have All Been Counted

October 18, 2007

Through All Generations

October 17, 2007

Rock (strength, permanence)

Hammerhead

Assignment:
Choose one of your senses, appendages or behaviors and augment or frustrate it technologically.

I built a device to frustrate my normal vision by forcing my eyes to look out the side of my head rather than straight ahead. Its design was inspired by animals such as the hammerhead shark, which do not look forward as humans do.

Hammerhead 043

Hammerhead 047

The following series of pictures document the process of designing and making two prototypes.

Hammerhead 001 Hammerhead 002 Composite Mockup Hammerhead 004 Hammerhead 005 Hammerhead 008 Hammerhead 010 Hammerhead 012 Hammerhead 016 Hammerhead 017 Hammerhead 018 Hammerhead 019 Hammerhead 020 Hammerhead 022 Hammerhead 023 Hammerhead 024 Hammerhead 025 Hammerhead 026 Hammerhead 027 Hammerhead 028 Hammerhead 029 Hammerhead 030 Hammerhead 031 Hammerhead 032 Hammerhead 034 Hammerhead 035 Hammerhead 036 Hammerhead 037 Hammerhead 038 Hammerhead 039 Hammerhead 040 Hammerhead 041 Hammerhead 042 Hammerhead 043 Hammerhead 045 Hammerhead 046 Hammerhead 047 Hammerhead 048 Hammerhead 050

October 16, 2007

Outside vs. Inside

October 15, 2007

Jesus is the Sign of God's Love

October 14, 2007

Your Faith Has Saved You

October 13, 2007

Blessed

October 12, 2007

Give Thanks, Be Glad, Sing Praise!

October 11, 2007

Physical Theater

The second half of our class on Tuesday evening was spent working on physical theater at Judson Church. This was quite possibly the highlight of my week. We enjoyed an hour and a half of movement and really worked as a group in a way I hadn't experienced in a class before.

I wanted to capture some of the energy of that experience, so I made some sketches yesterday evening on the bus.

movements

Be Persistent - Ask And You Shall Receive

Sonifying Datasets: Microsoft vs. Google

After we worked on sonifying EEG data in class, I wanted to try something on my own. I liked the "spectral" and ghostly qualities of the EEG sounds, but wondered what would happen if I tried to map the sounds of two competing sets of data -- specifically stock prices. What would the Microsoft vs. Google race sound like?

I found stock quotes for the two companies at http://quotes.nasdaq.com and then massaged the downloaded data into a format I could easily read into a modified version of the Processing patch we were using in class. I made the mistake of trying to graph the data sets (containing over 2000 datapoints) using a spreadsheet program. It took forever.

What follows here are some of my notes as I worked through the process.

- Multiplied all values by 100 and rounded to get rid of decimal places
- sorted in ascending date order
- I want Google and Microsoft to duel, so I will insert blanks for dates that are missing from Google's history.
- in ultraedit, I replace all CR/LFs with spaces so the existing program can easily read the data.

- I don't really want to use different octave ranges for the two stocks; that might seem to give primacy to one over the other; perhaps I can change the type of base sound wave... one is a square, the other is a triangle
- what is going to happen when I scale the ranges? I can either take the total range or allow each dataset to use its own range

Initial Experiments
v1: [ listen ] google remains constant at a single pitch throughout the piece. Each dataset is using its own scale. I'm not sure I like the frequency range, either. I think I would like lower frequencies. First, I'll try to get google out of the mud by choosing a different range...

v2: [ listen ] I changed the starting time so google doesn't stay on 8.02 (D above middle C) the entire time. I needed to move later in the dataset since I only have 38 months of Google.

v3: [ listen ] Tried removing the drone from the times before Google starts rising, but I didn't hear much difference

v4: [ listen ] made the scaling aware of both datasets. Now microsoft drones as google rises

v5: [ listen ] going for a longer dataset -- nicer; I had the idea to do short snippets of this -- making the composition out of corporate battles.... msft vs google; gm vs ford

v6: [ listen ] lower frequencies -- and spread apart by a fifth (.07 in octave pitch class)

v7: [ listen ] changes the frequency relationship (spread out by .04) -- I don't like it

v8: [ listen ] lower frequency + a wider frequency spread (.11). I like the low, but the interval is weird. what would an octave and the original .07 feel like? I'd like to try different harmonics

v9: [ listen ] Interesting -- but too short. I can only get 10 years of data right now. It might also be interesting to use daily market data -- which could contain much more raw data for a 10 year period. The other alternative is to render fewer data points per second

Using More Data from the Dataset -- Including Daily Stock Trading Volumes
I thought it might be interesting to control the intensity of the sound with the daily trading volume

My dataset looks like:
[round(closing price * 100)],[volume]
656,36140900
638,27227700
641,34314300
644,18598400
633,45610400
619,38191300
628,36933400
636,18076800
659,38905600
...


I'll remove the CR/LF's again and replace them with spaces so I'll have:

656,36140900 638,27227700 641,34314300 644,18598400 633,45610400 619,38191300 628,36933400 636,18076800 659,38905600

After struggling for a bit to deal with the multiple sets of arrays, I decided to convert the program so it uses classes. This makes the data easier to access and the code more readable.

v10: [ listen ] don't remember what I did here...

google vs msft v11: pushed the google and microsoft data through my revised code (now using volume information). I realized that frequencies were backwards, though. I want microsoft to be the low frequency.

v12: [ listen ]

Other Potential Experiments
- microsoft - left channel; google - right channel
- use the S&P500 or another index as the base level and then render the two competing stocks somewhere else in the frequency space

October 10, 2007

Pranks and Activism

It was my intention to take the Mad Libs / Karaoke machine I created for my interactive narrative assignment and deploy it in a public space.

The first problem with this is that it would require a bunch of equipment. Perhaps I could do a performance with it in a bar, but definitely not in Washington Square Park.

I started thinking about ways to move the program online and enable the collaborative "storytelling" gag I used in class. One of the ideas I had was a simple web site that would ask each successive visitor one of the questions. When all of the questions for the current "story' were exhausted, I would be notified by email and could perform the song in a video recording and upload it, which would then notify all of the participants.

PHP and Me
The site would be driven by some PHP code, I thought. After breaking the problem into a number of small pieces, I spent a bit of time trying to work out the little prototypes:

  • Loading items from a text file residing in my web directory
  • Displaying a form on a webpage that could post its results to another portion of the script

  • Saving users' answers in another text file and keeping track of the current question (later working out how to deal with multiple simultaneous users)

  • Automatically generating email when all questions were answered

How hard could PHP be, I thought? It was easy enough to find documentation about reading and writing files, and I got pieces of that working without too much trouble.

This is not how I should have begun, however. Eventually, I had the sense to recall Amit Pitaru's strategy for moving forward on a project: figure out how hard it is going to be to do something before doing it. This, coupled with Wendy Richmond's strategy to keep doing easy things, led me to type "madlibs php" into Google. No sense in learning how to write madlibs if it's already been done. I'm not here to learn another programming language. I'm here to learn how to prototype things quickly. So... I dumped code onto my site and within moments I had a PHP-based madlibs game running. I hated it immediately. It lost the feeling it had when I performed the first version of the piece in class. I could no longer experience the entertainment of people shouting out goofy answers to the questions. The web was not a good setting for this performance -- at least not as I was envisioning it.

Again, a personal admonishment that bears repeating over and over again: when prototyping, look first to find out how hard something is going to be -- and whether there is already something that will get you close. Hack!

Back to the Drawing Board
I decided to search for other ideas for public pranks / performances. The following are images from my notebook. If you want to see captions, please click on the images.

Technology Pranks-0 Technology Pranks-1 Technology Pranks-2 Technology Pranks-3 Technology Pranks-4

I would like to play around a bit more with the LCD screen idea, since I spent some time over the summer working with character LCD screens. I've also started putting together my first XBee radio breadboard.

Teach Me To Pray

October 09, 2007

You Are Worried About Many Things

October 08, 2007

Who is My Neighbor?

October 07, 2007

Increase Our Faith

October 06, 2007

I Give You Praise

October 05, 2007

We Did Not Heed the Voice of the Lord

October 04, 2007

Trust that What You Need for the Journey will be Provided

October 03, 2007

Long for Home

October 02, 2007

PeopleScrubber Prototyping

Today, when I wasn't on the bus or in class I was building. I took the initial work I did last night and built it up into a mostly usable prototype. I designed the pulleys and sensor mounting brackets in Visio, printed them out, and glued them directly to cardboard in order to skip tedious measurements. If you want to see more details about the process, click on any of the pictures below. They all have captions.

2007 10 02 Prototyping-0 2007 10 02 Prototyping-1 2007 10 02 Prototyping-2 2007 10 02 Prototyping-3 2007 10 02 Prototyping-4 2007 10 02 Prototyping-5 2007 10 02 Prototyping-6 2007 10 02 Prototyping-7 2007 10 02 Prototyping-8 2007 10 02 Prototyping-9 2007 10 02 Prototyping-10 2007 10 02 Prototyping-11 2007 10 02 Prototyping-12

I presented a partially working prototype in class this evening. I couldn't figure out the direction detection algorithm and didn't have enough time to start experimenting with my MAX patch.

Look Upon the Face of My Heavenly Father

October 01, 2007

PeopleScrubber Prototyping

Now prototyping in earnest. I realized that older computer mice knew whether they were moving backwards or forwards. Perhaps I could use an optical encoder wheel. Time was running out, so I started working with IR LEDs and photo-detectors. I'm not sure if I have photo-diodes or photo-transistors. The parts I have are from high school -- and completely unlabeled. In order to figure out the polarity of the devices, I examine the lens of the LEDs using the digital camera, which allows me to "see" infrared light.

2007 10 01 Prototyping 2007 10 01 Prototyping-0 2007 10 01 Prototyping-1 2007 10 01 Prototyping-2 2007 10 01 Prototyping-3 2007 10 01 Prototyping-4 2007 10 01 Prototyping-5 2007 10 01 Prototyping-6

The Intention of Their Hearts