DXARTS 473 Final Project
Project Time Plan
State Diagram
Research Methodology
Bibliography
Historical Context
Fabrication
Electronics
Circuit Diagrams
Code/Programming Issues
Revisions
Presentation Scenarios
Abstract/Conceptual Overview
This project is a continuation and refinement of my sound installation investigations from first quarter. The installation will consist of a six to eight channel surround sound setup. Within the surround sound space several semi-autonomous "players" construct a generative musical piece. The players "speak" snippets of text pulled from the daily news in real-time. The score is modeled on Terry Riley's seminal minimalist composition In C.
Each player adheres to one of 53 different rhythmic patterns. Each pattern is approximately one measure long. The first performer plays a text snippet as the "pulse", on the beat, for the duration of the performance. The others repeat their snippets a few times and then request a new snippet from the system. Each player determines how long it will play its snippet and then moves on to the next patter/snippet whenever it feels like it. Thus, the players move out of sync with each other over time forming various interlocking polyrhythms.
The poetics of the piece stems from the real-time information stream. The information slices across a broad swath of human experience and taps into the Zeitgeist of the time. The information is always up-to-date and, in many situations, could be new or unknown to a listener.
Project Time Plan
Week 3- Set up Linux box.
- Port speech synthesis routines to Festival/MBROLA.
- Port sound synthesis program from ChucK to SuperCollider.
- Build speakers, cabinets and stands.
- Nail down presentation.
- Investigate portable power supplies (Car battery/Solar Power).
- Long Range Wi-fi.
- Investigate alternative text extraction methods.
- Investigate multi-lingual speech synthesis and international news feeds.
- Tweak.
Research Methodology
The most important research area of this piece is fine tuning the experience. The major functional areas are already roughed out, but there are many potential opportunities to improve the overall impact of the final presentation. The following key areas will be the focus of my research:
- Sound spatialization.
- Speech synthesis quality.
- Text clustering/extraction techniques.
- Sound reinforcement.
- Visual display of the piece (fabrication).
A major area of research will be leveraging ambisonics to spatialize the sound in the installation. In order to get the ambisonics working, I need to get acquainted with SuperCollider. Ambisonics will free up the "voices" to move around the presentation space and create a more dynamic environment. The manner in which the voices move about is a big question mark at this point. Experimentation is needed.
Speech synthesis engines vary pretty greatly in terms of quality. Right now the system is using OS X's built in speech synthesis to produce sound files. I'd like to find a better system. Festival is currently the top candidate.
Currently the web crawling engine is using the Carrot2 text clustering library to summarize new articles. I'm not sure this is the best method. Some experimentation with other machine learning packages as well as simple RSS feeds might yield better results.
The actual playback system needs some consideration. The portable nature of the piece means that it needs to be low power. Conventional speaker systems may not fulfill this need.
Fabrication will follow from the results of the sound reinforcement experiments. Proper stands and enclosing cabinets for the speakers need to be made to create a clean visual environment that doesn't distract from the aural experience. A pole for the wi-fi antenna and (possibly) a solar panel will need to be integrated into the setup.
Bibliography
LISTENING POST, by Mark Hansen and Ben Rubin
Ben Rubin and the Aesthetics of Communication, Greg Zinman
Culture Catcher, by Michael Sheridan
The Killing Machine and other Stories by Janet Cardiff & George Bures Miller
Net_Dérive, by Atau Tanaka and Petra Gemeinboeck with the collaboration of Ali Momeni
(void)traffic by Yunchui Kim.
Social Technologies Deconstruction, Subversion, and the Utopia of Democratic Communication, Inke Arns
Form Follows Format Tensions, Museums, Media Technology, and Media Art, Rudolf Frieling
Constructing Media Spaces, Josephine Bosma
Historical Background
This work is probably a direct descendent of Hans Haacke's News from 1969. In that piece Haacke placed several teletype printers in a gallery. The teletype machines recieved a constant stream of news from news bureaus. The printed news created large piles of paper on the floor. The work was purely conceptual. No attempt was made to shape or alter the news streams or even to make sense of them. They merely spilled out of the machines onto the floor.
News was one of the first pieces of art to tap into a larger system of information. In many respects it's about "information" and how much of it we have access to. It calls attention to the "media machine" and distills it down to precision teletype machines spewing forth information.
One of the shortcomings of News is that it makes no attempt to really push the content of the news through as an experience. The viewer is simply overwhelmed by the volume of information or engaged by the machinations of the media industry. The stories are lost in so many piles on the floor.
News fits into a class of work that defies traditional object-oriented concepts. The Teletypes aren't the art; neither is the actual news. Recent installations of News use new and different style Teletype machines. There isn't much to grab onto here besides an idea. News adheres more to Joseph Beuys' notion of "social sculpture." It's a work of art that exists solely in the electronic realm. It has no location and no edges. Immaterialization, process and participation are important and closely related ideas.
Robert Adrian X, referring to his telecommunication project "The World In 24 Hours" (1982) emphasized that the artistic dimension consisted precisely in not creating special objects but instead establishing "communicative" occurrences between the participants.
Listening Post is probably the most similar work of art to this project. It consists of agents that process text fragments, in real time, from chat rooms, bulletin boards, and other public forums. It then displays the information on a grid of around 200 small electronic screens. It also "sings" some of the fragments using synthesized speech.
Dissociating the communication from its conventional on-screen presence, Listening Post is a visual and sonic response to the content, magnitude, and immediacy of virtual communication.
A related piece was recently exhibited at the Western Bridgeby Ben Rubin: The Quiet Ticking of Dreams. It uses Listening Post as a template, but focuses on online dream journals. The small grid of electronic screens slowly "type out" the dreams one screenful at a time. The characters are written to the screen as if they were being typed by a person in real time. Each character is accompanied by a quiet "tick" to punctuate its arrival. The ticking sounds of all the screens collectively tie all the dreams together. It's riveting and quite surreal. It's difficult to follow one dream to completion because a quick glance around the grid usually causes you to jump to another dream that looks more interesting. I think this piece concentrates on the person-to-person connection. The connection is that of a one-way voyeur, but it definitely taps into a little discussed facet of humanity - the unconscious.
All of these pieces fall somewhere on the spectrum of "digestible" vs. "information overload". The work's location on this continuum is pretty tightly integrated with the overall effect of the piece. In Hans Haacke's piece, you really only take away an idea from the exhibition. Rubin and Hansen leave you with more of an experience; repeat visits result in new and distinct experiences.
Fabrication
Speaker Stand Stakes
Speaker Stand Stake (detail)
Speaker cabinets and stands need to be made. The stands will be made primarily out of black gas pipe. It's cheap, durable and has a nice industrial chic quality. The black gas pipe comes threaded on both ends which I don't want. I'll cut the threads off and machine the ends square again. A small hole will need to be drilled at the base of the pipe to allow power and audio cables to be routed through the interior of the pipe.
I'm currently thinking about two different versions of the stands with different bases for indoor/outdoor installation. The indoor version will have round flat bases made out of 1/8" steel or similar material. I'll probably make use of the CNC plasma cutter in the Learning Factory to cut them round.
The bases for the outdoor stands are modified stakes used in concrete form construction work. The ends of the stakes were machined down to fit the interior diameter of the gas pipe. The gas pipe unfortunately comes in all sorts of wonderful shapes - anything but circular. To deal with irregularities in the diameter of the gas pipe, I ended up lathing a slight taper on the stakes. At the base of the pipe, they fit snugly against the widening taper. The slop in the interior of the pipe is taken in by an O-ring which can deform to fit whatever shape pipe it meets there. The result is a very tight fit with no wiggling or wobbling (nice!).
The steel in the stakes is fairly soft. The likelihood of "mushrooming" the end of the stake as it's driven into the ground with a sledge hammer is pretty high. To deal with this eventuality, the ends of the stakes were drilled and tapped to accommodate a bolt. The bolt will take the brunt of the force and can be replaced when it gets trashed.
Speaker-to-Stand Adapter
Speaker Stand ColletThe cabinet and the stand will hook together using a slip-fit plug fastened to the bottom of the cabinet. The plug will be threaded on one end so it can be fastened to the cabinet with a locking collar. The other end will snugly fit around the outer diameter of the pipe used to construct the stand. Depending on how secure the cabinets really need to be on top of the stand, I may add a set screw to tighten them to the stand. The main rationale for this is to keep the speakers from rotating.
The end of the collet has a hole drilled to the correct size for the speaker cable jack, thus the cable, plug, and jack are all concealed on the interior of the stand pipe.
Speaker Jack Mounting Diagram
Speaker Jack DiagramElectronics
Amplifiers
Difficulty finding amplifiers with the right power consumption profile means I'll be building my own 8-channel amplifier. After quite a bit of research I decided Class D switching power amplifiers were the way to go. They are very high efficiency (~88%) and encapsulate a lot of circuit ugliness inside a nice IC package. I ended up buying 4 stereo amp kits (PCB + bag 'o parts) from 41Hz Audio out of Sweden. The model is the Amp32. These amps are tiny which means I'll have no problem cramming them into the same case as the Mini-ITX, which is running the whole show. This will keep things nice, clean, and tidy.
Power Supply
The installation will be powered by one of two interchangeable 12V power supplies:
- Switched-mode power supply
- Deep cycle lead acid battery
The computer won't run directly off a battery so it needs a DC-DC converter to supply +12V and -12V as well as provide some power regulation.
The 12 Volt Side of Life provides and excellent primer to using 12V power sources. Overview of lead acid batteries.
Code/Programming Issues
The software consists of several major components:
- A web page crawler.
- A classifier which analyzes web pages.
- A text-to-speech program which synthesizes words and phrases into sound files.
- A sound synthesis program which "plays" the words and phrases according to a rhythmic score.
- A Java controller program which supports the sound synthesis program.
The crawler/classifier/speech synthesis process is kicked-off by a cron job at regular intervals to keep the content fresh.
Crawler
The crawler is a custom written Ruby script. It performs the following steps in order:
- Downloads the front page of Google News.
- Extracts the URLs of the original news articles.
- Downloads the original news articles.
- Extracts the page title and body text (stripping out all HTML).
- Writes out the simplified file to disk.
The results of the crawler are a bunch of files in a directory where the first line is the page title and all subsequent lines are part of the page body. These results are formatted to be easily digestable by the classifier.
Classifier
The classifier is built using the Carrot2 clustering libraries. Pages are post-processed using the Lingo clustering algorithm. Clustering is a machine learning technique that takes a bunch of text as input and tries to find patterns in the text that represent what the text is about. It's useful to think of clustering algorithms as automated categorizers. They read the page and try to sum it up in a few different categories. The clustering process results in a single file with the individual snippets of cluster text on each line.
Speech Synthesis
The list of words and phrases produced by the crawler/classifier is passed on to the Festival Speech Synthesis System for text-to-speech synthesis. Festival generates a sound file which is stored on disk.
Sound Synthesis
A ChucK script is used to "play" the synthesized speech files into the installation space. The script has a MIDI-like score representing the 53 different rythmic patterns. It requests sound files from the Java applet using OSC messages. Each player runs on a separate thread and decides how many times to play its pattern. When the player is done playing a pattern, it requests a new sound file from the Java applet and begins the next pattern using the new file.
Java Controller Program
The Java controller program keeps all the sound files organized for the sound synthesis program. It keeps a queue of sound files and feeds them to the ChucK script whenever they are requested. It clears the sound files from the filesystem when they are no longer in use.
Revisions
Most of the revisions I've made to the project are techinical in nature. They were driven by both practical and aesthetic needs.
- Rewrote the crawler
- Rewrote the control program
- Redesigned the speaker stands and cabinets
The impetus for rewriting the crawler had mainly to do with control. My earlier prototypes used Nutch for crawling. Nutch is a massive framwork which includes an industrial-strength crawler and indexer. It was overkill for this project. Rewriting the crawler simplifies the overall design, which is good, but the main payoff is the ability to do highly focused, customized crawls. I wanted to be smarter about gathering information so I could tailor the experience a little more.
The new crawler is a Ruby script with quite a bit of flexibility. I can now do things like run a search for a specific word and crawl the returned pages. This opens up potential for creating thematic, rather than random soundscapes. It also opens up the potential for feedback in the system: the output of one query can become the input for another. This kind of thing was possible with Nutch, but extremely cumbersome. Nutch isn't very smart and wasn't really set up to be a dynamic crawler.
I rewrote the control program because it was terrible. The previous design had serious limitations that would make it difficult to have the installation running continuously for long periods of time. I also changed the control program so it could accommodate more sophisticated audio file structures. For example, it can now handle passing lists of audio files around rather than just one file per key phrase. This inproves the playback experience since you get to hear the whole phrase instead of it restarting at every beat.
Having very little experience with fabrication (other than woodworking), I've been thrashing around quite a bit with respect to designs. I seem to have no lack of ideas which are sophisticated, interesting, time-consuming and difficult to execute... I've been iterating like crazy on the few parts I have to fabricate. As I get more experience with the tools it becomes clear how I need to change designs in order to make the project a little more reasonable. I've been updating my design drawings here as I work through the prototypes and iterate. Most of this energy is concentrated on the speaker stands and cabinets.
Presentation Scenarios
This piece has two drastically different presentational scenarios. The first scenario is in an outdoor setting. The second scenario is in an indoor setting. In both cases, the speaker arrangement will be roughly circular with the speakers facing into the center fo the circle.
Outdoor Setting
Showing this installation in an outdoor setting has some special considerations. Power consumption is a factor and consequently, the number of speakers will probably be reduced to anywhere from 4 to 6 speakers. Additionally, the power supply (car batteries) becomes an aesthetic consideration in the installation. Likely, the computer, batteries and other gear will be concealed under a small circular platform which provides a bench for visitors to sit on.
A central pole will provide a mounting point for an antenna to extend the wi-fi range as well as an optional solar panel. The solar panel could be used to extend the life span of the battery power source.
Providing adequate lighting will be critical. The installation may be installed in a very remote location without any external light source. Lighting will be essential to aid people in finding the installation in dark as well as keep the installation safe from unwanted collisions in the dark. Lighting is an additional power load. To provide some light, I will disassemble some common solar powered garden lights and repurpose them to light the perimeter of the circle.
Speaker cables will be buried under the ground in very shallow trenches so people don't trip over them.
The speaker stands will use the stakes, described in the fabrication section, as bases.
Indoor Setting
The configuration for an indoor installation will be much more stripped down. The whole installation can be powered via convential AC power. The computer won't need an extended wi-fi antenna or a solar panel. There won't be any lighting.
The speaker stands will use a round, cast concrete, base.
