Common Music


What is Common Music? Common Music (CM) is an object-oriented music composition environment. It produces sound by transforming a high-level representation of musical structure into a variety of contol protocols for sound synthesis and display: MIDI, Csound, Common Lisp Music, Music Kit, C Mix, C Music, M4C, RT, Mix, VRML and Common Music Notation. Common Music defines an extensive library of compositional tools and provides a public interface through which the composer may easily modify and extend the system. All ports of Common Music provide a text-based music composition editor called Stella. A graphical interface called Capella currently runs only on the Macintosh. See Documentation for more information.

History Common Music began in 1989 as a response to the proliferation of different audio hardware, software and computers that resulted from the introduction of low cost processors. As choices increased it became clear that composers would be well served by a system that defined a portable, powerful and consistent interface to the myriad sound rendering possibilities. Work on Common Music began in 1989 when the author was a guest composer at CCRMA, Stanford University. Most of the system as it exists today was implemented at the Institut für Musik und Akustik at the Zentrum für Kunst und Medientechnologie in Karlsruhe, Germany, where the author worked for five years. Common Music continues to evolve today at the University of Illinois at Urbana-Champaign, where the author is now a professor of music composition. In 1996 Common Music received First Prize in the computer-assisted composition category at the 1er Concours International de Logiciels Musicaux in Bourges, France.
Implementation Common Music is implemented in Common Lisp and CLOS and runs on a variety of computers, including NeXT, Macintosh, SGI, SUN, and i386. Source code. binary images and patches are freely available at several internet sites. In order to compile the source code you need Common Lisp. The best implementations are commercial products but there are also several good public domain implementations available on the Internet. See Lisp Ports and Installing Common Music for more information.
Synthesis Control

Each synthesis target is represented as a "syntax" in Common Music. Any combination of syntaxes can be included when the system is built from its sources. The available syntaxes are:

Synthesis Target Syntax Platform
Common Lisp MusicCLMall
Common Music NotationCMNall
Music4CM4CUnix, MacOS
RTRTNeXTStep, Irix

Whenever possible, CM sends and receives directly to and from the target. Otherwise, a file can be generated and sent to the target automatically so that the process of producing sound appears seamless and transparent.

All ports of CM support reading level 0 and 1 MIDI files and writing level 0 files. Direct-to-driver MIDI input and output is supported for the following configurations:

Platform LISP Implementation
MacOS (PPC) 7.1 and higher MCL 3.9 and higher
SGI Irix 6.2 and higher ACL 4.3 and higher

Common Music Dictionary

Tutorials and Overviews
Stella Tutorial
Capella Tutorial
Introduction to Common Music
Introduction to Item Streams
Source Examples
Nicky Hind's CM and CLM Tutorials
Tobias Kunze's CM Papers
Tobias Kunze's CM Repository

Installing and Building CM
Change History

General Lisp Documentation
Lisp Overview
Common Lisp Hints (Tutorial)
Lisp Style Tips
Lisp Primer
Lisp Tutorial

The Association of Lisp Users
Common Lisp Resources
Interpreting Lisp
Common Lisp HyperSpec
Common Lisp: the Language (2nd Edition)

LISP Ports Common Music has been ported to the following Common Lisp implementations:

Allegro Common Lisp (ACL)
A full-featured commercial product available for Unix and 386/Windows. It is CLTL 2, includes a native CLOS and a graphical interface.
Franz Inc., 1995 University Avenue, Berkeley, CA 94704, U.S.A.
Tel:1-888-CLOS-NOW or (510) 548-3600
Fax: (510) 548-8253
News: comp.lang.lisp.franz

A public domain Common Lisp available for I386 (Windows 95 and NT), and Unix (Linux, NeXTstep, Irix, etc.). It is mostly CLTL 2, includes a native CLOS, no graphical interface. It is actively supported by its authors.

GNU Common Lisp (GCL)
A public domain Common Lisp available for Unix, (including NeXTstep and SGI Irix). It is mostly CLTL 2, uses PCL for CLOS, no graphical interface.

Macintosh Common Lisp
A full-featured commercial product available for Macintosh. It is CLTL 2, includes a native CLOS, true multi-processing, and a graphical interface. A native PPC version is scheduled for early 1996.
Digitool, Inc., P.O.Box 425550, Cambridge, MA 02142 U.S.A.
Tel: 617-441-5000
Fax: 617-576-7680
News: comp.lang.lisp.mcl

Common Music is known to work in the following configurations:

  DOS Linux Mac NeXT SGI Sun Windows
ACL 3.1.2       X      
ACL 4.2+       X X X X
ACL 5.0+   X          
CLISP 1996-04-17+ X     X X X X
GCL 1.1       X   X  
MCL 3.0+, 3.9+     X        

Feel free to contact me with any questions or comments. To receive email information about software releases or to track developments in CCRMA's family of Lisp music programs: CM, CLM and CMN please join by sending your request to

Rick Taube
School of Music
University of Illinois
Urbana, IL
Vox: +1 (217) 244 2684
Fax: +1 (217) 355 5780

Last Modified: 12-Aug-1998