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.

Function Examples

Functions, arguments, values and results

  1. Dear Friends, I´m seriously doing a composition for String Quartet now. I was procastinating it for more than one year, but now I´m really finding good results that could be part of a composition. The question is that I generate some VERY LONG (sometimes 200 bars) of material and, inside this stream I´d like to use ONE or TWO measures of this particular stream, and more 6 measures generated by other process, interpolate some Free material in between, and so on. In general, this is the expression I use to compile each voice of the quartet: vh1 (VL), vh2 (VL2), vh3 (VLA) and vh4 (Cello) (setf vh1 (make-omn :length rv1 …

  2. I can't seem to get do-timeline2 function to work. I include an abridged example below; happy to share more code details if necessary. I'd like to filter 64 measures of 4/4 as defined in the timeline. Would anyone be able to offer some feedback? I tried adjusting different 'list' levels, etc. but with no avail. Thank you! (setf chords1 '(e2b2g3d4 e2cs3a3e4 e2d3b3fs4)) (setf chords2 (pitch-transpose 3 chords1)) (setf chorale1-chords (span '(1 1 1 1 1 1 1 1) chords1)) (setf chorale2-chords (span '(1 1 1 1 1 1 1 1) chords2)) ;; OMNS (setf chorale1 (make-omn :length (length-span '(1 1 1 1 1 1 1 1) '(w) :omn t) …

  3. I wonder if there's a function to allow for systematic transformations of rhythmic streams, like in the example below. From a regular stream of 16th notes: (s c4 d4 e4 f4 5q d4 e4 f4 g4 e4 s f4 g4 a4 f4 3q g4 a4 b4) To occasional introduction of quintuplets, tuplets, etc: (s c4 d4 e4 f4 5q d4 e4 f4 g4 e4 s f4 g4 a4 f4 3q g4 a4 b4) Or: (6q c4 d4 e4 f4 d4 e4 s f4 g4 f4 g4 5q a4 f4 g4 a4 b4) Thank you!

  4. I discovered today that you can use just length-diminution to expand OR contract rhythms, just by using fractions. You can use ti to make some proportional metric modulation stuff. Here are some examples. ORIGINAL (length-diminution 1/1 '(q e e e e s s s s)) CONTRACT (length-diminution 2/1 '(q e e e e s s s s)) EXPAND (length-diminution 1/2 '(q e e e e s s s s)) (length-diminution 1/3 '(q e e e e s s s s)) (length-diminution 3/2 '(q e e e e s s s s)) (length-diminution 3/4 '(q e e e e s s s s)) And so on !! This is cool ! Best, Julio

  5. Started by JulioHerrlein,

    Dear Friends, I´m working with this Lenght-Map, for articulations and dynamics. It´s not waorking the way I expected. Some are in the map, but won´t map. Some aren´t in the map, but appears... Stephane use it a lot... What I missed ? ;;;FORUM QUESTION ;;;pitches (setf v1 '(q gs4 bb4 e4 d4 eb4 fs4 b4 gs4 g4 a4 c5 bb4 a4 cs4 d4 d4 d4 g4 d5 b4 g4 f4 eb4 e4 f4 fs4 c5 bb4 eb5 cs5 fs4 g4 fs4 g4 gs4 a4 d5 b4 g4 a4 a4 gs4 bb4 e4 d4 eb4 fs4 b4 gs4 g4 a4 c5 bb4 a4 cs4 d4 d4 d4 g4 d5 b4 g4 f4 eb4 e4 f4 fs4 c5 bb4 eb5 cs5 fs4 g4 fs4 g4 gs4 a4 d5 b4 g4 a4 a4 gs4 bb4 e4 d4 eb4 fs4 b4 gs4 g4 a4 c5 bb4 a4 cs4 d4 d4 d4 g4 d5 b4 g4 f4 eb4 e4 f4 fs4 c5 bb4 eb5 …

  6. Dear All, I´m looking for some way of retrieving musical information from sets of notes. Some problems, for example: 1) This is the first and more needed now: Given some UNORDERED amount of pitches, how retrive the prime form and/or Forte Number. 2) How to do this from an existing midi file or XML ? Is t possible to retrive the forte number of every "n" notes of the pitch collection (melody or chord)? 3) Can you circunscribe some notes for analysis in a large file ? Thanks, everyone ! Best, Julio

  7. Started by AM,

    dear all here's a function (revised, should work correct now) to work with rotations - based on the work of karel goeyvaerts (defun goeyvaerts-rotation* (&key pitches static-pitches generations goeyvaerts-transpose-interval (direction 'up) low-border high-border correction-interval) (let ((pitches (filter-remove (pitch-to-midi static-pitches) (pitch-to-midi pitches)))) (midi-to-pitch (append (list (append pitches (p…

    • 0 replies
    • 929 views
  8. Started by AM,

    row-permutation (with rule) for n-generations (defun row-permutation (n row rules &key (one-based nil)) (let ((rules (if (equal one-based t) (mapcar '1- rules) rules))) (loop repeat n collect (setf row (position-filter rules row))))) (row-permutation 5 '(a4 c5 cs5 g4 eb5 gs4 e5 d5 f4 b4 bb4 fs4) '(0 1 6 5 2 3 7 8 11 9 4 10)) => ((a4 gs4 eb5 c5 cs5 e5 d5 bb4 f4 g4 b4) (a4 e5 cs5 gs4 eb5 d5 bb4 b4 f4 c5 g4) (a4 d5 eb5 e5 cs5 bb4 b4 g4 f4 gs4 c5) (a4 bb4 cs5 d5 eb5 b4 g4 c5 f4 e5 gs4) (a4 b4 eb5 bb4 cs5 g4 c5 gs4 f4 d5 e5)) (row-permutation 5 '(a4 c5 cs5 g4 eb5 gs4 e5 d5 f4 b4 bb4 fs4) '(1 4 6 5 2 3 7 8 11 9 10 …

    • 0 replies
    • 958 views
  9. Started by o_e,

    Hi, How does position-insert work? (setf test '(c4 d4 e4 fs5 e4)) (setf test2 (position-insert '(1 3 5 7) 'b3 test)) =>(c4 b3 d4 b3 e4 b3 fs5 e4) ; 1 3 5 ? what am I missing?

  10. Started by Rangarajan,

    Hi, Opusmodus team has done a great job in supporting L-system. I have been spending some time to understand this feature; seems quite powerful. I have just uploaded a blog post on this topic. Your comments and suggestions will be very much appreciated. Does OM implementation support the full functionality as outlined in this paper? - Rangarajan

  11. The documentation on the interval-expansion-series function states that a count list argument refers to a number of intervals to process. Would someone be willing to explain what number of intervals and in what way? I understand that this function also has built-in randomness, resulting in a different output each time. In the example below, does the count list '(1 2 3) mean that only one interval is expanded the first time, then two intervals the second time, etc.? Or does it imply that only the first three intervals from the interval source list will be expanded? (interval-expansion-series 10 '(1 -1 2 -2) '(1 2 3) '(-6 -5 3 4) :max-interval 6) …

  12. Hi, Please have merci with me, but I'am not able to build a library (permanent). I've tried to follow the docs, so I first use def-library: (def-library test (:section testing bla1 '(a b c) bla2 '(e f g) )) This seems to work, testing with: (library 'test 'testing 'bla2) ==>(e f g) Next step in my understanding would be: (create-library 'test 'testing 'bla :file "test" ) that gives an error: ==>Error: Incorrect keyword arguments in ("test") What am I missing, surely something very silly that I overlooked,…

  13. Started by o_e,

    Hi, I'am having hard times to understand what is pitch-transpose doing, please have a look, thanks! (pitch-transpose -12 '((fs1) (f1) (g-1g1bb2e6gs6a6bb6) (gs-1bb1bb2e6gs6a6bb6) (bb-1cs2bb2a3e6gs6a6bb6cs7))) ;==> ((fs1) (f1) (g1 g1bb1e5gs5a5bb5) (gs1 bb0bb1e5gs5a5bb5) (bb0 cs1bb1a2e5gs5a5bb5cs6)) ; x? x? x? (pitch-transpose 12 '((fs1) (f1) (g-1g1bb2e6gs6a6bb6) (gs-1bb1bb2e6gs6a6bb6) (bb-1cs2bb2a3e6gs6a6bb6cs7))) ;==> ((fs2) (f2) (g1 g2bb3e7gs7a7bb7) (gs1 bb2bb3e7gs7a7bb7) (bb0 cs3bb3a4e7gs7a7bb7cs7)) ; …

  14. Started by o_e,

    Hi, I'am examin the distribute-seq function and don't get the exact logic behind it: (setf pitch '(c4 cs4 d4 ds4 e4 f4 fs4 g4 gs4 a4 as4 b4)) #| 1 2 3 4 5 6 7 8 9 10 11 12 |# (setf l-v1 '(1/8 -1/8 2/8 -1/8 5/8) l-v2 '(1/8 1/8 -1/8 2/8 1/8) l-va '(-2/8 1/8 -5/8 1/8) l-vc '(-1/8 3/8 1/8 1/8) ) (setf align (distribute-seq pitch l-v1 l-v2 l-va l-vc)) ==>((c4 e4 gs4) (cs4 d4 fs4 a4) (f4 b4) (ds4 g4 as4)) ;;;from the docs, what is the rule for the distribution (when the lists are of different size)? ;;;Do the list of pitches (have to) match the list of length values? #| -----------------that's what I would expect:------------…

  15. Started by Rangarajan,

    Just downloaded and installed the latest version 2.1.26172. Documentation for the function "pprint-score" seems to be missing. - Rangarajan

  16. Started by born,

    Hi, is there a function for distributing one voice successively into a defined number of voices as described in my attachment? Best, Achim

  17. I wonder if it's possible to evaluate a function (that has a seed argument) a set number of times (using gen-loop) with a predefined, custom seed list applied to the function. Something that I'm trying to achieve in the example below. Thank you! (setf seeds (vector-round 1 100 (gen-white-noise 8 :seed 13))) (setf rhythm (gen-loop 8 (euclidean-rhythm 16 4 16 's :type 2 :seed seeds)))

  18. Dear friends, I´m looking for a specific kind of repeating function. In the example below, I have one d4 in the first violin. Then comes an a4, etc. LOOKING FOR SOMETHING LIKE: 1) to have repetitions of the same note in the blank space (instead of pauses), but all have to be measured inside the exact space that is between the first and second note. Sometimes this spaces of rests are different among each pair of subsequent notes. The function must calculate the spaces among each pair of notes before making the repetitions 2) alternatively, this repetitions could be kind of irregular, leaving some spaces of pauses, like a density control. …

  19. Started by JulioHerrlein,

    Is there some function in Opusmodus for Vuza Canons ? It´s very interesting ! All the best ! Julio Rhythmic canons (6) – alpof ALPOF.WORDPRESS.COM This post is a follow-up on the subject of rhythmic canons and the last post. Today I will talk specifically about Vuza canons, i.e. non-periodic canons. I'll start with an example. Let's take the motive $latex A=\{0,1,8,9,17,28\}$. Can this be a motive for a rhythmic canon, i.e. does it tile $latex \mathbb{Z}_n$ for some integer… http://canonsrythmiques.free.fr/pdf/zurichepos.pdf

  20. Started by o_e,

    Hi, I'am having hard times to understand length-to-rest: (setf one '(-q e f5 mp 3q b5 mp 3e f6 mp 3e g5 p 3wq. gs5eb6 p))
 (setf two (length-to-rest 'q one :type 'under))
 ==>(-q -e -3q -3e - 3wq. f5 mp)
 
 ;;simplified example works as expected
 (setf three '(q f4 3q b4 a4 b4 e d4 3wq gb5eb5))
 (setf four (length-to-rest 'q three :type 'under))
 ==>(q f4 -3q - - -e 3wq gb5eb5) what am I missing? thanks for help!

  21. I've been studying HARMONIC-PATH and TONALITY-MAP functions to determine the exact similarities and differences between the two. While I understand the purpose of those functions in principle from reading the documentation and experimenting with different ideas, I wonder if - for educational purposes - someone could briefly highlight the main explicit differences between the two. In the short example below, both functions produce very similar results, so the question may be when to use one function instead of the other. And is it possible to achieve the same result with both functions? I appreciate anyone's advice or insight into this. Thanks! (setf…

  22. Started by NagyMusic,

    The existing STRAWINSKY-ROTATION function generates pitch and choral material using the given 12-tone row. Is it possible to use the same function with fewer pitches? I attached an example that I'd like to produce. Like the STRAWINSKY-ROTATION function, I'd like to take any number of pitches and then use cyclic-rotation to transpose each inversion so that the beginning note is always the same. Thank you!

  23. Started by Rangarajan,

    Opusmodus has a rich set of predefined chords. But I am a bit confused about how to use this. For example, how do I get the "major" triad with "d4" as the tonic in C Major scale? I tried this: (expand-chord '(d4 maj)) but I get "(d4fs4a4)" instead of "(d4f4a4)" - Rangarajan

  24. I wonder if anyone has a suggestion on producing this list (with sublists) in Opusmodus, in which the first number decreases in value, the second number stays the same, and the third number increases in value? Thank you! ( (7) (3) (6) (3) (1) (5) (3) (2) (4) (3) (3) (3) (3) (4) (2) (3) (5) (1) (3) (6) (3) (7) )

  25. Started by o_e,

    Hi, I have a simple question, how can I change the resolution of harmonics to quarter tones or sixth tones. (harmonics 'e1 10) thanks! ole

    • 2 replies
    • 1.3k views

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

Important Information

Terms of Use Privacy Policy

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.