OpenMusic is a functional and object-oriented visual programming environment for music composition and analysis. It has been developed primarily for Macintosh OS X at IRCAM, first under MCL, and since 2007 under LispWorks. Other ports run on Windows and Linux under other Common Lisp implementations.
Although targeted first at musicians, OpenMusic may also be used as an all-purpose visual programming interface to Lisp programming and more generally to functional and object programming.
As the programming paradigm is a purely graphical one, OpenMusic makes a great use of LispWorks graphical framework. The visual interface to programming concepts makes extensive use of meta-programming Common Lisp - CLOS constructs: their neat implementation in LispWorks has been greatly appreciated.
Programs in OpenMusic are created by connecting together (a process known as 'patching') either pre-defined or user-defined modules, in a manner similar to graphical signal-processing environments such as Max/MSP or Pd. Unlike such environments, however, the result of an OpenMusic computation will typically be displayed in music notation, which can then be directly manipulated, if so required, via a score editor. A substantial body of specialized libraries has been contributed by users, which extends OpenMusic's functionality into such areas as constraint programming, stochastic composition, spectral music, complex systems, music information retrieval, computational musicology, sound synthesis, improvisation, cognitive modeling etc.
It is used daily by hundreds of contemporary music composers, musicologists, music analysts and music theorists around the world.
Two books (The OpenMusic Composer's Book Vol. 1 and 2) collect over 600 pages of experience and feedback from top music composers using OpenMusic.
Copyright © IRCAM 2009