« February 2008 | Main | April 2008 »

March 08, 2008

Thesis: Generate/Modulate

Click the image below for a video of my latest thesis prototype (or download the full-size version here).

The working title is Generate/Modulate. It's essentially an interactive Markov chain generator, based on word probabilities. As the source text (Genesis 1 from the KJV in the video above) is parsed, the program makes a list of all two-word collocations and every word that can follow that collocation; for example, the collocation in the can be followed by any of the tokens in this list: image, open, midst, seas, earth, etc. Pressing the "A" button on the controller looks at the last two words on the screen and displays the word most likely to follow them. If more than one word is possible, the word is displayed in blue, and you can use the joystick to move between alternatives. If only one word is possible, it's displayed in red. Pressing "A" again will generate the next word in the chain, using the most recently generated word plus along with the word that directly precedes it.

A wordy explanation, but I'm actually kind of happy with the intuitiveness of the interaction. You're building a text that retains the semantic and rhythmic characteristics of the original, but with unexpected syntax and lexical juxtapositions. The interface constantly presents you with choices that are immediately meaningful, but also strongly suggest the shape of future choices. It's kinda fun to watch, too.

The Xbox 360 controller isn't what the final interface will look like, of course—I was just using it to prototype the software and the interaction as quickly as possible. I've had a couple of ideas relating to the final interface. Here's my favorite so far:

March 04, 2008

n.b.

The Text Drum is hereby known as Beat Poetry. Thanks to Tom Jenkins for suggesting the new name.

Thesis/A2Z: Text drum omnibus

Click the image below for a video of the Text Drum in action (or here for the full-size version):

Pardon my lack of drumming skills. I'm... not a drummer.

A block diagram of the Text Drum and its supporting technologies (larger version):

And finally, another photo of the prototypes. (full size)

March 03, 2008

Thesis/A2Z: The text drum lives!

drum prototypes
(click me for a larger version)

Behold the first physical prototype of the Text Drum. I turned the practice pad in the lower right-hand corner of the photograph into a drum trigger by outfitting it with a piezo sensor (I followed these instructions, though I used the bottom of a can of Danish butter cookies instead of a disc of galvanized steel). The pad worked so well that I decided I needed a second sensor, so I glued a second piezo to the side of a block of wood I scavenged from the shop.

Both the pad and the block are connected to my Arduino, which sends data from the piezos (using code adapted from todbot's tutorial) over serial to the Semantic Anomalizer (pictured on the screen, in the process of mutating Pride and Prejudice).

Overall, I'm pleased: I'm getting reliable, well-timed readings from the drum triggers, and using them along with the software I've been prototyping was gratifying. As I mentioned above, playing with the prototype made it obvious that more than one trigger was needed; I programmed the second trigger (the wood block) to insert a line break into the text, which adds a few new expressive and structural possibilities.

Problems: I cut the foam inside of the practice pad kind of unevenly, and the metal that the piezo is attached to is kind of warped. As a result, the response of the trigger is kind of uneven over its surface. The trigger works reliably; it just doesn't give reliable data about how hard it has been hit. Right now, I don't need that data—I just want a digital trigger. But this is definitely an avenue for future improvement.

Also, I'm not sure how well my original idea for the interface will work—i.e., a mapping between your rhythmic accuracy and the amount of randomness in the order of the words that the program outputs. For the most part, I just enjoyed hitting stuff and making words come out. I'm not sure if subtly varying your timing is the best way to be expressive with this thing. More experimentation is needed.