Page  00000131 "SNAP" -Sound Network Agent ProjectMulti Agent System using Csound in the internet Fumitake Ohnaka Keio University Computer Music Lab 5322 Endo, Fujiwasa, Kanagawa, 252-0816, JAPAN fmtk@sfc.keio.ac.jp Abstract This paper will discusses SNAP (Sound Network Agent Project), a network music installation created using Java and Csound. The three principal issues are: 1) getting data from the network, 2) the interaction of complex adaptive systems (multi agent system), and 3) occurrence of Emergence. And also this system's concept is influenced by oriental philosophy such as Tao and Buddhism. In this structure, agents generate sound according to the network state, and broadcast to the internet. 1 Introduction We can see enormous population dynamics in the internet today, and the internet is still growing, we can find enormous quantities and relationships of information on the network. The net is a good space to gather dynamic correlated information. We can say that the network as a whole is a huge growing database, but each item is basically an atom, without context, and no direct relation among the other items found on the net. It is good that we regard the network not as a systematic knowledge area but as a chaotic thought space with vectors expanding in every direction. Thus we can regard the network as a type of complex adaptive system. In other words, we can see emergence on the network. As an individual we cannot grasp the totality of the internet. If you would like to see the current state of the net, you can produce a particular perspective by employing a complex, interacting team of network agents. Agent programs are in the network, influenced by network state, and interact with each other with their conditions. When agents behave autonomously and reflect on each other, we can see the activity that is like an Intelligence or Ghost - it is emergence - that has subjectivity and identity itself. [5] This behavior is used for sound generation in order to give organic variation to sound. This installation is a musical application of this approach. 2 Background 2.1 Contemporary physics & Tao, Buddhism There is a considerable similarity between contemporary physics and oriental philosophy. For instance, material can not exist in isolation, and we cannot understand its existence without the complex interaction of the environment. And in QED (quantum electrodynamics), a particle is merely a condensed field in a defined space. In other words, material is basically equal to space, the only difference is density. Also in Buddhism, there is the notion of " (Ku)". Ku is not only "empty, nothing" but also "all things, and foundation of everything". And also in Chinese thought, there is the idea, called "Tao", "it is empty, have no shape, and creates all". The Chinese, like the Indians, believed that there is an ultimate reality which underlies and unifies the multiple things and events we observe: ICMC Proceedings 1999 - 131 -

Page  00000132 There are the three terms -"complete," "all-embracing," "the whole." These names are different, but the reality sought in them is the same: referring to the One thing. [4] This can be regarded as relative and variable, dynamic, changeable, and ephemeral. Sometimes they become tangible, sometimes they disappear in the constant movement and dance of energy. Therefore my agent program does not have the task to find specific keywords or information, has a only small temporary memory space, does not interpret, but reflects the network information itself. By these characteristics, the agent program is impartial a non-existent entity, it simply mirrors society itself. And perhaps most fundamentally, why is there something rather than nothing?[9] 2.2 Existence is information We always recognize the world by various information, in other words, all things, even our existence, is merely composed of the information in our brain. Then the internet is an information space described by alphanumeric characters. It is the unifying representation of the internet. Even if the resource is an image file or sound file, we need a specified name in order to access it on the net. This is a Uniform Resource Location (URL); With it, we can access the unique existence in the vast information space. Therefore in the internet, the unique existence, even if like your existence, is equal to an address described by alphanumeric characters. Agents communicate with these unique existence in the network, and reflect these information in order to generate sound. 2.3 Complex Adaptive Systems Chaos theory, artificial intelligence systems, and neural networks and many natural systems such as immune systems, ecologies, and societies are characterized by apparently complex behaviors that emerge as a result of often nonlinear spatiotemporal interactions among a large number of component systems at different levels of organization. [10] And these behaviors are still mysterious. "complexity"- a subject that's still so new and so wide-ranging that nobody knows quite how to define it, or even where its boundaries lie. But then, that's the whole point. [9] 2.4 Multi Agent System & emergence Multi agent system is a type of complex adaptive system. At the every level, each element of the structure reflects each other autonomically in a lower level. [1] The system is designed as a multi agent system. With this, a structure of emergence can generate a musical composition. Each agent communicates with and reflects upon each other to generate Csound score data. In this way, such a system can generate a large high level organic structure. 3 System This system is composed of three elements as follows. Network agent system: Java application 1. Network agent (simple web crawler): Get the characters of internet links - realtime search 2. Data parsing: Retrieve tag (URL) information 3. Calculates mapping: According to buddhism circle 4. Score generator: Converts the mapping information into score of sound Sound generation system: Csound as a sound engine [2] 1. Read score and generate a sound in realtime. 2. Output sound to encoder. Broadcast system [3]: feedback of influence - 132 - ICMC Proceedings 1999

