OM7 is the latest generation of OpenMusic (OM), a visual programming language based on Common Lisp, dedicated to computer-assisted music composition.
Beta versions available here: https://github.com/openmusic-project/om7/releases/latest
Source repository: https://github.com/openmusic-project/om7/
Documentation pages (in progress…)
Documentation is still at its very early stages. The OM6 User Documentation can be useful to find out about the basics of OM visual programming workflow.
See also the ICMC’17 paper about OM7.
- Basics of patching
- Recap’ of basic commands
- Using external libraries
- 3D-Viewer: interactive visualization of 3D data
- [more to come…]
Check out the OM7-compatible external libraries:
– Unzip the libraries in a folder and specify this folder in the om7 Preferences/Libraries/
OM is a visual programming language based on Common Lisp. Visual programs are created by assembling and connecting icons representing Lisp functions and data structures, built-in control structures (e.g. loops), and other program constructs. OM may be used as a general purpose visual programming language, and reuse any existing Common Lisp code. At a more specialized level, a set of in-built tools and external libraries make it a powerful environment for music composition. Various classes implementing musical structures are provided, associated with graphical editors including common music notation, MIDI, OSC, 2D/3D curves, and audio buffers.
OpenMusic is a free software distributed under the GPLv3 license. As a Common Lisp program, the environment can be considered just as an extension of Lisp including the specific built-in features of the application. It is also possible to compile, load and run OpenMusic sources in a Lisp environment, using the adequate compiler.
While the sources of OM7 are available under the GPL license, the application is currently developed with LispWorks 7.1.1: a commercial Lisp environment providing multiplatform support and graphical/GUI toolkits. A free (limited) edition of LW6 is available on the LispWorks website, but unfortunately no free version of LW7 exists at the moment.
In order to contribute to the code with a LispWorks license, one must therefore work both with the source package and an up-to-date reseased version on OM7 (which includes a Lisp interpreter).
OM7 has been used as a support for research and production in a number of recent projects. See related papers below:
- OM-AI: A Toolkit to Support AI-Based Computer-Assisted Composition Workflows in OpenMusic. Anders Vinjar Best, Jean Bresson. Sound and Music Computing conference (SMC’19), Málaga, Spain, 2019.
- Musical Gesture Recognition Using Machine Learning and Audio Descriptors. Paul Best, Jean Bresson, Diemo Schwarz. International Conference on Content-Based Multimedia Indexing (CBMI’18), La Rochelle, France, 2018.
- From Motion to Musical Gesture: Experiments with Machine Learning in Computer-Aided Composition. Jean Bresson, Paul Best, Diemo Schwarz, Alireza Farhang. Workshop on Musical Metacreation (MUME2018), Internationa Conference on Computational Creativity (ICCC’18), Salamanca, Spain, 2018.
- Symbolist: An Open Authoring Environment for End-user Symbolic Notation. Rama Gottfried, Jean Bresson. International Conference on Technologies for Music Notation and Representation (TENOR’18), Montreal, Canada, 2018.
- Next-generation Computer-aided Composition Environment: A New Implementation of OpenMusic. Jean Bresson, Dimitri Bouche, Thibaut Carpentier, Diemo Schwarz, Jérémie Garcia. International Computer Music Conference (ICMC’17), Shanghai, China, 2017.
- Timed Sequences: A Framework for Computer-Aided Composition with Temporal Structures. Jérémie Garcia, Dimitri Bouche, Jean Bresson. International Conference on Technologies for Music Notation and Representation (TENOR’17), A Coruña, Spain, 2017.
- Computer-aided Composition of Musical Processes. Dimitri Bouche, Jérôme Nika, Alex Chechile, Jean Bresson. Journal of New Music Research, 46(1), 2017.
- Interactive-Compositional Authoring of Sound Spatialization. Jérémie Garcia, Thibaut Carpentier, Jean Bresson. Journal of New Music Research, 46(1), 2017.
- Landschaften – Visualization, Control and Processing of Sounds in 3D Spaces. Savannah Agger, Jean Bresson, Thibaut Carpentier. International Computer Music Conference (ICMC’17), Shanghai, China, 2017.
- o.OM: Structured-Functional Communication between Computer Music Systems using OSC and Odot. Jean Bresson, John MacCallum, Adrian Freed. ACM SIGPLAN Workshop on Functional Art, Music, Modeling & Design (FARM’16), Nara, Japan, 2016.
- Towards Interactive Authoring Tools for Composing Spatialization. Jérémie Garcia, Jean Bresson, Thibaut Carpentier. IEEE 10th Symposium on 3D User Interfaces (3DUI), Arles, France, 2015.
See also some previous papers and resources on OM6.
Timeline and state of the project…
The OM7 project was initiated by @j-bresson around 2013. Most of the code is written from scratch, but a significant part of it is largely inspired or borrowed from the OM original sources and musical features, including the indirect contributions of its successive authors and contributors. The initial objective of OM7 was to experiment with new visual Lisp programming features, without taking into account any specific music application yet. Important developments have been carried out during the EFFICACe research project conducted at IRCAM (2013-2017). This project aimed at exploring relationships between calculation, time and interactions in computer-assisted music composition processes, focusing on specific topics such as dynamic temporal structures or the control, visualization and interactive execution of sound synthesis and spatialization processes. The reactive model recently introduced in OpenMusic has been integrated as a native feature of OM7 and works seamlessly in the visual programming environment. @jeremie-gracia created a framework for timeline-based control of musical object, and new tools for the representation adn interaction with spatial audio scenes (om-spat). @dimitribouche developed a dynamic scheduling architecture that was implemented and integrated as the main core for musical rendering and computation in OM7, as well as new interfaces for temporal representation and organization of compositional processes (a new design of the OpenMusic maquette). At the same time, new editors and architectures for the manipulation of musical objects (curves, temporal data streams, controllers, scores, etc.) are being developed to cover most operational areas of OpenMusic processes.
Current developments mostly aim at finalizing the import functionality for OM6 patches, as well as common music notation interactions in score editors.
I am doing my best to keep OM6 running and improving in parallel: the sources are hosted on this repository and the latest version can be downloaded here.