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.

JulioHerrlein

Members
  • Joined

  • Last visited

Everything posted by JulioHerrlein

  1. Dear, All I need a function for shuffle elements. A function similar to URN in Pure Data. The scenario: 1) I have a list of durations: s s -s s s -s -s -s e -s s -s s -e e -e -e s -s 2) The lenghts together form a 6/4 timesignature or a 12/8. 3) Just repeating the rhythm is BORING ! 4) I need variations, but I want to still sum 12/8 or 6/4. 5) So, I need to shuffle this elements, without changing the total of the sum of lenghts. TWO APPROACHES: 1) RANDOM - How to randomize, not like the random sample, but, using each element JUST ONCE, like an Hamiltonian Path ? (Actually I don't like to random things, because I feel like I'm not composing...) I'm a control Freak ! Sorry ! 2) RANDOM2 - How can I sort from sublists of the same rhtyhm EACH LIST MUST APPEAR JUST ONCE ! This approach sounds more controled 3) MY PREFERED ! How to split the lenght list, and make up combinations of sublists (absolutely controlled) ? Like this: COMPLETE LIST - (s s -s s s -s -s -s e -s s -s s -e e -e -e s -s) SUB LISTS 1 (s s -s) SUB LISTS 2 (s s -s -s ) SUB LISTS 4 (-s e -s s -s) SUB LISTS 5 (s -e e -e) SUB LISTS 6 (-e s -s) Maybe I can Initialize each one as a setf Brute force method... (setf subleng1 ' (s s -s)) (setf subleng2 '(s s -s -s )) (setf subleng3 '(-s e -s s -s)) (setf subleng4 '(s -e e -e)) ETC.... And after that use assemble-seq to the lenghts ? Or assemble-seq is just for joining sections of the composition ? Any help ? Thank you all !!! Best, Julio
  2. Got It ! You must take caution with previous evaluations. I was afraid it was a windows bug. Solved now. Thanks ! Julio
  3. Great ! Thanks you Janusz Maybe a good idea would be some kind of FLUSH function that cleans the environment, so we don't need to close and reopen the program ;) Best, Julio
  4. Dear Friends I´m working on sketches for a piano piece. I declared some variable setf´s for manipulating pitches, rhythms, etc. In the def score instance below, almost in the end of script, OM is evaluating a non-declared variable pat-pitches2. "pat-pithes2" or "pat-pitches" is not in any place of this script, altought I used this in other file. Can OM pick variables from other files ? Why OM is behaving like this ? Seems crazy. Best, Julio :pitch (ambitus '(g1 g3)(chordize-list (gen-divide '(1 1 1 1 1 1 1 1) (pitch-transpose-n '(0 0 -12 0) pat-pitches2)))) ;;; HOW OM IS EVALUATING the variable pat-pitches2 - IT is NOT declared in any place of this file !!!! :velocity velocity2
  5. It worked ! But was too much to my old computer. A lot of latency ! Time to buy a new machine, for a good reason. Best ! Julio added 5 minutes later Solved ! It runs ok through the 2 computers. Nice ! Thanks, André ! Best ! Julio
  6. Dear Friends, I´m using Opusmodus with a virtual machine and trying to send the midi out my Daw at windows 7. Please, can you give me a little help ? Every thing is ok, I just need the syntax on Opusmodus def-score to send the midi signal to the network midi, instead of the internal midi. Please, can you help, me ? Best, Julio
  7. I tried it today, with my 5 year-old PC, windows 7 64 bit, 4GB Ram with Intel Dual Core (before the I series). In this modest setup, I could run Sonar 8.5 with rewire with Finale 25 (Windows) together with Opusmodus in VMware. You can share a folder to export your XML to immediately open in the DAW sequencer with rewire Finale. Great Stuff ! Opusmodus runs flawlessly ! Very happy with this great software ! Thank you guys ! Best, Julio added 1 minute later Exacty the steps of this video tutorial. https://www.youtube.com/watch?v=5RQ21XG8Ts4
  8. Thanks, André !! All the Best ! Julio
  9. Dear Torsten, Thanks for your thoughtful answer. I'm going to try it. Best Julio
  10. Dear friends, I'm still learning. This is a simple thing. How can I put inside a function the name of a variable, like the example below. I want to do this: (gen-binary-row 12 '(0 2 5 7 8 11)) >> (1 0 1 0 0 1 0 1 1 0 0 1) But in this way: (setf binrow '(0 2 5 7 8 11)) (gen-binary-row 12 '(binrow)) What am I missing ? Thanks for help. Best, Julio
  11. Dear André, I´m going to check your solution soon. Thanks, friends ! Very inspiring ! Best, Julio
  12. Thanks a lot, Janusz. This swallow function is already avaiable in Opusmodus? Do I have to update ? Best, Julio
  13. Dear Janusz, This is the closest I get. I suppose it isn't related to Time-point. I'll try to explain. 1) There is a general list of pitches from a certain source (a row, for example) 2) From this list, we use the rhythm list as a skip list of pitches, picking the notes from a sequence. 3) The sequence of note picks is related to the lenght of note divided by the small quantized value, for example, the 16th note. 4) So, the lenght sequence (1/2 1/16 7/16 1/8 3/8 3/16 5/16 1/4 1/4 5/16 3/16)) Will result in a pick skip note sequence like (8, 1, 7, 2, 6, 3, 5, 4, 4, 5, 3) 5) The pick-skip note acts like 8 - means pick the first and skip 7 from the first list of pitches 1 - means pick the first and skip 0 from the first list of pitches 7 - means pick the first and skip 6 from the first list of pitches and so on... This will result in a sublist of first list of pitches, based on the skipped notes, taken every nth notes. according to the sequence. 5) The missed step is that I want to chordize this sublist to an desired HARMONIC partition, like for example 2 trichords, 1 dyad, 3 single notes and a tetrachord, using something like this: (chordize (gen-divide '(3 3 2 1 1 1 4) 'pitches sublist)) Here is the closer I get. Best, Julio (setf lengths '(1/2 1/16 7/16 1/8 3/8 3/16 5/16 1/4 1/4 5/16 3/16)) (setf pitches '(g5 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 fs4 a4 g4 gs4 a4 fs4 e4 b4 g4 gs4 fs4 a4 gs4 g4 f4 bb4 a4 fs4 e4 b4 fs4 a4 g4 gs4 e4 b4 a4 fs4 b4 e4 d4 cs5 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 g4 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 f4 bb4 gs4 g4)) (def-score time ( :key-signature 'chromatic :time-signature time-sig :tempo 112 :layout (clarinet-layout 'clarinet) ) (clarinet :length lengths :pitch (loop for i in (append (list 0) (cumulative-sums (loop for k in lengths collect (/ k 1/16)))) collect (nth i pitches)) :channel 1 :sound 'gm :program 'piano ))
  14. Hello, All I'm trying to work out André's solution examples to make partitions out of tone rows or infinity series (setf lengths '(1/2 1/16 7/16 1/8 3/8 3/16 5/16 1/4 1/4 5/16 3/16)) (setf pitches '(g4 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 fs4 a4 g4 gs4 a4 fs4 e4 b4 g4 gs4 fs4 a4 gs4 g4 f4 bb4 a4 fs4 e4 b4 fs4 a4 g4 gs4 e4 b4 a4 fs4 b4 e4 d4 cs5 gs4 g4 f4 bb4 g4 gs4 fs4 a4 f4 bb4 gs4 g4 bb4 f4 eb4 c5 g4 gs4 fs4 a4 gs4 g4 f4 bb4 fs4 a4 g4 gs4 a4 fs4 e4 b4 f4 bb4 gs4 g4)) ;;; get the pitches (setf pitsublist (loop for i in (append (list 0) (cumulative-sums (loop for k in lengths collect (/ k 1/16)))) collect (nth i pitches)) ; All ok but what I need next is to take the nth order sublist generated in André's solution to chordize it in partitions ala Babbitt. chordize (gen-divide '(2 1 3) '(pitsublist) chordize-list (gen-divide '(2 1 3) '(pitsublist)))) Any hint ? Thanks a lot !
  15. Thanks a lot, Stephane ! I used Opusmodus to generate a complete catalog of all classes. I´ll cite Opusmodus in my dissertation, Great tool ! Thank you ! BEst, Julio
  16. Dear Torsten, Thanks a lot. This music21 is cool, really. I´m doing the job with this, for a while, since I have to conclude my doctoral dissertation. Best, Julio http://www.mta.ca/pc-set/calculator/pc_calculate.html# http://composertools.com/Tools/PCSets/setfinder.html
  17. 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
  18. Very Cool !!! And realistic. Congrats !
  19. Yeah, Stephane ! Thanks ! And you changed lenght-div for some-lenght. Great. I did this today. By the way, I generated 400 files with this method today ! All the sets mod 12. Like 100 pages, or more. Thanks !
  20. Hey, Janusz ! It worked ! Thanks for your patience ! This will be an immense time saver to me. Best ! Julio
  21. Hello, Friends ! I'm using the code below to generate combinations of rhythm in 12/8 time signature. I'd like to have my XML with correct beaming of the notes, related to the most common interpretation of a 12/8 time signature, i. e., beaming every 3 8th notes. Instead, I'm getting it more beamed like a 6/4 time signature: Is there some form of force the right beaming? All the best ! Please help this doctorate student ! Julio (setf some-pitches (integer-to-pitch (gen-integer-step 7 145 '(0)))) (setf some-lengths (span some-pitches '(e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e -e -e -e -e -e -e -e -e -e -e e e e e -e -e -e -e -e -e -e -e -e e e e e -e -e -e -e -e -e -e -e -e e -e - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - = = = = = = = = = = - - - - = = = = = = = = = - - - - = = = = = = = = = -))) ;(setf some-division '(12)) ;(setf length-div (gen-divide some-division some-lengths)) (setf time-sig '(12 8)) (def-score time ( :key-signature 'chromatic :time-signature time-sig :tempo 112 :layout (clarinet-layout 'clarinet) ) (clarinet :length length-div :pitch some-pitches :channel 1 :sound 'gm :program 'clarinet ))
  22. Thanks, Janusz ! All the best to the OM team ! Julio
  23. I just read now the first line of your message. Thanks, Stephane ! Best, Julio
  24. Thanks a lot, Stephane ! This is great ! And thank you for showing me more functions. However, there some issues: how to control to get a 12/8 instead of a 6/4? Or: how to get always a time signature with x/8 ? Or always with a X/4, or mix them ? In the example you provide, a 12 generates a 6/4 instead of a 12/8. I changed the code a little: (setf some-pitches (integer-to-pitch (gen-integer-step 7 480 '(0)))) ;>>> here, because I want to stay in the same note g4 (setf lengths (span some-pitches '(q q e q q q e))) ;>>> here, because I want this specific rhythm, not random sample (setf some-division '(21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3)) ;here, there's that problem of 6/4 versus 12/8 and one more problem occurred because OM stop changing the timesignature after the number 14 (xml attached) I don't know why. (setf length-div (gen-divide some-division some-lengths)) (setf time-sig (get-time-signature length-div)) (def-score time ( :key-signature 'chromatic :time-signature time-sig :tempo 112 :layout (clarinet-layout 'clarinet) ) (clarinet :length lengths :pitch some-pitches :channel 1 :sound 'gm :program 'clarinet )) Best !! Julio test_timesigchange21to3.xml
  25. This is even more simple: (setf pitches '((g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 HERE COMES THE Pitch List :type :pitch))) (setf lengths (span pitches '(e -e -e -e HERE COMES THE Rhythm pattern list - same size or less than the pitches))) (def-score Stage-1 (:key-signature 'chromatic :time-signature '(4 4) '(1 8) >>>>>>>> Here is the problem: How to span the content through different Time Signatures using the same rhythm list and pitches ? :tempo 80 :layout (treble-layout 'piano-rh)) (piano-rh :length lengths :pitch pitches :channel 1 :sound 'gm :program 'clarinet) )

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.