Composition meets programming with Opusmodus

Unlock the code in your compositions with Opusmodus.
Unlock the code in your compositions with Opusmodus.

Compositional software is often a fairly dry thing to work with, usually based on classical notation, perhaps with a bit of scratchy sound generation thrown in to give you a better sense of what you're creating. The musical notation paradigm is centuries old, but a recent software release is aiming to show us what we've been missing out on all the time. It won't be for everyone, but for some, it could be an inspiration.

Opusmodus operates in the space between simple musical ideas and full-blown finished compositions - the space in which a composer will experiment with themes, variations, instrumentation and orchestration, and eventually come out with a finished piece. Instead of twiddling strings and riffing on ideas, waiting for inspiration, the software allows you to audition and experiment with musical changes quickly and easily - as long as you can talk to it…

Opus modus' scripting

Opus modus' scripting

Before the program can do its thing, ideas and motifs are entered using a simple scripting language similar to Javascript - the actual language Opusmodus is using, for any programmers, is Common Lisp. It's relatively simple once you know what you're looking for, with all notes and standard musical ideas being represented by code - you'd write the first two phrases of Happy Birthday like this: (e d4 = q e4 d4 g4 h fs4 e d4 = q e4 d4 a4 h g4).

Using the OMN (OpusModus Notation) script, you can then quickly play with this sequence, transposing it, harmonising it, repeating it with different variations, and anything else you care to program. You audition it, see what sticks, and move on.

Another aspect of Opusmodus is Live Coding - a scripting practice centred on 'improvised', interactive programming. Live coding allows the software to become more like a real-time 'instrument'.

The software is the brainchild of composer Janusz Podrazik, who has an extensive background in algorithmic composition. We got in touch to find out more about Opusmodus…

MR: Is there onboard sound generation in Opusmodus, or does it rely on having standard virtual instruments hooked up?

JP:"Opusmodus automatically recognises MIDI ports and can send any MIDI or MIDI controllers signals to any virtual or outboard instrument."

MR: Can you create a composition from scratch using Opusmodus, or will you be relying on already-created fragments of sound or musical data?

JP: "You can start with a simple five pitch phrase script (from scratch) and with the help of the hundreds of functions, end up with a symphonic work for a big orchestra. At any time of the process while composing, you can audition and display your work in notation. The software allows a MIDI file to be converted into OMN script. with every detail faithfully transcribed. Any score can be exported to MIDI and MusicXML files, useful for communication with other software."

MR: Why would someone use the OMN scripting method rather than the 'standard' composition methods?

JP:"As we are using a computer, and can manipulate and structure ideas, it would be foolish not to use a script which allows us to do just that. Standard notation is mainly used for communication and publication. While the OMN script can be transformed, extended, reorganised and processed with powerful computer algorithms."

MR: OMN scripting could be a powerful tool for developing musical ideas. Can it do more than just audition your potential changes?

JP: "The core of Opusmodus is the scripting language. Any part of the script can be seen as a score, auditioned, shown as notation or visualised graphically. Within the Opusmodus software, you'll find many examples of scores, all of which are written in Opusmodus - from the first line to the finished score."

MR: How sophisticated does the user's programming knowledge have to be? What if a composer has no programming experience?

JP: "This one was one of the most difficult problems that needed to be solved. How to engage the composer without any programming knowledge, to work within an environment that uses the Common Lisp language. To overcome this problem, I developed the OMN script so the composer can start working with Opusmodus and not, be confronted with vast libraries of algorithms that can at first be intimidating and overwhelming. To write in OMN script only requires four basic Lisp functions: SETF, QUOTE, PARANTHESES and LIST. With these four functions alone, we can express musical ideas as if we were writing in standard notation."

MR: Is there an easier way to use it without programming, per se? (Adding pre-constructed blocks of code for example…)

JP: "Opusmodus has well-designed 'active' libraries that store retrievable data such as Slonimsky scales and patterns, poetic metrics, and Euclidian rhythmics. This data can be brought into scripts in random or template-controlled forms. Of course, the user can extend the library with their own collection of ideas and patterns etc…"

Check out the software more fully at the Opusmodus website. Opusmodus is usually £399 (£239 for academic users), but is 50% off until the 31st of December.