The Otherside Web-Based Collaborative Multimedia System
Total Page:16
File Type:pdf, Size:1020Kb
The Otherside Web-based Collaborative Multimedia System Ilias Anagnostopoulos University of Sheffield Sound Studios 34 Leavygreave Road S3 7RD, Sheffield United Kingdom I.Anagnostopoulos@sheffield.ac.uk Abstract that users can get involved to the extent of be- The Otherside is an advanced open-source multime- coming developers of the Otherside system. dia system, designed to run as a server application. It is essentially a sound synthesis system that al- lows for the creative collaboration of a number of 1.1.1 Computer Network Collaboration people or machines over computer networks. Un- like most similar attempts to create network-based audio applications, the Otherside does not require Computer Networks are nowadays dominating any specialized audio software or massive amounts the world through the internet. However, most of computer processing power. The audio processing of the well-established network applications are is done on the server side and directed to listeners very simple and are not particularly demand- using a simple Internet Radio protocol. Any listener ing in processing power and network bandwidth. can then choose to participate in the sound creation Digital Signal Processing is a complicated task process by using a simple web-browser-based chat- that only recently became a \household" appli- room, or by utilising their own advanced systems for network control. cation on personal computers. Careful planning and consideration is required to overcome some Keywords of the difficulties posed by computer networks Networks, Collaboration, Server, Streaming, OSC and their use by artistic collaboration systems. 1 Introduction One of these problems is that network con- nections and especially the internet often in- 1.1 Creative Collaboration volve extremely long distances between two The Otherside Server provides a platform for users, thus inevitably data can not be trans- the creative collaboration of any number of peo- ferred seamlessly. There is an evident latency ple, regardless of their understanding of mu- issue that is being treated differently by such sic, computer programming or networking. It project developers. Jeorg Stelkens discusses this is platform-independent, meaning that it will in a paper about his own network collabora- run properly on any operating system and any tion system[1], proposing the integration of la- computer architecture. This makes it easily ac- tency in the creative process, as a unique char- cessible to a large number of people who can acteristic of the computer network as a medium. work together and even communicate, during The Otherside does not attempt to overcome or the course of their session with Otherside. to cover-up latency, unlike most projects men- People can create music together, from ran- tioned by Stelkens. It merely accepts latency as domly changing values and creating random a fact and uses the amount of users simultane- sonic events to carefully crafting their own soft- ously transmitting data to create a sonic situa- ware that will interface with the Otherside like tion where events can either be left to chance, an additional musical instrument. It is an en- creating aleatory music[2], or forcing a user to trance to the world of computer music for peo- take the amount of latency into consideration ple who have no such previous experience. It when crafting a sonic event in order to be able can also serve as an advanced experimentation to predict the outcome. This approach is based platform for users who are already familiar with on the principle of integrating the latency in the the protocols and principles involved. It is open creative process and passing on its acceptance and accessible to several different protocols and as a fact to the users, who will have to take it adheres to the open-source mentality, meaning into account when using this system. 1.2 Related Creative Development 2 Technical Description 2.1 Operating System 1.2.1 NetPD The Otherside is based on open-source prin- ciples, being built on the Ubuntu Linux 8.04 An inspiring project, leading to the ini- Server Edition operating system. The operat- tial thoughts for creating the Otherside was ing system was chosen as it has proved to be NetPD[3]. NetPD is based on Pure-Data[4] and very stable as a server system while being di- enables a group of people to collaborate over a rectly compatible with all the audio software computer network. The idea of collaboration and techniques that were to be used. It is also is common between NetPD and the Otherside, an operating system that is very open to cus- but the Otherside attempts to break the limit tomization, something that was necessary to en- of keeping it only between users of Pure-Data, sure high performance under the load of audio who would have to be comfortable with data- processing and server applications. flow programming and networking. The Oth- The preparation of the computer system on erside allows users to become involved as much which the Otherside was tested started with the as they please. NetPD also features a chat fa- installation of the base Ubuntu 8.04 Server sys- cility within Pure-Data, for communication be- tem, replacing the Linux Server Kernel with the tween participants. Otherside is based on IRC, Linux 2.6.24 RT1 Kernel, which allows audio a well-known chat interface, but goes much fur- processing to be done with Real-Time priority. ther than just using it for communication. It Since audio processing is one of the main func- is worth noting that it is technically possible to tions of the Otherside, real-time implementa- connect NetPD and the Otherside and create a tion was an important step towards high per- collaboration between the two projects. formance. To enable the audio to function on the Ubuntu Server operating system the instal- lation of ALSA[7] was also required. 1.2.2 Pure-Data and Data-Flow Programming 2.2 Web interface To achieve an extreme level of accessibility by Pure-Data was created by Miller Puckette, as users who have no interest in turning their per- an open-source project, similar to his Max[5] sonal computer into an audio workstation, all program. It is a data-flow programming lan- functions of the Otherside are accessible from a guage geared towards audio/visual output and simple website interface. control. Pure-Data is a direct descendant of The starting point is a website that is pow- Max, written in 1988[6] by Miller Puckette while ered by the Apache 2 HTTP server[8], the most he was in the Institut de Recherche et Co- widely used HTTP server on the internet. This ordination Acoustique/Musique, Paris, France. links to a Streaming Audio Server, an IRC Chat David Zicarelli together with Puckette later Interface, a help document simply explaining wrote MSP as an addition to Max, thus creat- the basics of the Otherside to the users and an ing Max/MSP, enabling audio-rate digital sin- email link for communication with the adminis- gal processing. Max was only capable of control trator of the system. Apache 2 was chosen due rate processing, as computers in 1988 were not to the fact that all other HTTP servers under fast enough to handle audio-rate signal process- investigation2 were simply not as advanced and ing. Nowadays data-flow programming is used reliable, something which is also evident by the widely for audio applications, as it is a very widespread use of the Apache on the internet. powerful and versatile way of interfacing with various control protocols. Computers nowadays The Streaming Audio Server is using the Ice- have enough processing power to support heavy cast 2 Server[9] to provide a compressed audio digital signal processing applications and net- stream produced by the Otherside to an au- working speeds are high enough to be used cre- dience with an internet connection and a me- atively in interactive applications. This makes dia player on their computer. The Icecast 2 data-flow programming languages an interest- 1An alternative Kernel, with Real-Time capabilities ing option for users who want to explore the 2Examples of other HTTP Servers that were consid- field of complex control in sound generation sys- ered instead of Apache include Mathopd, micro-httpd, tems. mini-httpd and nanoweb Server receives a compressed audio stream, util- Otherside is merely a control interface, there- ising MPEG Layer 3 compression, forwarding fore there is no need for registering a nick-name it to a number of listeners over a computer or a chat-room. network. This is based on the established In- An IRC Server also has the ability to connect ternet Radio Station practice of using an en- to other IRC Servers, forming IRC Networks. coder that streams audio to a Streaming Audio This was one of the most impressive features of Server to be forwarded to any number of listen- the IRC protocol, as it means that there is room ers. The difference here is that instead of encod- for a great amount of evolution for the Oth- ing sound files, the encoder is directly encoding erside, by connecting to other Othersides and and streaming the computer-generated sound of forming a huge Otherside Network in a very sim- the synthesis engine that powers the Otherside. ple and efficient way. This is also an easy way to The link from the main website redirects a user get extensive load off of one server's central pro- to the website interface of the Icecast 2 Server, cessing unit, by interfacing several computers to which contains details about the audio stream run the Otherside System and sharing the load and a link for listening.