Page  1 ï~~REAL-TIME COMPOSITION AND NOTATION IN NETWORK MUSIC ENVIRONMENTS Georg Hajdu Hochschule fir Musik und Theater Hamburg www. ham du.e georg.haj du@hfmt-hamburg.,de ABSTRACT This paper presents an approach to real-time composition and notation implemented in the networked multimedia performance environment The current version of the software uses MaxScore, a MaxJava object based on the Java Music Specification Language (JMSL). By utilizing another Max-Java object, the author exploits the tools to develop various scenarios (uni-, bi- and multi-directional), ultimately with the goal of involving classically trained musicians in the creative process. 1. INTRODUCTION Composition and notation of musical scores in real-time is one of the great remaining challenges of computer music, whose success story, particularly in recent years, involves the continuous refinement and dissemination of tools for sound synthesis and diffusion as well as gestural control of sound and multimedia. This has enabled electronic musicians to free their bodies from standard commercial controllers and, thereby, to create music performances in which gestures and motion are intricately mapped to various musical parameters in real-time [10]. In the meantime, spurred by the development of the Internet and its protocols, network music performance has become more and more popular. Performances which either focus on sending low-level sound over ever faster networks or setting up scenarios in which networked musicians manipulate higher-level processes via control messages [8]. Yet, network music performance is still too often the domain of expert musicians in front of an expert audience. What is generally lacking, some experiments by Gerhard Winkler [11] and others notwithstanding, is an involvement of classically trained musicians with their ability to (sight-) read music in standard music notation (SMN) [4]. While computer-assisted composition systems have been conceived and realized since the second half of the 1950s, most of them have either not been created with real-time application in mind, or lack the ability to instantaneously output the results in standard music notation. Sadly, environments that are capable of both require expert knowledge and/or haven't reached the mainstream yet [12]. 2. MAXSCORE Since 2007, with the introduction of MaxScore [3], programmed by Nick Didkovsky-assisted by the author-, this gap is closing by offering the tools for Max/MSP (probably most popular computer music environment to this date; to perform sophisticated music notation in real-time. This paper aims at demonstrating how this novel tool can be extended for use in network music performance. MaxScore is a Max-Java object, which is based on the Java Music Specification Language (JMSL) and its music notation package JScore [1][2]. It responds to more than 120 different messages. While the majority of these messages are being used to set up scores, create notes and manipulate their properties, a subset can be employed to query the properties of its elements (intervals, notes, tracks, staffs, measures, scores). Thus, MaxScore acts as a hierarchical matrix for standard music notation; it draws its graphics to the Max LCDbased canvas or bcanvas abstractions, much like a Jitter matrix draws to a jit.window or jit.pwindow. 3. QUINTET.NET [5] is a networked multimedia performance environment under continuous development by the author since 1999. The four components (Server, Client, Conductor and Viewer) are written in Max/MSP. Originally conceived for a quintet of musicians performing on the Internet by sending control messages to its built-in sampler, an open plug-in structure was implemented, allowing-thanks to the Max pattr system-the routing of an arbitrary input to an arbitrary output. From its inception, used music notation as a visual layer facilitating the interaction between the remote musicians by symbolically representing the music events created by them. A second notation layer permits the representation of scores and parts in SMN. The 2008 version integrates MaxScore but relies on another Java object (JScoreTranslator), written by Hungarian composer Adam Siska, to translate MaxScore's xml output into Max-compatible messages [9]. In addition, JScoreTranslator provides position and formatting information, which is being passed to's built-in drawing engine. In the process, the amount of data is reduced to such an extent that the messages can easily be sent over WAN via OSC. was featured in numerous music events since its premiere in 2000, a Munich Biennale opera among them. In November 2007, was used simultaneously with CCRMA's software JackTrip in a three-way performance of John Cage's Five, connecting five musicians located in the cities of Belfast, Graz and Hamburg via a broadband multi-channel audio stream [7]. This was also the inaugural event of CO-ME-DI-A (Cooperation and Mediation in Digital Arts)-a Culture

Page  2 ï~~2007 multi-annual collaboration project under the auspices of IRCAM ( LrT u I XM code swr* T-rnInc ~m oen 1j u sttnetmServe r C { Figure 1. Data flow between components and program modules (the data formats are printed in italics). 4. SCENARIOS FOR REAL-TIME COMPOSITION AND NOTATION Three types of scenarios can be distinguished for networked real-time composition and notation: A unidirectional one in which music is created by generative process and sight-read by the performers, a bidirectional one, in which the input from the musicians drives the generation of parts, and a related, multidirectional one, in which several sources participate in the generation of notated music in a more complex routing scheme. An example for the uni-directional scenario is the author's piece Ivresse '84 (2007) in which a stochastic process under the control of a conductor re-assembles a score (Cage's 1st Freemann etude) in real-time [6]. Nick Didkovsky's bi-directional piece Zero Waste (2002) takes a more interactive approach: Two measures are initially being (sight-)read by a performer, his/her playing transcribed and subsequently re-presented to the performer in a potentially endless feedback loop. This year, the author will be starting work on a composition in which-in a multi-directional scenariothe input from an ensemble of musicians will be used to create the piece in real-time in a branching process. 5. CONCLUSION If the exploration of real-time composition and notation was ever impeded by the lack of appropriate tools, MaxScore now offers appropriate utilities for MaxMSP, one of the most common music programming environments. Integrating MaxScore into, leverages its capabilities for network performance. Three scenarios for music created in real-time by the machine and sight-read by capable musicians have been mentioned-scenarios ranging from generative processes to interactive feedback loops involving one or several performers. Yet, it takes an experienced composer's ingenuity to create a piece, which both takes advantage of the vast possibilities and yields results that are equally satisfying aesthetically. 6. REFERENCES [1] Didkovsky, N. and Burk, P.L., (2001). "Java Music Specification Language, an introduction and overview." Proceedings of the International Computer Music Conference, pp. 123-126. [2] Didkovsky, N. (2004). "Java Music Specification Language, v103 update." Proceedings of the International Computer Music Conference, pp. 742-745. [3] Didkovsky, N. and Hajdu, G. (2008). "MaxScore, standard music notation in Max/MSP." Proceedings of the International Computer Music Conference. [4] Freeman, J. (2008). "Extreme Sight-reading, Mediated Expression, and Audience Participation: Real-time Music Notation In Live Performance." Manuscript. [5] Hajdu, G. (2005). An environment for composing and performing music on the Internet. Leonardo Journal 38(1). [6] Hajdu, G. (2007). "Playing Performers." Proceedings of the Music in the Global Village Conference, Budapest, Hungary, pp. 41-42. [7] Hajdu, G. (2008). "Getrennte Kdrper - Musiker im Netz." Positionen 74/2008, pp. 29-31. [8] Renaud, A. and Rebelo, P. (2006). "Network Performance: Strategies and Applications." Proceedings of the 6th international conference on New Interfaces for Musical Expression [9] Siska, A. (2007). "Pipelining between JMSL and" Proceedings of the Music in the Global Village Conference, Budapest, pp. 28-30. [10] Wessel, D. and Wright, M. (2002). "Problems and Prospects for Intimate Musical Control of Computers" Computer Music Journal (Volume 26.3, Fall 2002), pp. 11-22. [11] Winkler, G. (2004).,,The realtime-score. A missing link in computer-music performance." SMC'04 Conference Proceedings. [12] Wulfson, H., Barrett, G. D. and Winter, M. (2007) "Automatic Notation Generators" Proceedings of the 7th international conference on New interfaces for musical expression, pp. 346-351.