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. CONNECTING BY SEMITONE Dear Stephane and friends, I'm back to this idea of fragments, this time with some Dave Liebman licks. I have one question: 1) How to ensure that the connection between the lines are made always by semitone or whole tone ? Is there some way to make an expression for that? I'll try to explain it better: Lets say I have one fragments and some random transpositions, as in the Stephane's solution: FRAGMENT 1 (Coltrane Pattern) (c4 d4 e4 g4) For connecting to the preceeding pattern by semitone, the pattern must be transposed to (fs4 gs4 as4 cs5) > Tritone above or to (ab4 bb4 c5 eb5) > minor 6 above. For connecting to the (fs4 gs4 as4 cs5) pattern, the pattern must be transposed to (c5 d5 e5 g5) > octave above or to (d5 e5 fs5 a5) > ninth above. And so on... Depending on the random transposition, I would need a function to check the last note of each pattern to calculate the right transposition depending on the last note. Maybe a loop function... I could write all the patterns beginning in C, so after having the last note the transposition could be calculated. Any idea ? All the best ! Julio
  2. Dear Didier, Nice to hear from you. Congrats for the project. I'm happy to make something useful here. Best, Julio
  3. Great, Janusz. And no more manual updates !! Best, Julio
  4. Janusz, It would be great with some kind of span inside, like this: (octave-map '(3 5 6) '(c3 d3 e3 f3 g3 f3 e3 d3 c3 cs3)) => (c3 d5 e6 f3 g5 f6 e3 d5 c6 cs3) Best, Julio Or better: (octave-map '(3 5 6) '(c3 d3 e3 f3 g3 f3 e3 d3 c3 cs3) :span t) => (c3 d5 e6 f3 g5 f6 e3 d5 c6 cs3) Best,
  5. Thank you Janusz ! Good Idea ! Happy 2019 ! Best, Julio
  6. Thanks a lot, André ! I´m trying to use your famous loops ! All the Best ! Happy 2019 ! Julio
  7. Dear All, I'm trying to find a loop for making substitutions in a list, for changing the ranges of a list of pitches. SOME PITCHES (AND WHAT TO CHANGE) (setf pitches '(c4 d4 e4 c4 eb4 f4 c4 eb4 eb5)) (setf i '(c4 eb4)) This will take out the range of the notes, i.e., c4 db5 will became c db (defun convert-pitch (pitches) (loop for i in pitches when (pitchp i) collect (compress (butlast (explode i))) else collect i)) Setting a variable for pitches without range indication (pitnorng) and a new range list (setf pitnorng (convert-pitch pitches)) (setf rangelist '(4 5 3 6 4)) Function to put back the new range to the notes (defun convert-pitchbk (pitnorng) (loop for i in pitnorng when i collect (flatten (mapcar 'list pitnorng rangelist)) else collect i )) Setting a collection of notes with new ranges: (setf convbaklst (convert-pitchbk pitnorng)) The (problematic) result: ((c 4 d 5 e 3 c 6 eb 4) (c 4 d 5 e 3 c 6 eb 4) (c 4 d 5 e 3 c 6 eb 4) (c 4 d 5 e 3 c 6 eb 4) (c 4 d 5 e 3 c 6 eb 4) (c 4 d 5 e 3 c 6 eb 4) (c 4 d 5 e 3 c 6 eb 4) (c 4 d 5 e 3 c 6 eb 4) (c 4 d 5 e 3 c 6 eb 4)) I have WHITE SPACES between the note and the corresponding range... LISP PROBLEM: How to remove the white spaces ? Best, Julio And also... The list is multiplied 9 times... why? Some problem in the loop function, I suppose...
  8. Dear Friends, Maybe this could work (in def score, not in make omn) (setf op29webernLib (expand-libraries '(library vienna webern r19))) (setf rowint (pitch-to-integer op29webernLib)) (setf pitches (gen-repeat 10 op29webernLib)) (setf lengths (span pitches (gen-repeat 10 '(s s s s -s s e -s s s -s e e -q q)))) (setf text (span pitches rowint)) (def-score Stage-1 (:key-signature 'chromatic :time-signature '(4 4) :tempo 80 :layout (treble-layout 'piano-rh)) (piano-rh :length lengths :pitch pitches :text text ;:velocity dynamics :channel 1 :sound 'gm :program 'acoustic-grand-piano) ) RESULT Best ! Julio
  9. Dear Didier, Maybe you could try this way, with integer-to-pitch function: (setf mkomnpit (gen-repeat 10 (integer-to-pitch '(0 2 4 7)))) (setf mkomnrhy (gen-repeat 5 '(s s s s e. s q q))) (make-omn :length (span mkomnpit mkomnrhy) :pitch (span mkomnrhy mkomnpit)) Integer to Pitch: (integer-to-pitch '(0 2 4 7) Will result in Best, Julio
  10. Thank you, Torsten ! Looks great. Have a nice 2019 ! Best, Julio
  11. It would ve great to have the :port and :channel in the make-omn function. Sometimes is interesting for hearing snippets with different sounds without having to compile the entire score (sometimes it take a while,depending on the complexity of the score). The port would help to deal with vst adresses and libraries on auditioning. Best !
  12. Really cool for idiomatic stuff ! This will be great ! Best, Julio
  13. Beautiful ! Any code or hint about the composicional process ? Best, Julio
  14. Happy New Year, Tim I updated too but I had no crashes at all. Using El Capitan 10.11.6 Opusmodus seems more fast, by the way. Best, Julio
  15. Thanks a lot, Stephane ! 7-33 is ALMOST a whole tone scale. (0 1 2 4 6 8 A). All the Best ! Julio
  16. Nice, Stephane! Some score/code or compositional hints? Whole tones a lot, by the way. Best, Julio
  17. Dear André, Thank you for the detailed explanation. In the mind of the composers there is a lot of not so evident processes. This is deep. All the best, Julio
  18. Looks interesting. The function seems to work. I tryed some ideas with 3 or 4-note chords. It's easier to figure out what it does. What is the musical idea behind it ? What's the musical purpose? Any example in the context of a composition? Best, Julio
  19. Thanks, André ! I was trying to solve this problem (setf melody '(c5 c5 d5 e5 g5 a5 g5 c6 b5 c6)) (setf blkharm (pattern-map '(((c3) (e2g2a2c3))((d3) (f2gs2b2d3))((e3) (e3c3a2g2))((f3) (gs2b2d3f3))((g3) (g3e3c3a2))((gs3) (b2d3f3gs3))((ab3) (b2d3f3ab3))((a3) (c3e3g3a3))((b3) (d3f3ab3b3))((c4) (e3g3a3c4))((d4) (f3gs3b3d4))((e4) (e4c4a3g3))((f4) (gs3b3d4f4))((g4) (g4e4c4a3))((gs4) (b3d4f4gs4))((ab4) (b3d4f4ab4))((a4) (g4e4c4a4))((b4) (d4f4ab4b4))((c5) (e4g4a4c5))((d5) (f4gs4b4d5))((e5) (e5c5a4g4))((f5) (gs4b4d5f5))((g5) (g5e5c5a4))((gs5) (b4d5f5gs5))((ab5) (b4d5f5ab5))((a5) (g5e5c5a5))((b5) (d5f5ab5b5))((c6) (e5g5a5c6))((d6) (f5gs5b5d6))((e6) (e6c6a5g5))((f6) (gs5b5d6f6))((g6) (g6e6c6a5))((gs6) (b5d6f6gs6))((ab6) (b5d6f6ab6))((a6) (g6e6c6a6))((b6) (d6f6ab6b6))) melody :otherwise 'c4f4bb4eb5)) (make-omn :length '(q e e e e e e q q q) :pitch blkharm) To make some block harmonizations, like this: If you are curious, see this post: Best !! Thank you ! You are the LOOPER MAN ! Julio
  20. I found a solution with pattern-match. Pitches for melody (setf melody '(c5 c5 d5 e5 g5 a5 g5 c6 b5 c6)) Block harmonization with pattern-match (setf blkharm (pattern-map '(((c3) (e2g2a2c3)) ((d3) (f2gs2b2d3)) ((e3) (e3c3a2g2)) ((f3) (gs2b2d3f3)) ((g3) (g3e3c3a2)) ((gs3) (b2d3f3gs3)) ((ab3) (b2d3f3ab3)) ((a3) (c3e3g3a3)) ((b3) (d3f3ab3b3)) ((c4) (e3g3a3c4)) ((d4) (f3gs3b3d4)) ((e4) (e4c4a3g3)) ((f4) (gs3b3d4f4)) ((g4) (g4e4c4a3)) ((gs4) (b3d4f4gs4)) ((ab4) (b3d4f4ab4)) ((a4) (g4e4c4a4)) ((b4) (d4f4ab4b4)) ((c5) (e4g4a4c5)) ((d5) (f4gs4b4d5)) ((e5) (e5c5a4g4)) ((f5) (gs4b4d5f5)) ((g5) (g5e5c5a4)) ((gs5) (b4d5f5gs5)) ((ab5) (b4d5f5ab5)) ((a5) (g5e5c5a5)) ((b5) (d5f5ab5b5)) ((c6) (e5g5a5c6)) ((d6) (f5gs5b5d6)) ((e6) (e6c6a5g5)) ((f6) (gs5b5d6f6)) ((g6) (g6e6c6a5)) ((gs6) (b5d6f6gs6)) ((ab6) (b5d6f6ab6)) ((a6) (g6e6c6a6)) ((b6) (d6f6ab6b6))) melody :otherwise 'c4f4bb4eb5)) OMN with all (make-omn :length '(q e e e e e e q q q) :pitch blkharm)
  21. Dear All, Some help needed in wildcard uses in Opusmodus Functions and OMN expressions... ><><><><><><><><><><> The definition.... https://en.wikipedia.org/wiki/Wildcard_character In computer (software) technology, a wildcard is a symbol used to replace or represent one or more characters.[2] Algorithms for matching wildcards have been developed in a number of recursive and non-recursive varieties. In Unix-like and DOS operating systems, the question mark ? matches exactly one character. ><><><><><><><><><><><><>< I was in need of a wildcard to represent a pitch class in ANY register, like "cs?" meaning all C# pitch classes in any register/octave (cs0, cs1, cs2, cs3, cs4, cs5, cs6, cs7, etc). There are other interesting uses for this wildcards inside functions, to generalize and make recursions possible elegantly. Any Hints ? Best, Julio
  22. Aparently, this works (pattern-map '(((c5 d5 e5) (e4g4a4c5 f4gs4b4d5 e5c5a4g4))) '(c5 d5 e5 fs4) :otherwise 'c4f4bb4eb5) Is there some WILDCARD to mean all C pitch classes? If no, I will have to program it for all the octaves of the range of the melody. For example cs$ or cs? meaning all C# in ANY octave. Best, Julio
  23. Interesting, Stephane ! Any way of filtering actions based on specific pitch classes ? Best, Julio

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.