Computer music moves to the cloud: EvMusic and the MusicJSON architecture
Computer music moves to the cloud
In recent decades, composers of computer music (CM) have benefited from a wide range of tools. Score notation, sound synthesis, algorithmic composition, and music artificial intelligence (MAI) have all become part of the composer’s workshop. Fig. 1 illustrates the architecture of a typical computer music composition system. The composition process is split into two functional layers: one at the level of the composer and another at the level of performance. Various algorithmic programs generate music output in an intermediate format — usually a Standard MIDI File (SMF). These raw materials are then assembled and post-processed by a music application that renders the final composition as either a score or a sound file. In some systems the intermediate stage is less obvious because a single application handles both functions. However, every system relies on some internal representation of musical entities. This internal representation shapes the creative possibilities the system offers.
How the architecture has evolved
Many different approaches to computer aided composition exist today, with a corresponding diversity of languages and music representation systems. Over the past twelve years, the authors’ own CM system has undergone a significant transformation, driven partly by musical and creative needs but also by shifts in the underlying technology landscape. The diagram in Fig. 3 shows how the system has moved toward a distributed computing model. Computer-assisted composition has been evolving for about fifty years. Early work ran on mainframes; the arrival of the personal computer in the 1980s made music computing accessible to a much wider audience. Now, the maturation of Internet-based Information Technology (IT) has made the physical location of computational resources almost irrelevant. This paper proposes a new direction for computer music composition that takes full advantage of cloud computing. Starting from established CM paradigms and building on the current industry drift toward cloud-based infrastructure, we outline a new paradigm for the CM domain.
Understanding cloud computing
Information technology continues to develop at a rapid pace. Cloud computing, defined in various but overlapping ways, represents a paradigm in which both computer infrastructure and software are delivered as services. These services are often described as Software as a Service (SaaS); Google Apps is a well-known example. Infrastructure can also be offered as a service (IaaS), allowing users to run their own custom software on provider-managed hardware. Companies such as Amazon (Elastic Compute Cloud, EC2) and Google (AppEngine) offer public clouds that supply resizable compute capacity.

The EV representation and a distributed composition model
This new environment creates opportunities for developers and users alike. The present proposal is grounded in a particular music representation known as EvMusic. The representation is designed to be both robust and flexible, serving as the core around which a suite of web-based composition services can be organized. In this Computer Music Cloud (CMC) model, the entire music system is divided into multiple web services that share a single compositional format. That shared format, named MusicJSON, is intended to function as the interchangeable music data format for the cloud. A web-browser-driven graphic environment acts as the user interface, providing access to the various music web applications that make up the cloud service.
A concrete illustration
To show how the architecture works in practice, a concrete example can be sketched. Composers interact with their web browser and the available music services run on cloud infrastructure. Composing, editing, and rendering scores or audio are all handled online through the MusicJSON interchange format. (Detailed practical examples fall outside the immediate scope of this overview but are discussed in more technical formulations of the project.)
Conclusions and future directions
The shift from mainframes to personal computers to the Internet has always created new possibilities for creative work. Cloud computing, in its public infrastructure variant, makes powerful compute resources available on demand and reduces the need for locally maintained software and hardware. Applying that logic to computer music yields an architecture in which the composer, the composition materials, the symbolic representation, and the rendering environment are all connected through Web services and a shared exchange model. MusicJSON provides a well-defined, human-readable representation based on the musical structures of the EvMusic system. Future work lies in developing the available cloud services further and refining the application-layer tools that allow composers to work fluidly in this distributed creative space.