learning the ropes

things I made at ITP and after: sketches, prototypes, and other documentation

Monday, 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.

posted by Michael at 11:16 pm  

Monday, October 29, 2007

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

posted by Michael at 8:13 pm  

Powered by WordPress