New features in CM 2.7.0 (CVS HEAD):
- Easy source installation using a new modular loading facility use-system.
- Portable interfaces to Midishare and Portmidi
- GUI tools
- Tutorials from ILU conference.
- Realtime scheduling and receiving in OpenMCl/OSX, SBCL 0.9.0/Linux, CMUCL/Linux
- Portmidi API.
- Fomus manuscripting.
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 control protocols for sound synthesis and display. Common Music defines an extensive library of compositional tools and an API through which the composer can easily modify and extend the system.
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 computers. As choices increased it became clear that composers would be well served by 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. Much 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 an associate 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.
CM is released under the LLGPL (Lisp Lesser General Public License).
Sources, runtime images and CVS access are all available from the Sourceforge project:
- Stable releases are available from the project release page.
- The most current development sources are available via CVS.
- A nightly (1:33AM PST) snapshot of CVS HEAD is available at http://commonmusic.sourceforge.net/cm.tgz
- Notes from the Metalevel, an Introduction to Algorithmic Music Composition
- Common Music Dictionary
- Installing Common Music
- Running Common Music under (X)Emacs
- Tutorials (cm version 2.7.0 or higher)
- Source Examples
- Change History
Synthesis and Display Applications
Common Music works in conjunction with the following synthesis and display options:
A. Csound (sound synthesis) B. Fomus (music notation) C. Common Lisp Music (sound synthesis) D. Common Music Notation (music notation) E. MIDI (synthesis control) F. Midishare (MIDI I/O) G. Plotter (data visualization) H. Open Sound Control (synthesis control) I. Supercollider (sound synthesis) J. Portmidi (MIDI I/O) K. RTS and Receive (real time extensions)
Common Music has both Common Lisp and Scheme bindings and works with the supported synthesis and display applications in the following configurations:
- Allegro Common Lisp (ACL)
- A commercial CL for Linux, Windows and OSX. Includes a native CLOS and a graphical interface.
- An opensource ANSI CL that runs practically everywhere. Includes a native CLOS, is actively supported.
- An opensource ANSI CL for Linux. Includes a very good compiler.
- Gauche Scheme
- An opensource R5RS Scheme with an object system very similar to GOOPS. Quick startup, built-in system interface, native multilingual support.
- Guile Scheme
- Gnu's opensource Scheme for Linux, OSX, and Cygwin. Includes GOOPS, the Guile object system.
- A commercial implementation of ANSI Common Lisp running on Windows, Linux, Mac OS X and UNIX LispWorks is source code compatible across all supported platforms and offers many features including an advanced Common Lisp compiler, runtime system, language extensions and the Common LispWorks IDE.
- An opensource version MCL for OSX and LinuxPPC. Includes a native CLOS, true (native) multi-processing, callbacks, is actively supported.
- Steel Bank Common Lisp (SBCL)
- An opensource ANSI CL (offshoot from CMUCL) for Linux and OS X. Includes a very good compiler and is actively supported.
- An opensource Scheme. Fast and light with an efficient and powerful object system based on CLOS and an easy connection to GTK+ toolkit.
- Drew Krause's CM code archive
- Portmidi installation for OS X
- Linux Portmidi installation
- Thomas Burdick's SBCL callback support for SBCL 0.8.n
Common Lisp Links
- Common Lisp HyperSpec
- Common Lisp: the Language (2nd Edition)
- Practical Common Lisp (online book)
- Common Lisp Resources
Please contact me with questions or comments or to tell me of any compositions you create using CM. To receive email information about CCRMA's family of Lisp music programs (CM, CLM and CMN) please join the CMDIST mailing list by e-mailing your request to: firstname.lastname@example.org.
Associate Professor Composition/Theory
School of Music
University of Illinois
Fax: +1 (217) 355 5780
Vox: +1 (217) 244 2684