« November 2006 | Main | January 2007 »

December 19, 2006

MicroPoet 200

The MicroPoet 200 is a creative tool for transforming texts. The applet, source code, and instructions for use are available here.

control panel small
MicroPoet 200 Control Panel (Prototype): click for larger image

Example output (click for full-size images):


Instant surrealist poetry

Abstract language poetry

Nonsense and gobbledygook

This video shows the screen-based component MicroPoet 200 in action (512x384 QuickTime, ~2MB).

Overview

What relationships lie hidden in a text? At what point does a text stop being unintelligible and begin being meaningful? Is it possible to create abstract, illegible text that nonetheless have a means of mediation with the reader? The MicroPoet 200 is designed to explore these questions.

The MicroPoet 200 parses a given text into three kinds of units: lines, words, and letters within a word. These units are individually susceptible to three types of transformation:

  • visibility: whether a unit appears or not;
  • order in sequence, such as the order of letters within a word;
  • identity: whether a unit is expressed by itself or by a related stand-in, such as another word or letter with the same width (in pixels)

These transformations are applied randomly across the text. The MicroPoet 200's interface controls the extent to which the transformation applies. For example, if the "letter visibility" control is set to 0, all letters will be visible; at 50%, each letter has 50% chance of appearing; at 100%, all letters are invisible.

Code

The PC-based component of the MicroPoet 200 is a Processing applet. The applet loads a set of prepared texts, parses them into objects, then waits for input from either the physical interface or from the keyboard. (The web applet linked above uses the latter interface exclusively.)

Words are subject to two kinds of translations worthy of note here. The first is a "spatial swap," meaning that the word is replaced by another word of the same pixel width. Possible words are drawn from a file in the data directory of the applet named words. (The applet above uses a list of words randomly drawn from OS X's built-in word list, which can normally be found at /usr/dict/words.)

The second is a "language swap," in which each word is replaced by its direct, word-for-word translation in French according to Google Translation. The translations are gathered ahead of time using this Python script, which screen-scrapes the result of a series of Google Translation requests using Beautiful Soup.

Interface Design and Construction

control panel underbelly small
The Control Panel's underbelly (click for larger image)

The physical interface consists of ten potentiometers, two switches, a breadboard, an Arduino, and a MC14067BCP multiplexer. The Ardunio reads values from the potentiometers in turn by selecting an input on the multiplexer; these values are then sent back via serial communication to the Processing applet. Here's the source code for the Arduino sketch.

The interface was designed to encourage playful interaction, along the lines of using an audio mixer or synthesizer. The knobs provide instant feedback about the state of the device, and two knobs can easily be manipulated simultaneously. Although the applet works fine without the physical interface, the software interface is a bit less intuitive and has a higher learning curve.

Inspirations

December 13, 2006

Accessibility

I have a few ideas for our good friend the multimeter. (I'm only thinking about the multimeter because I spent the whole week soldering stuff to perforated boards.)

1. Multimeters usually have audible feedback for continuity tests. The advantage of this is that you can test your circuit without having to look away. Of course, for hearing-impaired individuals (or just folks in a load room), this advantage doesn't really imply. My multimeter would include a bright LED that lit up when continuity was achieved, or perhaps the unit itself would light up - something that you could catch in the corner of your eye.

2. Let's replace the posts with clips! If you could clip one terminal onto your circuit, you could hold the circuit in position with one hand while moving the opposite terminal in the other. This would also make using the multimeter easier for individuals with reduced dexterity.

3. Automatic mode switching. If continuity isn't detected, switch to testing for resistance or voltage, perhaps displaying both simultaneously. This would reduce dependence on interface elements like switches, buttons, and knobs that can be difficult to use (on my multimeter at least).

4. Tactile and/or audible feedback, not just for continuity but also for resistance, voltage, amperage. Map vibration or pitch to any of these variables. More modalities means less dependence on any one modality.

December 06, 2006

Alan Alda Attacks

This was a lot of fun. Flash can be frustrating at times, but it was worth it to see CATS SPEAK AT MY COMMAND and also a giant, floating Alan Alda head. Download the .swf and/or .fla files below, or click the jump to view the embedded file.

Alan Alda Attacks (.swf, ~1.5Mb)
Alan Alda Attacks (.fla, ~20.5Mb)




December 01, 2006

Ma. May. Me. Foo fa. Toe, doe, no.

I wanted to try out some of the lip synch stuff, just to see how hard it's gonna be for the Alan Alda animation. Results here.