Page  00000001 TransMJDJ: A System for MIDI Sessions Over the Network Using Transis Dan Gang * Gregory V. Chockler Tal Anker Alex K~remer Tomnas Winkler Institute of Computer Science The Hebrew University of Jerusalem, Israel { dang, grishac, anker, kresa, tomasw} ~cs.huji.ac.il Abst ract We built a system that allows musical performers (artd listerters) who wish to play together to orgartize irtto multiple sessiort groups. The users irtteract ill real time over the rtetwork, artd may dyrtamically joirt or leave a sessiort group. The players corttribute to the sessiort by playirtg ort their MIDI corttrollers, usirtg Gerteral MIDI protocol. We assume a totally asyrtchrortous ertvirortmertt irt which failures of both ertd systems artd commurticatiort lirtks are possible. TrartsMJDJ was implemertted usirtg the Trartsis group commurticatiort system for fault tolerartce artd coordirtatiort. Trartsis is a trartsport layer that supports efficiertt artd reliable multicast artd membership services. The advartced Trartsis group services allow for differertt forms of cooperatiort amortg performers, so that marty differertt kirtds of musical ertsembles cart be easily established. Moreover, TrartsMJDJ provides its users with mearts for explorirtg rtovel ways of musical irtteractiort. 1 Int ro duct ion Jrtcreasirtg improvemertt ill commurticatiort techrtology will irtvite widespread utilizatiort of multimedia irtteractive services that irtvolve multiple parties commurticatirtg via the Jrtterrtet. Currertt research effort ill this area cortcerttrates ort audio artd video trartsmissiort over the rtetwork. Examples of such systems are [Cor, ACK+97, CD]. Irt this paper we presertt a system called TrausMZIDI for cortductirtg irtteractive musical sessiort amortg a group of musiciarts. Our system utilizes the Trartsis group commurticatiort system. The Trartsis system supports reliable multicast services with various orderirtg optiorts, as well as the multicast group abstractiort. These services have beert provert to be very useful for rtetworkirtg multimedia applicatiorts [CHKD9G, ACDK9T]. The large amourtt of data associated with audio artd video files, raises cortsiderable problems for developirtg real-time multimedia applicatiorts over the rtetwork. Orte solutiort is the improvemertt of the hardware performartce artd software efficiertcy. Artother solutiort is to devise rtew compact media represerttatiorts artd compressiort schemes. Irt TrartsMJDJ *Dan Gang is supported by the Eshkol Fellowship, Israeli Ministry of Science we used the MIDI startdard for musical trartsmissiort because it is compact artd sufficierttly powerful for a wide variety of musical applicatiorts. Preserttly, we are witrtesses to a surge of software solutiorts for various musical activities, which exploit moderrt commurticatiort artd irtformatiort techrtologies. For example, the project group MusicWeb [BJ1196] was formed from a few participatirtg urtiversities artd research certters irt Europe to desigrt a system to solve the requiremertts of teachirtg systems with irtformatiort retrieval abilities. NetMuse [Arrt9G] is a project to lirtk all urtiversity Music departmertts irt Scotlartd by mearts of ATM-based multimedia rtetwork. 2 Background Irt this paper we describe the TrausMZIDI system, which ertables its users to irtteract irt real time over the rtetwork usirtg differertt forms of cooperatiort. We chose MIDI for data trartsmissiort of digital music irtformatiort. As opposed to audio files, which require a huge amourtt of (sampled) data, MIDI uses ortly a very restricted amourtt of data (sirtce rto irtformatiort of the sourtd's characteristics that rteeds to be trartsferred). Jrtdustrial developmertts with MIDI have led

Page  00000002 to the emergence of high-quality low-price sound generators and sound cards for personal computers. The massive production of MIDI keyboards, MIDI guitars and wind controllers provide various means to perform music. Such controllers produce streams of events which are easily stored and transmitted. MIDI-based applications and libraries provide tools for controlling and editing MIDI data. The digital nature of MIDI enables flexible mutual transformations between graphics, movements and MIDI information. Our project relies upon the General MIDI protocol, which allows end users to obtain similar sounds, regardless of the type of musical hardware used. Despite all this, MIDI does have its limitations, particularly concerning the definition of new tuning systems and the dynamic control of continuous data. Additionally, it cannot dynamically control audio parameters. While alternatives that overcome these limitations do exist (such as the ZIPI protocol [ZIP94] ), we nevertheless chose MIDI because of its widespread availability. 3 The Transis Group Communication System Transis is a group communication system that has acquired a wide recognition in the academic community. Transis [DM96] supports efficient and reliable multicast and membership services. The Transis multicast services offer various types of message ordering. For example, the Causal multicast service guarantees that the reply to a message is never delivered before the message itself at any target. The Total multicast service extends the Causal service in such a way that all messages are delivered in the same order at all their targets. Transis allows the processes to be easily arranged into multicast groups. A multicast group is identified by the logical name assigned to it when the group is created. Each message targeted to the group's logical name is guaranteed to be delivered to all currently connected and operational members of the group. This allows handling of a set of processes as a single logical connection. Furthermore, processes may dynamically join or leave these groups. Transis provides the group members with indication of the current group membership, i.e. the group of currently connected processes. These membership reports are delivered within the flow of regular messages. Using Transis' services, it is easy to create groups with complex layouts. This feature is particularly useful for cooperative networking applications. In the next section we show how to use Transis to arrange Figure 1: A Jam Session Over the Network a I 0 listener groups Figure 2: Various group topologies for different musical jam sessions performers into various topologies, with multiple ensemble possibilities available for each topology. One of our current efforts, is the gearing of the Transis system towards new emerging network technologies such as ATM. We intend to run our system over classical UDP/IP with LAN emulation over ATM (LANE) [ATM95]. We have also developed the CONGRESS group resolution protocol [ABDL96], which we intend to exploit as a basis for a membership service over ATM networks. 4 TransMIDI Architecture The TransMIDI system (depicted in Figure 1) enables musical performers and listeners to organize into multiple session groups. The users interact in real time over the network, and are able to join and leave the session group as they wish. The players contribute to the session by playing on their MIDI controllers, using General MIDI protocol to achieve similar sounds for each computer station. Transis group services allow for different forms of cooperation among performers, enabling easy establishment of various kinds of musical ensembles. Within the session group, members may perform

Page  00000003 irt user-predefirted modes. For example, some users could be allowed to joirt a group actively ill a ""performer" mode, while others could joirt passively, ill a ""listerter" mode. Additiortally, some members might ertjoy privileged operatiorts withirt the group (for illstartce, a member might be a ""cortductor", with more liberty to corttrol the overall performartce). Irt this mailer, the system provides differertt possibilities for cooperatiort artd orgartizatiort of groups. Figure 2a shows the simplest logical group topology, ill which all members perform, artd every member cart listert to every other member at the same time. Figure 2b shows a leader who cart hear artd be heard by all other members, but these members cartrtot hear each other: as far as each of these members are cortcerrted, she is playirtg a duet with the leader, who is playirtg only with her. This could occur if the leader plays a harmonic lint artd the others improvise their owrt melodies irtdepertderttly. The leader (alorte) may collect artd use data from the real-time performartces. Irt Figure 2c, we have a set sessiort rtucleus. New members may joirt this sessiort, but rtot hear each other (the members of the rtucleus may hear whomever they choose). Further, listerters may choose arty subset of the performers. Art example use of this topology might be a rurtrirtg "mirtus orte" sessiort, irt which soloists cart come artd go at will, artd listerters cart hear arty combirtatiort that they may choose. Figure 2d presertts a topology similar to the topology presertted irt Figure 2b, but with several members irt disjoirtted groups. This topology might be irtterpreted as a ""teacher" artd a few disjoirtted "~class groups". There exist marty other possible topologies artd marty other irtterpretatiorts for those presertted above. Orte of the importartt issues of this project is to explore rtew useful topologies of groups which ertable rtew ways of musical irtteractiort. 5 Implementation The applicatiort is based uport two basic software packages: the Trartsis groupware package described irt sectiort 3 artd the SGI DMEDIA MIDI support library. SGI's DMEDIA library provides API for corttrol over MIDI devices cortrected via startdard Mac MIDI irtterface to the machirte's startdard RS232 serial port. The library ertables easy fetchirtg artd sertdirtg of MIDI evertts from/to the devices cortrected. The basic buildirtg block supported by TrartsMIDI is a group of performers artd listerters. To create a rtew MIDI sessiort, orte is required to form a sirtgletort group by simply joirtirtg it (specifyirtg its rtame). Others cart afterwards join the group. Members depart from the group by performirtg the leave actiort. Whert the last member leaves the group, it is automatically destroyed. Trartsis provides art easy artd reliable way to implemertt such groups. Ortce the Trartsis daemort is started ort a machirte, the Trartsis cliertt-side API gives all the rtecessary group commurticatiort furtctiortality. User actiorts, leaving artd joining, are directly mapped to respective Trartsis library calls. Ortce the desired sessiort cortfiguratiort is created, the system works as depicted irt Figure 3. Evertts produced by MIDI device, are fetched by the TrartsMIDI applicatiort. The applicatiort passes the message corttairtirtg the evertt to Trartsis, specifyirtg all the groups the user belortgs to. Trartsis guararttees that the message will be delivered to all the applicatiorts that cortstitute the specified groups. Uport the delivery of a message from Trartsis the applicatiort sertds it to the attached MIDI device. Note that the applicatiort process may joirt marty groups, artd receive the evertts produced by arty orte of their members. However, it is possible to filter out the evertts comirtg from a specific group. This ertables, for irtstartce, the teacher/studertts model depicted irt Figure 2d. Irt this cortfiguratiort the teacher is a member of three differertt groups. The teacher cart turrt off the irtput comirtg from arty group artd cortcerttrate ort the rest. Wie use Trartsis' Causal multicast service to ertsure that rto member hears a feedback to a musical sequertce, before receivirtg the sequertce itself. Ort fast rtetworks, due to the low commurticatiort overhead evertts sertt to a group are played almost immediately ort other members' machirtes. The prototype system was implemertted artd tested ort SGI machirtes rurtrirtg IRIX 5.3 artd 6.2 cortrtected to ATM based LAN. We chose the SGI platform because of its cortvertiertt MIDI support. The primary GUI will be extertded as soort as we gairt more experiertce of the various ways to exploit the system. 6 Conclusions and Future Directions The TrartsMIDI system allows musical performers (artd listerters) to orgartize irtto multiple sessiort groups artd irtteract irt real time over the rtetwork.

Page  00000004 Figure 3: TransMIDI Implementation Transis' group management has proven invaluable for effective solution of MIDI sessions. The system provides a solid platform for experimenting with different forms of cooperation among performers, exploring new group topologies in order to achieve new ways of musical interaction. 7 Acknowledgments The support of Profs. Daniel Lehmann and Danny Dolev in this project is gratefully acknowledged. Special thanks go to Aviva Dayan who carefully read our drafts and helped to significantly improve the presentation. References [ABDL96] T. Anker, D. Breitgand, D. Dolev, and Z. Levy. Congress: CONnection-oriented Group-address RESolution Service. Tech. Report CS96-23, Institute of Computer Science, The Hebrew University of Jerusalem, Jerusalem, Israel, December 1996. Available from: http://www.cs.huji.ac.il/labs/transis/. [ACDK97] T. Anker, G. V. Chockler, D. Dolev, and I. Keidar. The Caelum Toolkit for CSCW: The Sky is the Limit. In Proceedings of the 3rd International Workshop on Next Generation Information Technologies and Systems (NGITS 97), June 1997. [ACK+ 97] T. Anker, G. Chockler, I. Keidar, M. Rozman, and J. Wexler. Exploiting Group Communication for Highly Available Video-On-Demand Services. In Proceedings of the 13th International Conference on Advanced Science and Technology (ICAST97) and the 2nd International Conference on Multimedia Information Systems (ICMIS 97), April 1997. [Arn96] S. Arnold. NetMuse: a very-high-performance wide-area network for music. In Proceedings of the International Computer Music Association, 1996. [ATM95] The ATM Forum. LAN Emulation Over ATM Specification - Version 1.0, February 1995. [BJH96] C. Bohm, K. Jong, and C. Hempel. MusicWeb, new communication and information technologies in the music classroom. In Proceedings of the International Computer Music Association, 1996. [CD] S. Casner and S. Deering. First IETF Internet audiocast. In ConneXions 6,6 (1992), pages 10-17. [CHKD96] G. Chockler, N. Huleihel, I. Keidar, and D. Dolev. Multimedia Multicast Transport Service for Groupware. In TINA Conference on the Convergence of Telecommunications and Distributed Computing Technologies, September 1996. Full version available as Technical Report CS96-3, The Hebrew University, Jerusalem, Isreal. [Cor] Cornell University. The CU-SeeMe Home Page, URL: http://cu-seeme.cornell.edu/. [DM96] D. Dolev and D. Malki. The Transis Approach to High Availability Cluster Communication. Communications of the ACM, 39(4), April 1996. [ZIP94] ZIPI. The ZIPI Music Interface Language. Computer Music Journal, 18(4), 1994.