OpenMusic 5.2.1

OpenMusic software is a full visual programming language based on CommonLisp / CLOS.

  Add it to your Download Basket!

 Add it to your Watch List!


Rate it!
send us
an update
LGPL (GNU Lesser General Public License) 
3.4/5 20
Augusto Agon, Jean Bresson and Karim H...
ROOT \ Multimedia \ Audio
3 OpenMusic Screenshots:
OpenMusic software is a full visual programming language based on CommonLisp / CLOS. OpenMusic is icon oriented, uses extensively drag and drop, and has built-in visual control structures that interface with Lisp ones, such as loop. Above the OpenMusic kernel, live the OpenMusic Projects. A project is a specialized set of classes and methods directly written in Lisp, accessible and visualisable in the OpenMusic environment. OpenMusic may be used as a general purpose functional/object/visual programming language. At a more specialized level, a set of provided classes and libraries make it a very convenient environment for music cOpenMusicposition.

Objects are symbolized by icons that may be dragged and dropped all around. Most operations are then performed by dragging an icon frOpenMusic a particular place and dropping it to an other place. A lot of classes implementing musical data / behaviour are provided. They are associated with graphical editors and may be extended by the user to meet specifical needs. Different representations of a musical process are handled, among which cOpenMusicmon notation, midi piano-roll, sound signal. High level in-time organisation of the music material is proposed through the maquette concept.

Existing COpenMusicmonLisp/CLOS code can easily be reused in OpenMusic, and new code can be developped in a purely visual way.

Here are some key features of "OpenMusic":

· Visual programming. OM provides basic programming tools (conditionnals, loops, lists management) for building visual programs. Musical objects and structures (chords, chords sequences, rtythms, break-point functions, sounds) can be created thanks to a set of classes and manipulated with specialized functions.
· Object Oriented Programming. User-defined classes can be created and connected to the OM class hierarchy. Generic functions and specializing methods can be defined by visual programs.
· Constraint Programming. Constraint Satisfaction Problems can be graphically defined and solved using different constraint solvers.
· Musical Editors. The musical objects can be edited using specific editors.
· Maquette. The maquette is an original sequencing/programming interface where musical object can be organized and connected in a temporal context.
· Mathematical Music Theory.
· Sound Analysis/Synthesis. Sound can be analyzed and synthesized in OM using interfaces with external sound processing tools. Special data structures and programming tools allow to maniuplate sound descriptions and synthesis parameters.


· gtk+ v2.x
· SBCL v1.x
· clg (CVS)
· MidiShare
· Libaudiostream
· SDIF-lib
· fluidsynth (recompiled with midishare support) (optional)
· slime 2.0 or better (optional)


- Before compiling om, you should install the 4 omfonts found in om directory resources/fonts-linux.

- Your .sbclrc file should look like this :

(require 'asdf)

(logical-pathname-translations "clg")
'(("**;*.*.*" "/home/myaccount/somewhere-clg-is/clg/**/")))

#+sbcl(truename #p"clg:systems")
#+cmu(concatenate 'string (unix-namestring #p"clg:systems") "/")

(require 'gtk)


First launch SBCL form a terminal. Make sure it loads the CLG bindings. Then enter the following expression:

(load #P"/home/hyperion/dev/OM/OM-5.2.1/buildimage/buildlinux/init.lisp")

After OM have been compiled, use this expression to build 'om' image:

(sb-ext:save-lisp-and-die #P"/home/hyperion/dev/OM/OM-5.2.1/image/linux/om")

In order to launch om :
cd /OM-5.x/image/linux

then launch again sbcl using this command :

sbcl --core om --userinit init.lisp

Last updated on November 22nd, 2007

#visual programming #programming language #CommonLisp programming #visual #programming #language #CommonLisp

Add your review!