Jump to content

JulioHerrlein

Members
  • Joined

  • Last visited

  1. Also this solution, from Book 2: ;;;-------------------------------------------------------- ;;; Study and Practice in Composition with Opusmodus - Book 2 ;;; Julio Herrlein ;;; ISBN 9791280270566 ;;; Score Examples (code) ;;;-------------------------------------------------------- ;;; 2.4. Reich's Clapping Music - PCS-Rhythm ;;;-------------------------------------------------------- (progn (setf cell 1) ;; Clap 1 Ostinato/Timeline Voice (setf rhy1 (pcs-rhythm '8-26 :rotate 9)) (setf aug1 (length-augmentation 2 rhy1)) (setf rep1 (gen-repeat (* 13 cell) aug1)) (setf clap1-ostinato (omn-to-time-signature rep1 '(6 4))) ;; Clap 2 Variation Voice (setf rhy2 (pcs-rhythm '8-26 :rotate '(9 8 7 6 5 4 3 2 1 0 11 10 9))) (setf aug2 (length-augmentation 2 rhy2)) (setf rep2 (gen-repeat cell aug2)) (setf clap2-rotate (omn-to-time-signature aug2 '(6 4))) ;; To find the length of the repetitions (get-count clap2-rotate :sum t) ;; Preview Score (ps 'gm :rhy (list clap1-ostinato clap2-rotate) :key-signature '(c maj) :tempo 88 :time-signature '(12 8)) )
  2.    JulioHerrlein reacted to a video: Non Linear Abstraction I
  3.    opmo reacted to a post in a topic: OMN triplets
  4. Thanks, Janusz ! Best, Julio
  5. Dear Team, I noticed that the omn-to-time-signature, when used with length-only material is not returning the same rhythms. The rhythms are missing the ties when used with lengths only. With pitch + length materials looks to be ok. I used to think that this function would return the same rhythms, but just adjusted to a new sequence of time-signatures. Best, Julio (setf rh-1 '(-dd h c7 p eb6 mp p - c7 q e6 - h_e g6 e mf bb5 mp -h.. q bb6 p -h. q. d6 e c4 -h.. q bb3 mf e g6 mp h_e e6 -h e g5 h a6 -e = h bb4 e6 p q bb6 mp e6 e g3 g6 p q. g3 e bb3 bb6 mp q g6 pp e c7 mp eb4 p)) (omn-to-time-signature rh-1 '(2 4)) result (with ties) ((-h) (-h) (-h) (-h) (-h) (-h) (-h) (-h) (h c7 p) (h eb6 mp) (h eb6 p) (-h) (h c7) (q e6 -) (h g6 tie) (e g6 g6 mf bb5 mp -) (-h) (-q bb6 p) (-h) (-q d6 tie) (e d6 c4 -q) (-h) (-e q bb3 mf e g6 mp) (h e6 tie) (e e6 -q.) (-e g5 q a6 tie) (q a6 -e a6) (h bb4) (h e6 p) (q bb6 mp e6) (e g3 g6 p q g3 tie) (e g3 bb3 bb6 mp g6 pp tie) (e g6 pp c7 mp eb4 p))(setf rh-1 '(-dd h c7 p eb6 mp p - c7 q e6 - h_e g6 e mf bb5 mp -h.. q bb6 p -h. q. d6 e c4 -h.. q bb3 mf e g6 mp h_e e6 -h e g5 h a6 -e = h bb4 e6 p q bb6 mp e6 e g3 g6 p q. g3 e bb3 bb6 mp q g6 pp e c7 mp eb4 p)) (omn-to-time-signature (omn :length rh-1) '(2 4)) result (NO ties) ((-1/2) (-1/2) (-1/2) (-1/2) (-1/2) (-1/2) (-1/2) (-1/2) (1/2) (1/2) (1/2) (-1/2) (1/2) (1/4 -1/4) (1/2) (1/8 1/8 1/8 -1/8) (-1/2) (-1/4 1/4) (-1/2) (-1/4 1/4) (1/8 1/8 -1/4) (-1/2) (-1/8 1/4 1/8) (1/2) (1/8 -3/8) (-1/8 1/8 1/4) (1/4 -1/8 1/8) (1/2) (1/2) (1/4 1/4) (1/8 1/8 1/4) (1/8 1/8 1/8 1/8) (1/8 1/8 1/8))
  6. Maybe this ? (3e_3e d5 3e b4 3e eb5 3e_3e b4 s cs5 a5 -e -h)
  7.    JulioHerrlein reacted to a post in a topic: Score 212 - for large ensemble
  8. Thanks, Stephane ! A GM version is interesting to focus in Opusmodus only. All the best ! Congratulations !
  9.    JulioHerrlein reacted to a post in a topic: Score 212 - for large ensemble
  10. Great Function, Janusz ! I have one question: What is the best strategy to use this function to obtain cross staff piano notation, i.e. notes with the same rhythm / voice crossing between the treble and bass clef. Please, could you provide a little example ? Should I use a different piano layout ? normal piano x grand piano layout ? Thanks a lot ! Best !
  11.    opmo reacted to a comment: DADA Quartet
  12.    JulioHerrlein reacted to a post in a topic: Opusmodus 3.0.29606 (Update)
  13.    JulioHerrlein reacted to a post in a topic: Opusmodus 3.0.29556 (split-chord)
  14. Dear Erka, I tryed some older version of Jam origin software. The advantage of the 13 pin is to have one string in each midi channel. This is good for multitimbral stuff and also for input tablature in Finale with its channel filter. Each string goes directly to its right place. Thanks for the message ! All the best and Happy 2025 !
  15.    JulioHerrlein reacted to a post in a topic: dictum and length to rest
  16.    JulioHerrlein reacted to a post in a topic: Lisp function
  17. Hello, I didn´t try it. I need some explanation of the system about the tab layout option and how to find tablature clefs in the integrated MusicXML environment. Best, Julio
  18. I had this question before: Here is the answer by Janusz , back in 2021. Thanks, Janusz ! I´m obssessed by the same problems over and over. Best ! (let ((rem (ambitus '(c5 b5) (expand-tonality '((c5 major) (db5 major) (gb5 major))))) (super (ambitus '(c5 b5) '((d5 f5 a5 c6) (eb4 gb4 bb4 db4) (fs4 as4 cs4))))) (loop for s in super for r in rem collect (loop for i in s do (setf r (remove i r)) finally (return r))))
  19. Dear Friends, I´m trying to make a function to get the complementary diatonic set for a diatonic chord. For example, if you relate the key of C major (C D E F G A B) with the chord Cmaj7 (C E G B), the complementary set is (D F A). Elliott Carter did this a lot in his Harmony Book, making all kinds of complementarities. This works for comparing stuff. Is there something easier in the system ? For comparing a sequence of chords in relation to a sequence of tonalities for getting the difference ? (defun compare-list-pairs (list-pairs) (loop for (list1 list2) in list-pairs collect (set-difference list1 list2 :test 'equal))) (compare-list-pairs '(((c4 d4 e4) (c4 e4)) ((5 6 7 8 9) (5 7 8)))) ;> ((d4) (9 6)) If you want to work to the diatonic scales as integers, this can be useful, but maybe would be easier with embbeded tonality functions. (position-filter (pitch-to-integer '(e4 eb4 e4 eb4 b4 gb4 e4 db4)) '((0 2 4 5 7 9 11) (1 3 5 6 8 10 0) (2 4 6 7 9 11 1) (4 6 8 9 11 1 3) (5 7 9 10 0 2 4) (6 8 10 11 1 3 5) (7 9 11 0 2 4 6) (8 10 0 1 3 5 7) (9 11 1 2 4 6 😎 (10 0 2 3 5 7 9) (11 1 3 4 6 8 10))) Any idea ? Thanks !
  20. Yes, you are correct, I always try to make sure that the fault is not mine. However, there are many hidden little "secrets" that are not evident for me. In this I was interpreting :otherwise as an optional argument. I´ll never understand Opusmodus as good as you, but I like it a lot. Thanks a lot, Best Julio
  21. Now looks good. Thanks, Janusz (make-omn :length rv2 :pitch repitch2 :span :length :velocity (length-map len-map2 rv2 :otherwise '(mp) ) :articulation (length-map len-map1 rv2 :otherwise '(ord) )) result ((e e4 f stacc s g4 mf ord c5 ord) (s db4 mf ord cs5 ord gs4 ord f4 ord) (q fs4 mp ord) (-q) (-q) (s ab4 mf ord bb4 ord g4 ord gs4 ord) (s b3 mf ord d5 ord e fs4 f stacc) (-e s eb4 mf ord bb4 ord) (w d4 p<f>p long) (-q) (s c4 mf ord a4 ord d5 ord b4 ord) (h b3 p<f long) (-q) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (e bb3 f stacc c5 stacc) (s e4 mf ord e g4 f stacc s c5 mf ord) (s db4 mf ord cs5 ord e gs4 f stacc) (e fs4 f stacc s mf ord fs4 ord) (s ab4 mf ord e bb4 f stacc s g4 mf ord) (e b3 f stacc d5 stacc) (s eb4 mf ord e bb4 f stacc s eb4 mf ord) (s d4 mf ord d4 ord e f stacc) (e c4 f stacc s a4 mf ord d5 ord) (s b3 mf ord e. ord) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (s bb3 mf ord e. c5 ord) (q e4 mp ord) (q db4 mp ord) (e fs4 f stacc fs4 stacc) (q ab4 mp ord) (q b3 mp ord) (q eb4 mp ord) (e d4 f stacc d4 stacc) (e c4 f stacc a4 stacc) (s b3 mf ord e f stacc s mf ord) (s a3 mf ord a3 ord e f stacc) (e d4 f stacc s mf ord d4 ord) (s fs4 mf ord e f stacc s mf ord) (e bb3 f stacc c5 stacc) (s e4 mf ord e g4 f stacc s c5 mf ord) (s db4 mf ord cs5 ord e gs4 f stacc) (e fs4 f stacc s mf ord fs4 ord) (q ab4 mp ord) (q b3 mp ord) (s eb4 mf ord e bb4 f stacc s eb4 mf ord) (q d4 mp ord) (q c4 mp ord) (q b3 mp ord) (e. a3 mf ord s ord) (s d4 mf ord e f stacc s mf ord) (s fs4 mf ord fs4 ord e f stacc) (e bb3 f stacc s c5 mf ord bb3 ord) (s e4 mf ord e g4 f stacc s c5 mf ord) (e db4 f stacc cs5 stacc) (s fs4 mf ord e f stacc s mf ord) (s ab4 mf ord bb4 ord e g4 f stacc) (e b3 f stacc s d5 mf ord fs4 ord) (q eb4 mp ord) (-q) (-q))
  22. I though otherwise was optional. Now it´s alternating mf and mp for the 16th notes... It should be all mf for 16th notes. And the time signature is changed for the breaking of the lists (in can be solved with omn to time signature. (make-omn :length rv2 :pitch repitch2 :span :length :velocity (length-map len-map2 rv2 :otherwise '(mp) ) :articulation (length-map len-map1 rv2 :otherwise '(mp) )) ((e e4 f stacc s g4 mf mp c5 mp) (s db4 mf mp cs5 mp gs4 mp f4 mp) (q fs4 mp ord) (-q) (-q) (s ab4 mf mp bb4 mp g4 mp gs4 mp) (s b3 mf mp d5 mp e fs4 f stacc) (-e s eb4 mf mp bb4 mp) (w d4 p<f>p long) (-q) (s c4 mf mp a4 mp d5 mp b4 mp) (h b3 p<f long) (-q) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (e bb3 f stacc c5 stacc) (s e4 mf mp e g4 f stacc s c5 mf mp) (s db4 mf mp cs5 mp e gs4 f stacc) (e fs4 f stacc s mf mp fs4 mp) (s ab4 mf mp e bb4 f stacc s g4 mf mp) (e b3 f stacc d5 stacc) (s eb4 mf mp e bb4 f stacc s eb4 mf mp) (s d4 mf mp d4 mp e f stacc) (e c4 f stacc s a4 mf mp d5 mp) (s b3 mf mp e. mp) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (s bb3 mf mp e. c5 mp) (q e4 mp ord) (q db4 mp ord) (e fs4 f stacc fs4 stacc) (q ab4 mp ord) (q b3 mp ord) (q eb4 mp ord) (e d4 f stacc d4 stacc) (e c4 f stacc a4 stacc) (s b3 mf mp e f stacc s mf mp) (s a3 mf mp a3 mp e f stacc) (e d4 f stacc s mf mp d4 mp) (s fs4 mf mp e f stacc s mf mp) (e bb3 f stacc c5 stacc) (s e4 mf mp e g4 f stacc s c5 mf mp) (s db4 mf mp cs5 mp e gs4 f stacc) (e fs4 f stacc s mf mp fs4 mp) (q ab4 mp ord) (q b3 mp ord) (s eb4 mf mp e bb4 f stacc s eb4 mf mp) (q d4 mp ord) (q c4 mp ord) (q b3 mp ord) (e. a3 mf mp s mp) (s d4 mf mp e f stacc s mf mp) (s fs4 mf mp fs4 mp e f stacc) (e bb3 f stacc s c5 mf mp bb3 mp) (s e4 mf mp e g4 f stacc s c5 mf mp) (e db4 f stacc cs5 stacc) (s fs4 mf mp e f stacc s mf mp) (s ab4 mf mp bb4 mp e g4 f stacc) (e b3 f stacc s d5 mf mp fs4 mp) (q eb4 mp ord) (-q) (-q)) No nils in this list, I put the optional otherwise but still getting sometimes mf and mp in the 16th notes... (progn (setf rv2 '((1/8 1/16 1/16) (1/16 1/16 1/16 1/16) (1/4) (-1/4) (-1/4) (1/16 1/16 1/16 1/16) (1/16 1/16 1/8) (-1/8 1/16 1/16) (1) (-1/4) (1/16 1/16 1/16 1/16) (1/2) (-1/4) (1/4) (1/4) (1/4) (1/8 1/8) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/16 1/8 1/16) (1/8 1/8) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/16 3/16) (1/4) (1/4) (1/4) (1/16 3/16) (1/4) (1/4) (1/8 1/8) (1/4) (1/4) (1/4) (1/8 1/8) (1/8 1/8) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/16 1/8 1/16) (1/8 1/8) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/4) (1/4) (1/16 1/8 1/16) (1/4) (1/4) (1/4) (3/16 1/16) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/16 1/8 1/16) (1/8 1/8) (1/16 1/8 1/16) (1/16 1/16 1/8) (1/8 1/16 1/16) (1/4) (-1/4) (-1/4))) (setf repitch2 '((e4 g4 c5) (db4 cs5 gs4 f4) (fs4) (ab4 bb4 g4 gs4) (b3 d5 fs4) (eb4 bb4) (d4) (c4 a4 d5 b4) (b3) (a3) (d4) (fs4) (bb3 c5))) (setf len-map2 '((e f) (s mf) (e. mf) (h p<f) (h. p<f) (w p<f>p) (wq p<f>p) (wh p<f>p) (wh. p<f>p) (ww p<f>p))) (setf len-map1 '((e (stacc)) (q (ord)) (h (long)) (h. (long)) (w (long)))) (make-omn :length rv2 :pitch repitch2 :span :length :velocity (length-map len-map2 rv2 :otherwise '(mp) ) :articulation (length-map len-map1 rv2 :otherwise '(mp) )) ) result ((e e4 f stacc s g4 mf mp c5 mp) (s db4 mf mp cs5 mp gs4 mp f4 mp) (q fs4 mp ord) (-q) (-q) (s ab4 mf mp bb4 mp g4 mp gs4 mp) (s b3 mf mp d5 mp e fs4 f stacc) (-e s eb4 mf mp bb4 mp) (w d4 p<f>p long) (-q) (s c4 mf mp a4 mp d5 mp b4 mp) (h b3 p<f long) (-q) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (e bb3 f stacc c5 stacc) (s e4 mf mp e g4 f stacc s c5 mf mp) (s db4 mf mp cs5 mp e gs4 f stacc) (e fs4 f stacc s mf mp fs4 mp) (s ab4 mf mp e bb4 f stacc s g4 mf mp) (e b3 f stacc d5 stacc) (s eb4 mf mp e bb4 f stacc s eb4 mf mp) (s d4 mf mp d4 mp e f stacc) (e c4 f stacc s a4 mf mp d5 mp) (s b3 mf mp e. mp) (q a3 mp ord) (q d4 mp ord) (q fs4 mp ord) (s bb3 mf mp e. c5 mp) (q e4 mp ord) (q db4 mp ord) (e fs4 f stacc fs4 stacc) (q ab4 mp ord) (q b3 mp ord) (q eb4 mp ord) (e d4 f stacc d4 stacc) (e c4 f stacc a4 stacc) (s b3 mf mp e f stacc s mf mp) (s a3 mf mp a3 mp e f stacc) (e d4 f stacc s mf mp d4 mp) (s fs4 mf mp e f stacc s mf mp) (e bb3 f stacc c5 stacc) (s e4 mf mp e g4 f stacc s c5 mf mp) (s db4 mf mp cs5 mp e gs4 f stacc) (e fs4 f stacc s mf mp fs4 mp) (q ab4 mp ord) (q b3 mp ord) (s eb4 mf mp e bb4 f stacc s eb4 mf mp) (q d4 mp ord) (q c4 mp ord) (q b3 mp ord) (e. a3 mf mp s mp) (s d4 mf mp e f stacc s mf mp) (s fs4 mf mp fs4 mp e f stacc) (e bb3 f stacc s c5 mf mp bb3 mp) (s e4 mf mp e g4 f stacc s c5 mf mp) (e db4 f stacc cs5 stacc) (s fs4 mf mp e f stacc s mf mp) (s ab4 mf mp bb4 mp e g4 f stacc) (e b3 f stacc s d5 mf mp fs4 mp) (q eb4 mp ord) (-q) (-q))
  23. Dear Friends, I'm back to this topic again and revising the docs. There is an example that called my attention due to the results. Here it is (from length-map docs): (setf omn '((e c4 fff cs5 f q d4 f ds5 p s f4 p fs5 p c5 p pp) (s cs4 p f d4 f e eb5 p f4 p eb4 f h d3 p ff))) (length-map '(((s e) (stacc det)) (h (tr1 tasto+trem))) omn :otherwise 'ord :rnd t :group t) ;; First evaluation ((e c4 fff stacc cs5 f stacc q d4 ord ds5 p ord s f4 stacc fs5 stacc c5 stacc c5 pp stacc) (s cs4 p stacc f stacc d4 stacc e eb5 p stacc f4 stacc eb4 f stacc h d3 p tasto+trem ff tasto+trem)) ;; Second evaluation - completely mess the lengths ((w c4 fff tie) (wet c4 fff q.t cs5 f ord+tie) (whs cs5 f tie) (e. cs5 f wq. d4 tie) (h.t d4 ds5 p stacc+tie) (wq. ds5 p e. f4 tie) (whs f4 tie) (q.t f4 wet fs5 tie) (w fs5 hs c5 tie) (whs c5 tie) (t c5 wht pp tie) (he c5 pp h... cs4 p tie) (we.. cs4 p qs. f tie) (whs cs4 f tie) (q cs4 f wqs d4 tie) (h.s. d4 he.. eb5 p tie) (wqe. eb5 p e f4 tie) (whs f4 tie) (q... f4 ws. eb4 f tr1+tie) (ws eb4 f h d3 p tie) (whs d3 p tie) (s. d3 p wq... mf tie) (he. d3 mf)) Sometimes the evalaution returns the second example, messing with the lengths. All the best ! Julio
  24. Have you tried the pcs-sub-relation function ?

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