Jump to content
View in the app

A better way to browse. Learn more.

Opusmodus

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.


Welcome to Opusmodus

OMIdea.png



Important note before we begin

Hello, and welcome to Opusmodus. We hope you’ll find Opusmodus a useful addition to the tools you already use for composing. The Opusmodus Manual and the Three Lessons - to be found in the Navigator, on the left - are designed to help you get started. The Manual is a first step reference guide. The Three Lessons are an ‘active’ introduction to just some of the ways to compose with Opusmodus. Once you’ve finished the reading the Manual and working with the Lessons, go to File → New → Workspace… to begin your own project.

What is Opusmodus

Opusmodus is aimed at composers of all kinds - of art music, concert music, choral music, film music, jazz, electroacoustic music, music for games and new media, songwriters. Opusmodus is a comprehensive computer-aided environment for the whole work of music composition a virtual space where a composer can develop ideas and experiments for projects large and small. It is the first application to successfully provide what IRCAM has termed the Composing Continuum: from first thoughts to the finished score. Opusmodus speaks fluently to MusicXML and MIDI-file to enable your work to be prepared to meet the needs of professional performance and publishing. Opusmodus also allows many other file formats to be present inside its workspace from PDF documents, MP3 and 4, video formats, as well as Internet links. This means a composer can collect in one place all the pre-compositional material that so often comes together before a note has been written. Opusmodus is like a composer’s studio, when you don’t have a spare room for a studio!

Opusmodus Manual

The Opusmodus Manual is an introduction to Opusmodus. There’s many helpful illustrations combined with a clear and concise text. It will prove ideal as an easy to look up reference guide as you explore and learn Opusmodus, and then create your own scores. In fifteen distinct sections the Manual takes you through the key features of the interface, describing the principle components. The Manual is also available as a printable PDF in Assistant Navigator → Documents → Manuals.

Three Lessons

The Three Lessons have been created to get you up and running as quickly as possible by introducing you to the main features of Opusmodus. They use an ‘active’ approach to help you experience Opusmodus, focusing on three different composing scenarios: OMN scripting, Algorithmic and OMN and Algorithmic combined.

Next Step

The Opusmodus Manual and the Three Lessons will give an idea about the sorts of things Opusmodus can do. It will take a couple of hours if you go through them thoroughly, but by the time you’ve completed both, you should have a good grasp of how to start using Opusmodus for your own projects.

Tutorials and further help and guidance

The “Assistant Navigator” panel has a suite of valuable collections to help and support your on-going work with Opusmodus. There’s a reference guide to Introduction to OMN The Language. This is followed by the 30-Stage Tutorial Guide that provides an introduction to coding using algorithmic functions and techniques alongside the Opusmodus Notation (OMN). These are mainly short pieces for solo piano. Then a collection called How-to - how to use tremolo, how to change tempo, and so on. Finally, there’s a large and varied collection of Score Examples created by composers who work regularly with Opusmodus.

How to search the system

To quickly search the system place the cursor anywhere on the function-name or on any word in the Composer panel (no selection needed) and press Cmd-d (⌘D) or you can find the search command in the Help menu: Help for Selected Text.

MIDI Playback

To Start/Stop playing the MIDI press the space bar on your keyboard. To return to the beginning of the MIDI display panel press the Return key . Alternatively you can use the contextual menu (right mouse click) to control the MIDI Player panel.

Some of the midi files (especially from the web) you will not be able to listen to because the file might use the external ports. To change the setup use the contextual menu (right mouse click) in the midi panel and chose Ignore Ports. This will send the midi to the internal GM sound set after which you will be able to listen to the midi file.


The Four Elements

An important prerequisite for composing music with the aid of computers is that the musical ideas of a composition must be communicated to the computer: OMN provides a notation for music, just as traditional notation does on paper. The immediate question then is: how does OMN work so a composer can express musical ideas?

Like traditional notation, OMN expresses musical units such as rhythms and pitches. The Introduction to OMN The Language explains the four elements, indicating:

length as q (quarter)

pitch as c4

velocity as mp

and articulation as trem(olo)

- in that order.

(q c4 mp trem)

Such a musical unit is expressed between parenthesis to allow a clear distinction between other units.

((q c4 mp trem) (q c5 ff fermata))

Clearly, musical units can be sequenced.

((s a4 d5 fs4 d5 g4 d5)
 (s a4 d5 fs4 d5 g4 d5)
 (s a4 d5 cs5 b4 a4 g4)
 (s fs4 d4 e4 cs4 e d4))

To make OMN (and LISP) do something for you, you type an expression. An expression is simply a list, starting with an opening parenthesis, followed by a number of symbols and finally closed by a close parenthesis.

(gen-retrograde '(s a4 d5 fs4 d5 g4 d5))
=> (s d5 g4 d5 fs4 d5 a4)

The expression above is a list. The first element of the list is a function name. The rest of the list are arguments or values to which the function is applied.

As Lisp will (try to) evaluate everything you type at it, there must be a way to tell Lisp to take expressions as data. To inform LISP that you want an expression to be treated as data, quote that expression.

'((s a4 d5 fs4 d5 g4 d5)
  (s a4 d5 fs4 d5 g4 d5)
  (s a4 d5 cs5 b4 a4 g4)
  (s fs4 d4 e4 cs4 e d4))

It is just like a quotation in real life: in case we want to say that Paris is the capital of France, we use the word without quotes, but we do use quotes when saying that “Paris” has five letters.


So, if you want LISP to see (q c5 ff tr2) as data, let the expression be preceded by a single quote:

'(q c5 ff tr2)

Now, lets try the expression (gen-integer 12) with and without a quote to see the difference.

To do that we need to evaluate our expression. Place the curser after the last closing parenthesis ) and press Enter key. The evaluation will display in the Listener  panel.

(gen-integer 12)    ; returns list of numbers from 0 to 12
=> (0 1 2 3 4 5 6 7 8 9 10 11 12)

'(gen-integer 12)   ; is a list with 2 values
=> (gen-integer 12)

By the way, an arrow sign => means evaluation, what is written after semicolon ; is a comment.

Here are two functions you will find useful during your work.

SETF

If you want to process a sequence it is useful to assign that sequence to a variable. SETF allows us to do that. Here the variabile is named song and is assigned to a sequence of omn lists.

(setf song
      '((3e gb6 bb6 db6 gb6 eb6 gb6 db6 gb6 bb5 db6 gb5 bb5)
        (3e gb5 bb5 db5 gb5 eb5 gb5 db5 gb5 bb4 db5 gb4 bb4)
        (3e db4 db5 ab4 db5 ab4 ab5 ab4 ab5 eb5 ab5 eb5 eb6)
        (3e eb5 eb6 ab5 eb6 ab5 ab6 ab5 ab6 db6 ab6 db6 db7)))

After assignment, you can use song to refer to its value.


LIST

The function LIST makes lists, as its name says. Lists can have any length, therefore the function LIST takes any number of arguments (data).

(list '(q c4 mp tr2) '(q c5 f fermata)
      '(q c5 ff tr2) '(q c6 fff fermata))

As we have assigned the variable named song. We might as well use it in our expression.

(list song song)

Copyright © 2014-2025 Opusmodus™ Ltd. All rights reserved.
Product features, specifications, system requirements and availability are subject to change without notice.
Opusmodus, the Opusmodus logo, and other Opusmodus trademarks are either registered trademarks or trademarks of Opusmodus Ltd.
All other trademarks contained herein are the property of their respective owners.

Powered by Invision Community

Important Information

Terms of Use Privacy Policy

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.