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.

Score and Notation

Score, def-score and instruments layout

  1. Started by JulioHerrlein,

    Dear friends, I managed to make my USB controller Keystation 32 to work in Opusmodus. It´s working. I press the keys and the blue notes are appearing in the score. I think that the hardware setup is properly set up. The problem is how to use this Midi Entry. The notes are appering but, in order to maintain the notes written I have to disable midi entry. When I enable it back, the new notes inputed erase the old ones. I use this small M-AUDIO keystation 32 keyboard in my desk just to input notes in notation programs. This dont have a sustain pedal attached in this tiny keyboard and no pitch wheel as well. There is some workaround or some keystr…

  2. I am trying to write an OpusModus script to capture this Bach Chorale: http://bach-chorales.com/BWV0001_6.htm The chorale starts with a single quarter pick-up note (anacruses) and ends with a 3 beat final bar. Is there any way to capture this annotation? Thanks!

    • 2 replies
    • 2.8k views
  3. Hello, All The idea is to generate some improvised lines over the Giant Steps progression. Every time the code is evaluated, a different comping and improvisation is generated. In this first effort, the improvisation is generated by the arpeggios resultating from the voice-leading of the progression. After that, I want to code some superimpositions of other chord substitutions. This is something I came with after studying the Harmonic-Path Function ( through some example by Stephane Boussuge) I also got some Drums from Jazz Trio, by Janusz Podrazik. Below is the commented code and an mp3 showing the result. All …

  4. Started by Hencleeday,

    Dear All, completely newbie in this field and very eager to learn! I've just watched and replicated the steps from Stephane Boussuge's video "Import Midi from Logic" to import some midi files. What I would like now is to generate variation from the input rhythm, pitch, figures, gestures given and decide locally how many of x figures and their permutations. Any tips? Thanks in advance! Best, André Hencleeday

  5. Started by JulioHerrlein,

    Dear All, I'm trying to find a suitable workflow to make my choices easier. One idea was to compose over a piano reduction, for easier manipulation. Here's a way of doing that, with comments. The MIDI FILE output is like this. I did NO EDITIONS at all in Musescore.This is the video of the MIDI output. The XML output is the piano reduction. Very convenient ! Best, Julio str_4tet_opusmodus.mov ;;;SEV CHORDS Basic Functions ;;;Harmonic Functions/Sets List (setf Srm7 (pcs-transpose 9 (pcs '4-26) :pitch)) (setf S7M (pcs-transpose 4 (pcs '4-20) :pitch)) (setf Trm7 (pcs-transpose 4 (pcs '4-26) :pitch)) (setf…

  6. Hello, I am trying to find different ways of importing partials/frames data into Opusmodus. I am currently trying to use spectral analysis to analyzes certain music/audio phenomena I haven't really seen analyzed before to adapt into my own composition process. The sounds are generally archival or things I have synthesized on the computer through software myself (in .wav format), and are usually between 1 - 5 seconds in length. Is this a good length of time to analyze the spectral data of sounds? I just wanted to understand the following information about spectral tools within Opusmodus. I really would appreciate it if anyone could help me out. …

  7. short information about this from CT: "Currently, only the VST plugin does the pitch bend correctly, there was some reason why I did not fix the problem with the Max version, but I'll take it now. In the short term, you can also solve it by sending the pitchbend value immediately after each noteon. Pitchbend + - tritone." https://www.contimbre.com/en/ but how to how to send "the pitchbend value immediately after each noteon. Pitchbend + - tritone." ...i have no idea, i will wait for the UPDATE

  8. Dear Friends, When evaluating this (cmd+1) '(h (g3f4b4db5) (c4 maj7)) as snippet, I get this: Why is that c4 alone there in the beginning of snippet ? Best, Julio

  9. Started by opmo,

    This short example demonstrates how powerful and flexible the UNFOLD function is, especially when working with short patterns. The entire process is very compact and requires only a few lines of code. Source: (progn (setf mat1 '((h. eb4 pp q g3 -e q gs4 mf -s a5 p tie) (e. a5 -e q bb4 mf -s q cs5 p -s q. e5 mf -e.) (q cs5 p h. d5 mf -q c5 pp tie) (h c5 pp h. gs3 -e a4 p<) (h. fs5 mp q bb3 c5 p e4 mf tie) (h e4 -e q cs4 mp h d5 p e f4)) mat2 '((q d4 pp s eb4 < leg g4 < leg bb4 < leg a4 q. cs5 mf -e 3q gs5 > leg fs5 > leg c5 > b4 > leg f4 leg e4) …

    • 0 replies
    • 5.5k views
  10. Dear Friends, I'm happy to announce that my doctoral dissertation in music composition will have many Opusmodus examples ! I'd like to know how the best way to export plots, and midi piano roll (assistants) for using as examples in Microsoft Word, PDF applications, vectorial graphic software (like Corel), etc I was just snapshoting the screen with built in mac snapshot function (CMN + CTRL + SHIFT + 4) but wondering if there are some method for saving the output. Best, Julio

  11. When I try to open an XML file generated in Opusmodus snippet in Musescore 3, I get a message (File Corrupted). I have to open it in Finale and then export as XML. After that I can open it in Musescore. I do´t know why... But I decided to report it to you. Best, Julio

    • 1 reply
    • 1.9k views
  12. Dear All I'm studying some 4-note cells for Coltrane like jazz patterns from a video lesson of saxophonist Chad Lefkowitz-Brown. The idea is to use a limited number of cells (no more than 10, some diatonic and some chromatic) to create longer lines, like the line below. 1) The idea is to connect the same fragments with different transpositions, adjusting the transpositions according to the construction of the line. I need a code where I can experiment the order and the transpositions of the fragments to create a longer line. Sometimes I can have two times the same pattern with different transposition. 2) The possibi…

  13. Started by AM,

    for some score-display it would be very very useful if when EVAL etc... (or use any of the OPMO-functions) OMN-notation would be displayed and not changing to RATIOS... have a look to this example: it's written like that, because then the display is very smart. when i use "rnd-pick" or other functions it changes from OMN to RATIO... very ugly then. is there an internal solution for that or another trick? thanx for help a. ;; NICE DISPLAY BY CMD3 (setf durations1 (list '(t s t) '(3q 3e_s. t) '(5h 5h 5q_7q 7q 7q 7q 7q 7q 7q_5q 5h 5h) '(t s._3e 3q) …

  14. When I did this post, I used the Giant Steps (Coltrane) progression as harmonic path, in this way: (setf harmpath '((h (b3 maj7) (d3 7)) (h (g3 maj7) (bb3 7)) (h (eb3 maj7) (eb3 maj7)) (h (a3 m7) (d3 7)) (h (g3 maj7) (bb3 7)) (h (eb3 maj7) (gb3 7)) (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7)) (h (eb3 maj7) (eb3 maj7)) (h (a3 m7) (d3 7)) (h (g3 maj7) (g3 maj7)) (h (cs3 m7) (fs3 7)) (h (b3 maj7) (b3 maj7)) (h (f3 m7) (bb3 7)) (h (eb maj7) (eb maj7)) (h (cs3 m7) (fs3 7))) But in the resulting score, the chord symbols won't show. I have some questions: 1) How to make the chord symbols appear ? 2) How to make my own custo…

  15. This is for generating some jazz licks in the style of the LINEAR EXPRESSIONS, by jazz guitarist PAT MARTINO. The rhythm slots of the example contain the same 16th value, but it can be worked out as Rhythmic Cells. I was testing straight 16th lines. https://www.amazon.com/Linear-Expressions-Pat-Martino/dp/1423460898/ref=sr_1_1?ie=UTF8&amp;qid=1539901867&amp;sr=8-1&amp;keywords=linear+expression+martino ;;; PAT MARTINO LINEAR Expressions Lick Generator JAZZ IDIOMS (setf r0 '(s) r1 '(s s s s) r2 '(s s s s s s s s) r3 '(s s s s) r4 '(s s s s) r5 '(s s s s s s s s) …

  16. Dear All, Very clear question: HOW to make a piano reduction with multiple voices and rhythms ? Like a reduction of a string quartet poliphonic material with 4 voices: ALL RHTYHMS INDEPENDENT with their own pauses. With the typical arrangement of stems for voice separation: TREBLE CLEF - voice 1 stems up TREBLE CLEF - voice 2 stems down BASS CLEF - voice 3 stems up BASS CLEF - voice 4 stems down Any help ? Please, help ! I

  17. Started by AM,

    dear janusz is there an OPMO-solution to put the FLOAT for tuning in every event (with pitch) . some times ago i coded such an "add-data-to-event"-function for my own, but a OPMO-one would be more professional 🙂 greetings andré

    • 7 replies
    • 2.8k views
  18. Started by AM,

    hi all, i think a it's a beginner-question... in SIBELIUS i can write for microtonal things MIDI PITCH BEND MESSAGES to every note i want - or automatically by a plugin. in the score/above the note then it's written for example : ~B0,70 etc.... (my PLAYER (conTimbre) works from SIBELIUS via VST) - now the question: how do i send such MIDI-pitch-bend-messages from OPUSMODUS? the opmo-tuning seems to work different and don't work with conTimbre-player... https://www.contimbre.com/en/ thanx for any help andré

  19. Started by AM,

    is there an RESPELL-function which would change sharps into flats and flats into sharps for single pitch-values? enharmonic changes.... like: (enharmonic 'cs4) => db4 (enharmonic 'db4) => cs4 but there is an other solution for an EQUALP* whicht is "independent" from pitch-name (enharmonic)... but a function like ENHARMONIC or EQUALP* could be useful (for pattern-match etc)... (defun equalp* (a b) (equal (pitch-to-midi a) (pitch-to-midi b))) (equalp* 'cs4 'db4) => t there is an EQUALP in the system (but not documented), and works like that (equalp 'cs4 'db4) => nil (equalp 'cs4 'cs4) => t :

  20. Started by AM,

    perhaps OPMO could extend its GEN-ROTATE like that (or use this CODE for it)... not only single-steps, also a list of steps... ;;; SIMPLE FUNCTION (defun gen-rotate* (alist seq) (loop for i in alist collect (setf seq (gen-rotate i seq)))) ;;; EXAMPLES (list-plot (flatten (gen-rotate* '(1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18) '(1 2 3 4 5 6 7 8 9 10))) :join-points t :point-radius 0 :style :fill) (list-plot (gen-rotate* '(9 8 7 6 5 4 3 2 1) '(1 2 3 4 5 6 7 8 9 10)) :join-points t :point-radius 0 :style :fill) (list-plot (flatten (gen-rotate* '(1 2 3 4 5 4 3 2 1) '(1 2 3 4 5 6 7 8 9 10))) :join-points t :point-radius 0 :s…

  21. Started by Stephane Boussuge,

    Here's a Theme and development example (also more generally, song construction example). It is the start of one of my composition but i give it here as a pedagogical example. Happy reading. ;;;--------------------------------------------------------- ;;; Parameters ;;;--------------------------------------------------------- ;;; BASIC MATERIAL ;;; PERIOD 1 (setf violin-1 '(#|1|# (s g5 mf leg a5 leg fs5 leg f5 q gs5) #|2|# (e gs5 stacc b5 stacc a5 stacc g5 stacc) #|3|# (h eb5 tr1) #|4|# (q f5 -) #|5|# (h gs5 tr1) #|6|# (s a5 leg b5 leg bb5 leg fs5 q a5) #|7|# (s c6 leg bb5 leg fs5 leg f5 q a5) …

  22. Dear All, Stephane did this amazing and clear example (code below) of how to spread an harmonic progression over a predefined texture. This can be altered to any harmonic idiom. I did some test, using a chorale texture originated from a 12-tone row and also a more jazz-oriented chorale. THE QUESTION IS (For Stephane Boussuge) 1) How the harmonic rhythm is controlled here? In the example, the chord changes every half note. 2) How can I make the harmony changes at every quarter note ? 3) Can I use different rates of harmonic rhythms ? Best, Julio ;;; Classical Accompaniment Exemple ;…

  23. like this (?)... ;;; mapping to MAJOR (setf sort-seq (integer-to-pitch (flatten (gen-sort (rnd-order (gen-integer 24)) :type 'selection)))) (def-score example-score (:key-signature 'atonal :time-signature '(4 4) :tempo 90 :layout (treble-layout 'seq)) (seq :omn (make-omn :pitch (setf n (tonality-map '(major :map step :root 'c4) sort-seq)) :length (gen-repeat (length (flatten n)) '(t))))) ;;; mapping to MESSIAEN-mode (setf sort-seq (integer-to-pitch (flatten (gen-sort (rnd-order (gen-integer 24)) :type 'insertion)))) (def-score example-sco…

  24. Started by AM,

    hi all, what is the OPMO-function to map an integer-seq like (11 22 9 4 3 1 10 21 23 20 8 0 13 6 24 16 7 14 17 19 2 18 15 5 12) to a scale -> 0 has to be lowest pitch of the scale etc... no problem to solve it via LISP-code, but what is the correct OPMO-function to map it on TONALITIES? thanx andré

  25. I'm probably over-complicating things but I'm trying to find the best approach to create 8 bars of random velocity values scaled to a certain range. This is what I have so far, I hope it makes sense: (setf rh-a-dynamics (gen-eval 8 (vector-range 0.55 0.69 '(vector-to-velocity (random* 0.7) (random* 0.9)) (gen-white-noise 5 :seed 12)))) Result: > Error: Too many arguments in call to #<Compiled-function vector-range #x30000113FC4F>: > 4 arguments provided, at most 3 accepted. I also tried making one list to insert into Vector-Range, which results to: > Err…


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.