COMMON MUSIC is a object-oriented multiplatform software, designed for the computer-assisted music composition. It allows to interface with many software developed for sound synthesis and control. In April 2011 was released the version 3.7.2.
Brief History – COMMON MUSIC was developed in the late Eighties, trough Common Lisp and Common Lisp Object System (CLOS) programming languages, at CCRMA in Stanford by Heinrich Taube. It was initially designed for educational purposes only, and to complement the potential of the Foonly f4 computer and the Samson Box digital synthesizer, already in use at CCRMA. The initial prototype was designed for Symbolic Lisp computers, was later implemented for the Macintosh and NeXT computers. Since 1997, finally, a version is available for PC computers, SGI and SUN.
Conceptual Ancestor – In the construction of COMMON MUSIC was very important previous experiments conducted by Taube with PLA (a composition language developed at CCRMA by Bill Schottstaedt) and SCORE by Leland Smith. Many features of COMMON MUSIC, moreover, are also obtained by SAIL codes, with which already PLA was developed. From PLA, Taube obtains the most important and useful functions, but reinserted in an environment that is capable of performing complex operations and flexible enough to receive new functions, so it can adapt to different needs of composers who have made use.
Goals – Taube poses some fundamental goals at the beginning of his project: portability and integration with other languages and software. The first part was solved through the adoption of Lisp and CLOS. In those early Nineties, was spreading even Common Lisp Interface Manager language (CLIM) that would allow in the future to equip COMMON MUSIC with a practical graphical interface compatible with different operating systems.
Various Output – As regards the second point, however, it must be said that COMMON MUSIC, as a tool for aid the composition, is not able to allow the synthesis or control over the sound material. To make it a versatile tool, it was necessary to ensure its integration with many languages or software possible. COMMON MUSIC is in fact able to generate the outputs to manage via Midi or with software such as Csound, Music Kit, Cmix, Cmusic, M4C, RT, SGIMix Common Lisp Music and CMN (Common Music notation). The different outputs can be achieved without changing the approach to composition allowed by COMMON MUSIC. In addition, the Taube’s software was designed to hold code changes that would allow the integration with other software.
The Conceptual Model – Within COMMON MUSIC, the musical composition is intended as an experimental procedure which is divided into three step: composition of musical ideas, sound synthesis and, finally, performance. During the first phase, the composer plans and develops arrangements of musical ideas in terms of structural relationships between the sounds. During the second phase, however, is processed the way in which, concretely, to realize the ideas developed. The third phase is dedicated to the execution of the musical ideas developed. From an operational point of view, the first two phases tend to be joined together, since the design and its yield commonly proceed together. But according to Taube, in view of the software realization, understanding the ideation and its realization as separate modules would benefit the composer in the use of IT tools.
The Concept of Structure – COMMON MUSIC works by leveraging the distinction of the concept of structure that can refer both to the individual sounds or to clusters of multiple sounds. The individual units of sounds are considered as an object, whose attributes correspond to the values of control of the synthesis process. COMMON MUSIC provides objects already programmed and the possibility for the user to create new ones. The latter is considered by Taube very important, especially in view of interaction of COMMON MUSIC with software such as Csound and CMN that allow the definition of new synthesis algorithms.
Collection – As regards the structures that concerning sounds clusters, Taube also speaks of Collections of Sounds. COMMON MUSIC is designed with collections already predefined: Thread (aggregations occur on a single time lines), Merge (parallel aggregations, on many time lines), Heap (random aggregations on a single time line), Network (user defined aggregations), Algorithm (aggregation that occurs after a detailed description that involves the use of an external software) e Layout (aggregation that refers to entire blocks of existing structures).
Software Interaction – COMMON MUSIC supports three different approach modalities that the composer can choose according to his needs or the specific context in which it operates. Taube defines these modes as Action, Command and Code. The lowest level of interaction is based on the use of Lisp code: this is the basic way that on one hand allows an accurate definition of the algorithms, but does not allow to use all the functionality by which COMMON MUSIC is provided. The second mode, named Command, involves the use of a command-line interpreter called STELLA, by which execution commands are inserted (in textual manner) and subsequently interpreted, to allow the execution of COMMON MUSIC functions. The third mode (Action) involves the use of a GUI called CAPPELLA. Among other utilities developed for COMMON MUSIC, also remember OUTPUT BROWSER by Tobias Kunze, a graphical interface relates to Layout collections.
Macro – COMMON MUSIC provides the user with numerous procedures and specific objects classes to explore different ways of composition. Among these tools we can find macros that help us to create aggregated musical structures, random selections, envelopes and many other features. To this list, are added the specific features of Common Lisp: since an algorithm coded in COMMON MUSIC is always a hybrid between Common Lisp and specific functions of COMMON MUSIC.
Conclusions – It should be noted, finally, that COMMON MUSIC, along with Common Lisp Music and CMN, forms a single work environment developed at Stanford and based on the use of Common Lisp.
For this topic I’ve read:
 Heinrich Taube, An Introduction to Common Music, Computer Music Journal, Vol. 21 , 1997.
 Heinrich Taube, Common Music: A Music Composition Language in Common Lisp and CLOS, Computer Music Journal, Vol. 15 , 1991.