How to write music using OOP

We talk about the history of the software tool OpenMusic (OM), analyze the features of its device, talk about the first users. Plus, we give analogies.

How to write music using OOP
Photo James Baldwin /Unsplash

What is OpenMusic

This is an object-oriented visual programming environment for digital sound synthesis. The utility is based on a dialect of the LISP language βˆ’ common lisp. It is worth noting that OpenMusic can be used as a universal graphical interface for this PL.

The instrument was developed in the 90s by engineers from the French Institute for Research and Coordination of Acoustics and Music (IRCAM). In total, seven versions of OpenMusic were presented - the last one was released in 2013. Then IRCAM engineer Gene Bresson (Jean Bresson) rewrote the utility from scratch, taking basis original code sixth version (OM6). Today OM7 is licensed GPLv3 - its sources can be find on github.

How to work with her

Programs in OpenMusic are created by manipulating graphic objects instead of writing code. The result is a kind of flowchart, which is called a "patch". By analogy with modular synthesizers, in which patch cords were used for connections.

Here sample program OpenMusic taken from the GitHub repository:

How to write music using OOP

There are two types of objects in OpenMusic: basic and score objects. The former are various mathematical operations for working with matrices, columns, and text forms.

Score objects are necessary for working with sound. They can also be divided into two groups:

Score objects are managed using score functions, such as combining multiple components into one to create a polyphonic sound. Additional functions can be found in the included libraries - a complete list of them available on the official website.

You can listen to an example of a tune generated by OpenMusic in this video:


To get acquainted with the tool and its capabilities, we recommend that you refer to the documentation. Reference for OM7 is still in development. But you can look at the OM6 reference - you need follow the link and expand the User Manual item in the window on the left.

Who uses

As conceived by the developers, OpenMusic can be used to create and edit audio tracks, generate mathematical models of works and analyze recorded musical passages. Engineers from ITCAM have used the tool in several scientific studies. For example, for create artificial intelligence system that recognizes musical gestures on audio recordings.

Professional performers also work with OpenMusic - they use the utility to study harmonic spectra. An example would be a Swiss composer Mikael Jarrel, who is the winner of the Beethoven Prize. His work performed by the Hong Kong Symphony Orchestra can be listen here.

Also worth noting Tristan Muray. He is one of the largest composers working in the direction spectral music. For example, YouTube has his work Gondwana ΠΈ Le partage des eauxcreated with OpenMusic.


English composer and teacher Brian Furnyhow used OpenMusic to work with rhythm. Today, his music is included in the repertoire of the largest contemporary ensembles and performers - Arditti Quartet ΠΈ Pierre-Yves Artaud.

Analogues

There are several systems similar to OpenMusic. Perhaps the most famous will be a commercial tool Max / MSP. It was developed by Miller Puckette in the late 80's while working for IRCAM. The system allows you to synthesize digital sound and video in real time.

The video below shows the installation on one of the buildings in the Italian city of Cagliari. The color of the screens changes depending on the noise of passing cars. The installation is controlled by a bundle of Max / MSP and Arduino.


It's worth noting that Max/MSP has an open source counterpart. It is called pure data, and was also developed by Miller Puckett.

It is also worth highlighting the visual system Chuck, which was invented by Perry Cook (Perry Cook) with colleagues from Princeton University in 2003. It supports parallel execution of several threads, plus you can make changes to the program right at runtime. Distributed under the GNU GPL license.

The list of tools for digital music synthesis does not end there. There is also Kyma ΠΈ overtone, which allows you to program mixes right on stage. We will try to talk about them next time.

Additional reading from our Hi-Fi World and Telegram channel:

How to write music using OOP How the PC conquered the media industry with successful software
How to write music using OOP Where to get audio samples for your projects: a selection of nine resources
How to write music using OOP Music for your projects: 12 thematic resources with CC licensed tracks
How to write music using OOP Innovation SSI-2001: the story of one of the rarest sound cards for the IBM PC
How to write music using OOP History of Audio Technology: Synthesizers and Samplers
How to write music using OOP Enthusiast recreated Sound Blaster 1.0 sound card
How to write music using OOP How music formats have changed over the past 100 years
How to write music using OOP How an IT company fought for the right to sell music

Source: habr.com

Add a comment