Page  00000133 1. mp3enc: As MP3 realtime encoder [6] 2. icecast sender (shout program): As MP3 audio sender to broadcast server [7] 3. Shoutcast server: As MP3 broadcasting server [8] agent program Agent system *get informaton Network -- data was parsed and (URL) generate a score send score broadcast MP3 sound dicates an emptiness, zero, and no sound. In other words, bias causes sound. The indicator position within the circle changes according to the bias, and this movement generates sound. Each position has a different sound. The Csound score generated by the agents synthesizes sound continuously in realtime. The sound data is broadcasted to the net, and a Java application on the SNAP website creates a visual representation of the system, also in realtime. People accessing the site can listen to the broadcast and see the Java animation. F this point T Caluate pow balance (concpo Sound Engine - Encode Broadcast send soundEn generate sound file sendsound according to score MP3 3.1 System illustration The server and agent progranis are written in Java. The principal job of the network agent is to find links and following them recursively. Network agents return the information to the server. All data from the network is treated as alphanumeric characters, resolved into the letter level, removing meanings from the original words. The server buffers data from the network agents to some degree, then divides the data into a circular structure of 8 or 12 segments. There remain a vector including the original words in a buffer. The circular structure is based on oriental thought from Buddhism, in particular "Hannya-shin-gyo". This system converts the remaining power in this structure into sound. 3.2 Sound generation The frequency of occurrence of each letter in one buffer creates a bias. This bias provides interesting variation in the sound. If there is no data or no bias in the buffer, the indicator representing this letter appears in the center of the circle - this position in 4 Implementation example 4.1 Breath of the Net In one example, a metaphor, "Breath of the Net" is used. A single tone is an electric wire howled by the wind, the agent's behavior is the state of the wind. Sometimes there is one tone, sometimes there are multiple tones. If there are multiple tones, it is capable of generating another tone by resonance. It is possible to change the tone itself by other interactions like a phase distortion, beating, and erasing of sound using interference or reversing phase. Also, All events are unique - if you select a default setting to start this system, a response of the system will differ each time. It is a chance operation influenced by the network state. This system uses realtime processing, so the start time of each sound are influenced by a network traffic. This piece has some element of chance operation even if it is only a single agent system. ICMC Proceedings 1999 - 133 -

Page  00000134 1. Start time of sound When the engine gets a score line, the system immediately generates a sound. 2. Timing depend on buffering quantity When a buffer is full, the server starts to calculate the bias and generates a one line score to send to the Csound engine. 3. Buffering quantity is decided by URL length and net velocity Buffering quantity is stable, so start time depends on string length of the URL and netcongestion. 4. Sound colors are decided by the bias of letters in a buffer If someone change the link information even if he add or change only one URL, the result will entirely differ. This system has 4 elements (pitch, volume, length, tone) to compose a sound, these parameters are controlled by the bias of the letters. And a server has a particular character string pattern by hostname and someone's address, and cause a particular bias. It creates a character of sound representing its own existence on the net. http://psyche.mag.keio.ac.jp/index.html http://psyche.mag.keio.ac.jp/intro.html http://psyche.mag.keio.ac.jp/snap/indexhtal http://psyche.mag.keio.ac.jp/snap/bcast.html Thus, one agent could have many variations, and if these agents behave together and reflect each other, 1 we can see the emergence in this multi agent system. This emergence could be called the"Breath of the net". 5 Future This installation represents a first approach to this concept. I plan to add new module functions to cause another kind of variation to sound and new iterface for net people to take part in the sound eneration. Finally, this program may become a ype of distributed artificial intelligence system. References 1. Marvin Minsky 1987. "Society of mind": MIT Media Lab and MIT AI Lab. http://www.ai.mit.edu/people/minsky/minsky.html 2. Kenji Yasaka 1998. "Using Csound as a Sound Engine for Interactive WWW Content". Proceedings of the International Computer Music Conference. Michigan: International Computer Music Association. http://www.dotcom-studio.com/ 3. Seinoshin Yamagishi, and Kohji Setoh 1998. "Variations for WWW" Network Music by MAX and the WWW. Proceedings of the International Computer Music Conference. Michigan: International Computer Music Association. http://flow.sfc.keio.ac.jp/ 4. Fritjof Capra 1982. "The Tao of Physics": Shambhala Pubns., Inc. 5. Masamune Shirow 1991. "Ghost in the shell": Koudansha 6. Fraunhofer IIS-A Audio & Multimedia http://www.iis.fhg.de/amm/download/mp3enc/ 7. icecast http://icecast.linuxpower.org/ 8. shoutcast http://www.shoutcast.com 9. M. Mitchell Waldrop "Complexity, The Emerging Science At The Edge Of Order And Chaos": Touchstone Book, Simon & Schuster 1992 ISBN 0-671-76789-5 0-671-87234-6 (PBK).0. Complex Adaptive systems group at Iowa state university http://www.cs.iastate.edu/ honavar/alife.isu.html - 134 - ICMC Proceedings 1999