
MONSTER COMPOSER
‘Monster Composer’ is a part of my practice ‘Monster Project.’ It is a tool as well as artwork. As a tool, it generates as same number of unique monsters as people who interact with it. It collects sound for a certain length and images from audiences. Then, the data can be re-used for future project. As an artwork, the aesthetics of ‘Monster Composer’ imitates nature, from a unicellular organism to an adult organism. The first stage of the evolution is like the world through microscope. They adopt colours from an audience. And they change their shape depending on the sound (pitch) that the audience makes. The colour is saturated. Their movement is hard to anticipate. The second stage of evolution is ‘growing’ based on the sound that has collected earlier. But now the creature can analyse sound better. Not only pitch of the sound, but also other factors of sounds (tone, frequency, etc). Then the creature applies analysed data to their form again. In the third stage, end of their evolution, they become adult organism, ‘Monster’ based on all data that has been collected during the journey.
PROBLEMS
While I develop the ‘Monster Composer’, I experienced poor performance and memory leak. As far as I researched to tackle those problems, it is because of the limitation of JAVA and the external library that I used to record and play the sound.
First problem, poor performance is due to the way that it creates the monster, which is generating thousands of vertices in a certain form. As the number of vertices are increased by time, the performance getting decreased noticeably. Plus, the random values on each vertex affect on that too. Immaturity of the external library and how JAVA deals with memory cause the second problem. The library that I used is ‘Minim.’ It has an audio recorder and player. However, when I try to record multiple times in the application, it did not clear previous recorder from memory. The garbage collection in JAVA does not doing any job that it supposed to do. Then I tried force garbage collection, but it doesn’t make any differences.
Consequently, I stopped developing on Processing.
FUTURE PLAN
Without solving those two issues, it is impossible to proceed to complete Monster Composer. Thus, I decided to change the language, from Processing to C++. Processing’s ability of visualising 3D is not as powerful as combination of C++ and OpenGL. Also there is a critical reason. I designed this project in exhibition context. In the exhibition context, stability is one of the most important aspects. Without solving memory-managing problem, I cannot expect to this running all day without crash, freeze or slowdown.
After I decided to change the language to use, I started to study OpenGL, planning to finish by summer.
DISSEMINATION
When I started this project, I put this project into gallery context. The screen will be as big as an adult. The image below is the exhibition plan.

REFERENCE IMAGES



BIBLIOGRAPHY
Dave, Shreiner: OpenGL Programming Guide seventh edition. The United States of America: Addison Wesley Press, 2009
Reas, Casey et al.: Processing. The United States of America: MIT Press, 2007
Witelaw, Mitchell: Metacreation - Art and Artificial Life. The United States of America: MIT Press, 2004
Prophet, Jane: Technosphere. http://www.janeprophet.com/technosphere.html, 1999
EA Games: Spore. http://www.spore.com, 2001
Zimoun et al.: Untitled Sound Objects. http://www.zimoun.ch/works/2008/swarm_vibration_motors/swarm_vibration_motors.html, 2007
Download Monster Composer Processing Code + data + library