Skip 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.

Support & Troubleshooting

Discuss anything related to Opusmodus that doesn't fit in another sub-forum here!

  1. I just wanted to say that as a newcomer to parametric composition and Opusmodus, Nigel's book has been so helpful. I have it as a pdf in the Utilities section of Opusmodus and work through a chapter a day and copy and paste his code directly into the Composer. I know Nigel wrote the tutorials, but his book sets a wider context which I have found very helpful in this beginning stage. Recommended!

  2. Started by Andy,

    I'm sure it's staring me in the face but I cannot find any info on the Live Coding Instrument apart from the videos Stephane made. Thanks

    • 0 replies
    • 1.8k views
  3. Started by Andy,

    I was wondering what was the preferred method to store snippets? I come across quick ideas I want to quickly store away for future. There seems to be two choices..make a .opmo file or 'save the last file as .xml' under the File menu. Are there any others? I guess an xml file is good for seeing the notation rapidly but effectively renders the snippet dead as it loses the reference to the code and an .opmo file keeps the code... though this needs to be evaluated to see the notation quickly.

    • 2 replies
    • 1.8k views
  4. Started by Andy,

    My files in the Finder often have a duplicate with a tilde after them..what does this mean? I want to rename a file..do I do it to both? Thanks

    • 1 reply
    • 1.7k views
  5. I am finding that if I have a score with two notes repeated the second note does not play when sending to my DAW. I am pretty sure this is because the notes are literally the length of the notation i.e a crotchet is exactly 480 ticks (or whatever it is in ticks) which causes the second note, not being a different pitch, to not play. Is there a way round this?

    • 7 replies
    • 2.6k views
  6. Started by terekita,

    Hello, For various reasons, I need to start with rhythms defined in one time signature and remap them. I'm having trouble doing this because of what happens to ties when you use omn :length (though I realize they are being collected under :articulation). In this case, I'm taking bars of 4/4 regrouping into bars of 2/4. (setf myr '( (s s -s s -e s s -s s -e t t t t s s) (e e_q -h))) (setf tr (omn-to-time-signature myr '(2 4))) Now I take the result of the above and assign it to a new variable ( this would be the same as (setf foo tr) ): (setf foo '((s c4 c4 - c4 -e s c4 c4) (-s c4 -e t c4 c4 c4 c4 s …

    • 1 reply
    • 1.6k views
  7. Started by terekita,

    Hello, When I take the following: (setf lens '((e = = e tie)(e e e e))) (setf notes '((c4 d4 = d4)(d4 g4 = =))) and then call make-omn (make-omn :length lens :pitch notes) the tie at the end of the first bar is not preserved. Nor is it if I instead have the tie at the end of the first bar of the notes list (or at the end of the first bar in both lists). What is the proper way to construct an omn list from separate lengths and pitches such that ties are preserved? In this case I am trying to create the equivalent of the following: (setf test '((e c4 d4 = d4 tie)(e d4 g4 = =))) thanks very much, Michael

  8. Started by BrianCope,

    Hello I renamed and compressed the OM user folder then deleted the original file as instructed. Updated, opened and entered new registration code but I wasn't asked for permission to create a new user folder in my home directory. All I get is this error message:

    • 9 replies
    • 3.4k views
  9. Started by Timothy Rolls,

    Happy new year, all! I upgraded to 1.3 this morning, following the instructions and removing the folder before the upgrade. All went well with the installation, but after about 5 minutes of running it would crash. An additional problem: I cannot find a crash log where MacOS usually keeps it. I initially thought it was a problem with CLM, as I had been investigating that, but then I restarted the computer and opened Opusmodus and it crashed again while working on a new file. Anyone have any ideas about what the potential problem could be, or at least where the crash log would be? Normally I find them in ~/logs/DiagnosticReports, but I don't see one there. Thank you all for…

  10. Started by RST,

    > Error: The function double is predefined by Opusmodus. > While executing: ccl::cerror-if-redefine-om, in process Opusmodus Extension Initialization(5). > Type cmd-/ to continue, cmd-. to abort, cmd-\ for a list of available restarts. > If continued: Replace the definition of double. > Type :? for other options. 1 > Recently when I start Opus Modus I get this error message. Is there something to do? With thanks!

    • 4 replies
    • 2.3k views
  11. Hello, So, this obviously works: (setf pitch (integer-to-pitch '(20 19 18 15))) (tonality-map '(minor-pentatonic :root c0 :map step :rotate 20) pitch) but this—passing in a variable to the :rotate key—doesn't. (Assuming because it's inside a quoted list?) (let ((offset 20)) (tonality-map '(minor-pentatonic :root c0 :map step :rotate offset) pitch)) I'd like to do something like the latter because I'd like to dynamically pass in changing values for :rotate. Any tips or suggestions? thanks for taking a look, Michael

    • 2 replies
    • 2k views
  12. Started by Jorgalad,

    Hi, I've been following this thread in an attempt to build one score from multiple projects: https://opusmodus.com/forums/topic/415-working-with-large-pieces-in-multiple-sections/?tab=comments#comment-1014 I've tried both the approach from Stephane and Janusz but I can't seem to play back the scores after each other. Instead when I compile the three different scores it plays them all back at the same time/on top of each other. I'm probably doing something stupid somewhere but I can't figure out what, here's a screenshot of my project:

    • 3 replies
    • 2k views
  13. Started by Andy,

    An unusual request: I am using Opusmodus for my next project 'The Last', a dance piece, the subject of which is... death. Can anyone point me to some functions that might, with a little creative license, play with the idea of death in terms of, for example, entropy or decay? Or truncation. I'm throwing the ball in the air here so all ideas are welcome! Thanks Andy

    • 4 replies
    • 2.3k views
  14. Started by AM,

    greetings andré ;;; --------------------------------------------------------------------------------------------------- ;;; because i'm working with numbered-events (to have some more control) i has to code ;;; a specific tranposition-function, which is transposing on specific spans/positions ;;; --------------------------------------------------------------------------------------------------- ;;; SUB (defun and-span (n a b) (and (>= n a) (<= n b))) ;;; MAIN (defun transpose-on-event-number (omn-list &key positions/transpose-list) (loop for i in (single-events omn-list) for cnt = 0 then (incf cnt) with position-list =…

  15. i coded a new/alternative version of LENGTH-INVERT. i used it for a so called BINARY-FILTER (for events) - have a look to the example and you see the reason. in some cases you will have a much better DISPLAY/SCORE, is there an OPMO version for that? greetings andré ;;; -------------------------------------------------------- ;;; VERSION WITH OPMO length-invert ;;; -------------------------------------------------------- (defun binary-filter-old (alist bin-list) (let ((event-list (cond ((omn-formp alist) (single-events alist)) (t alist)))) (flatten (loop for i in even…

    • 0 replies
    • 1.3k views
  16. Started by AM,

    i would like to number a pitch sequence, so that every pitch has a number which is written in the score (above the pitch). how can i do that...? any idea? thanx for help a.

  17. Started by Andy,

    So I didn't really know what an IDE was..it's an Integrated Development Environment..is that right? Well anyhow I just wanted to share my enthusiasm for Opusmodus' idea of an integrated workspace...being able to have pdf books available full screen with a shortcut is amazing...and pictures and audio etc. I am a big fan of Wooden Books for instance and bam..there they are in my composing space for reference. I'm kind of thinking this is how all "composing" software should be..but mostly now it seems to me to be about a graphical interface that is irrelevant alongside a multitrack recorder paradigm. Anyhow happy to be on this journey (())

    • 0 replies
    • 1.6k views
  18. Started by Andy,

    In preferences it seems to indicate that it is possible to change the background colour of the Composer, but it does not change?

  19. short question: is it possible to add a text-attribute to/above a rest? i didn't find a solution for that... for post-editing my score i would like to delete/augment/... specific values... for example: AUGMENT rest number 12, or DELETE pitch number 27 (like every EVENT woud has its number) - to do that i numbered all the pitches in the score, but seems not possible to number (by adding text-attributes) the rest-values?? it's no problem to extend the EVENTS by any extra-data-slots (i wrote such a function), but i don't know how to display text above RESTS? thanx for help andré

  20. Started by Andy,

    Hello I'm new here. I'm on the demo and doing fine but for the life of me I can't figure out what the n integer does after :seed? I know seed fixes a random function so it is repeatable but what does that number do? I tried changing it in Tutorial 5 but I can't make sense of it! Thanks Andy

  21. Started by Andy,

    Hi I'm starting to loose the will to progress. So I just spent an hour trying to evaluate this and getting errors and thinking I'd got the wrong number of brackets and yet it looks fine. (setf motifx12 (rnd-order (gen-repeat 12 (list motif)))) :seed3) And then I realise that I have to place the cursor not on the final bracket but on the one before :seed3) Nowhere does it say this in the manual as far as I can tell. And why? I think it's something to do with the : colon that I don't understand in the language. And I still don't understand seed. I'm really trying to get to grips with lisp but my hair is on fire. 😞

  22. Started by Andy,

    Is it necessary at all to do a basic lisp tutorial? Or will it confuse matters? Or is it in fact an advantage to dip into Common Lisp at the same time as learning Opusmodus? Thanks Andy

  23. The "Introduction to Opusmodus" tutorial states that the 30 part stages collection of score-scripts and text commentaries..."is available for download as a pdf file formatted as a printable A4 book". But I have not been able to find the download...where can I find it? On a related note, and partly the reason for my wanting to get a pdf, is there any way to make the fonts larger in the Assistant pane? Thanks in advance for any info!

    • 1 reply
    • 1.8k views
  24. Started by AM,

    i like to insert many text-attrib (hundreds) into the opmo-function (ADD-TEXT-ATTRIBUTES) ... how can i format it the right way when i generate it by a function? thanx for help!! andré ;;; ordinary... by hand - works fine (add-text-attributes '(nr0 "0") '(nr1 "1") '(nr2 "2") '(nr3 "3") '(nr4 "4") '(nr5 "5")) ;;; generated by a function as a list (if there are many attributes) (setf attr-list (loop for i from 0 to 100 collect (list (compress (list 'nr i)) (write-to-string i)))) ;;; INSERT don't work because of the wrong format.... how can i do that/change the format?? (add-text-attributes attr-list) => E…

    • 2 replies
    • 2.1k views
  25. For sound synthesis purposes (e.g., for an expressive performance), we may want to use note lengths beyond the restricted set of quantised note durations. However, Opusmodus currently prevents various irregular note duration sequences to be auditioned and throws an error instead. What is really interesting, though, is that the notation for such irregular durations still seem to work. It might make sense the other way round (i.e. refusing to notate certain rhythms -- though I am definitely not voting for introducing that :), but I don't see any real reason why arbitrary rhythms may not be auditioned. As an example, below is a short example of some arbitrary no…


Copyright © 2014-2026 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

Account

Navigation

Search

Search

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.