The integrated cross-platform development tool for ANSI Common Lisp LispWorks logo

OpenMusic

IRCAM, France

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.

an OpenMusic 'patch' combining symbolic and signal musical data an OpenMusic 'patch' combining symbolic and signal musical data
Click image to enlarge
an OpenMusic 'maquette', a tool for organising things in time an OpenMusic 'maquette', a tool for organising things in time
Click image to enlarge
maquettes are hierarchical structures that contain other maquettes or patches maquettes are hierarchical structures that contain other maquettes or patches
Click image to enlarge

Links:
OpenMusic Homepage
The OpenMusic Composer's Book

Copyright © IRCAM 2009

Previous Story | Next Story

Top | Back