OpenMusic ~ Music Composition Language


OpenMusic (OM) is a visual programming language based on Common Lisp. Visual programs are created by assembling and connecting icons representing functions and data structures. Most programming and operations are performed by dragging an icon from a particular place and dropping it to an other place. Built-in visual control structures (e.g. loops) are provided, that interface with Lisp ones. Existing CommonLisp/CLOS code can easily be used in OM, and new code can be developed in a visual way.

OM 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 composition. Above the OpenMusic kernel, live the OpenMusic Projects. A project is a specialized set of classes and methods written in Lisp, accessible and visualisable in the OM environment. Various classes implementing musical data / behaviour are provided. They are associated with graphical editors and may be extended by the user to meet specific needs. Different representations of a musical process are handled, among which common notation, midi piano-roll, sound signal. High level in-time organisation of the music material is proposed through the concept of “maquette”.

openmusic interface

openmusic-project.github.io
openmusic-project.github.io/openmusic
github.com/openmusic-project
en.wikipedia.org/wiki/OpenMusic

Cmajor ~ Audio Programming Language


The programming language for writing fast, portable audio software.

You’ve heard of C, C++, C#, objective-C… well, Cmajor is a C-family language designed specifically for writing DSP signal processing code.

Our goal is to improve on the current status-quo for audio development in quite a few ways:

  • To match (and often beat) the performance of traditional C/C++
  • To make the same code portable across diverse processor architectures (CPU, DSP, GPU, TPU etc)
  • To offer enough power and flexibility to satisfy professional audio tech industry users
  • To speed-up commercial product cycles by enabling sound-designers to be more independent from the instrument platforms
  • To attract students and beginners by being vastly easier to learn than C/C++

If you’re keen to learn the nitty-gritty of the language itself, the language guide offers a deep dive. To see some examples of the code, try the examples folder.