Jump to content

opmo

Administrators
  • Posts

    2,903
  • Joined

  • Last visited

Everything posted by opmo

  1. Voices layout example: Howto/Voices.opmo
  2. I need to see the score and the layout but it looks like you have placed the right hand in left hand layout. The upbeat could be solved with time-signature (1 4 1) and then (4 4) As for the repeat and the ends (double display), please use only one repeat and ends in a combine voices.
  3. merge-voice is not working with repeats. Use layout for merge voices works much better. upbeat thing - example please.
  4. The other thing is to use repeat numbers. I will make few more examples tomorrow.
  5. (setf clr '((repeat q e5 mp ten - g3 p (leg b4 bb3) (leg g3 mp e5 >) - (acc e bb3 p) q b4 pp ten -h. (end1 h. bb5 -q) (end2 e cs5 h d6 ppp trem+fermata)) (repeat -q h. e5 p< e f5 mp> fs4 pp< cs5 d6 mp> -h (leg q._h. bb3 p e b4 stacc) - - (acc. e g5) (leg q. e5 e f6 -) (end1 -h. e cs5 d6 pp) (end2 q bb4 p trem+fermata -h.)))) (def-score repeat-and-ends (:key-signature '(c maj) :time-signature '(2 2) :tempo '(q 120)) (clarinet :omn clr :channel 1 :sound 'gm :program 'Clarinet) ) Here an example with repeat and end's with one list: (setf clr '((repeat q e5 mp ten - g3 p (leg b4 bb3) (leg g3 mp e5 >) - (acc e bb3 p) q b4 pp ten -h. (end1 h. bb5 -q) (end2 e cs5 h d6 ppp trem+fermata)) (repeat -q h. e5 p< e f5 mp> fs4 pp< cs5 d6 mp> -h (leg q._h. bb3 p e b4 stacc) - - (acc. e g5) (leg q. e5 e f6 -) (end1 -h. e cs5 d6 pp) (end2 q bb4 p trem+fermata -h.)))) (def-score repeat-and-ends (:key-signature '(c maj) :time-signature '(2 2) :tempo '(q 120)) (clarinet :omn clr :channel 1 :sound 'gm :program 'Clarinet) )
  6. If you use lists the end apples to list. (setf rechte-hand-oben '((repeat (e f3 leg g3) (q a3 stacc e f4 leg e4 q d4 e c4 leg bb3) (q a3 stacc cs4 stacc d4 stacc d4 leg) (leg q cs4 d4 e4 leg e f4 leg d4) (w e4) (h f4 g4) (h e4 q f4 stacc e4 stacc) (q f4 g4 f4 leg e4) (h. f4 leg e g4 f4) (h e4 d4) (q. e4 leg e f4 q e4 stacc gs4 stacc) (h. a4 q gs4) (end1 (h. a4)) (end2 (h. a4))) (repeat (e cs4 leg d4) (q e4 a4 = =) (w f4) (h e4 q f4 d4) (q e4 e e4 f4 g4 a4 g4 b4) (w c5) (w bb4) (h a4 g4) (h. g4 q a4) (w f4) (h. g4 q a4 tie) (q a4 h f4 q e4) (end1 (h. d4)) (end2 (h. d4))))) (setf rechte-hand-unten '((repeat (-q) (-w) (-q g3 a3 bb3) (h. a3 e a3 b3) (w cs4) (h. d4 q b3) (h c4 q c4 bb3) (q c4 stacc d4 stacc h g3) (h a3 d4) (h c4 q a3 b3) (h c4 q b3 stacc b3) (q a3 stacc e b3 stacc c4 stacc q d4 stacc b3 stacc) (end1 (h. a3)) (end2 (h. a3))) (repeat (-q) (-q cs4 d4 e4) (h. d4 e c4 d4) (h c4 q d4 stacc b3 stacc) (q c4 -h -e f4) (h e4 f4) (w e4) (q e4 f4 d4 e4) (h. cs4 q e4) (w d4) (q d4 e4 cs4 d4 tie) (q d4 h d4 q cs4 stacc) (end1 (-h.)) (end2 (-h.))))) (def-score bach-bourree (:title "Bourree" :key-signature '(d min) :time-signature '(4 4) :tempo 96 ;:layout (piano-layout 'left-hand '(right-hand-1 right-hand-2)) ) (rh-1 :omn rechte-hand-oben :channel 1 :sound 'gm :program 0) (rh-2 :omn rechte-hand-unten :channel 2 :sound 'gm :program 0) )
  7. Looks like the examples you have send it to me are from developing stages. Thank you for letting me know.
  8. The end attribute was incorrect: (setf rechte-hand-oben '((repeat (e f3 leg g3) (q a3 stacc e f4 leg e4 q d4 e c4 leg bb3) (q a3 stacc cs4 stacc d4 stacc d4 leg) (leg q cs4 d4 e4 leg e f4 leg d4) (w e4) (h f4 g4) (h e4 q f4 stacc e4 stacc) (q f4 g4 f4 leg e4) (h. f4 leg e g4 f4) (h e4 d4) (q. e4 leg e f4 q e4 stacc gs4 stacc) (end1 (h. a4)) (end2 (h. a4))))) You can fine many answers in How To examples.
  9. I am in Salzburg today. I will release the new update as soon I am back in my studio - tomorrow :-)
  10. Thank you Joost for your analyses. I too think we might need a short introduction to Common Lisp. In the video section you will find two 'Getting Started' videos. One of them talks about exactly that - basis lisp and how to use.
  11. The snippet notation and audition is working and I don't see here any error. To hear or display the arpeg0 expression, evaluate the p_arp0, l_arp0 and d_arp0 first, then select the expression: (setf p_arp0 '(c4 cs4 fs4 g4 c5)) (setf l_arp0 (span p_arp0 '(e))) (setf d_arp0 '(p< < < < ff)) (setf arpeg0 (make-omn :length l_arp0 :pitch p_arp0 :velocity d_arp0))You can't put a variable into OMN form list. (setf p_arp1 '(eb4e4gs4a4d5)) (setf arp1 '(w p_arp1 arp))This is correct: (w eb4e4gs4a4d5 arp)Check the OMN The Language documents. As for variable assembly please check the ASSEMBLE-SECTION and ASSEMBLE-SEQ function documents. You find the documents in the System Library - 1st button on the right - or use the search input - last button on the right.
  12. I have created new function AMBITUS-SWALLOW which is doing what you are looking for. The function AMBITUS-PITCH-REMOVE has new name AMBITUS-REMOVE. ambitus-swallow range omn-sequence &key section [Function] Arguments and Values: range an integer (low high), a pitch symbol (low high) or instrument-name. omn-list omn sequence section an integer (list number selection). Description: This function swallows pitches, velocities and articulations from the omn-sequence which are outside the given range. The length of the removed pitch is inverted into rest-length. The span of the sequence stays unchanged. Examples: (ambitus-swallow '(-11 21) '((q c4ds3 e c4 c-1 q d5 g9) (q c4 e d6 = = = c8 q d5 g9))) => ((q c4ds3 e c4 - q d5 -) (q c4 -e - - - - q d5 -)) With section: Only the first list is processed (0-based). (ambitus-swallow '(db3 a5) '((q c4ds3 e c4 c-1 q d5 g9) (q c4 e d6 = = = c8 q d5 g9)) :section '(0)) => ((q c4ds3 e c4 - q d5 -) (q c4 e d6 = = = c8 q d5 g9)) (ambitus-swallow '(c4 f4) '((e c4e4g4 h_e c5) (q c4 = = - - =) (q cs4 = - - = =) (e c4 db4d4eb4 d4 db4 c4 cs5) (e c4 e4 g4 h_e c5) (q c4 = = - - =) (q cs4 = - - = =) (e c4 db4d6 d4 db4 c4 cs5))) => ((e c4e4 -h_e) (q c4 c4 c4 - - c4) (q cs4 cs4 - - cs4 cs4) (e c4 db4d4eb4 d4 db4 c4 -) (e c4 e4 - -h_e) (q c4 c4 c4 - - c4) (q cs4 cs4 - - cs4 cs4) (e c4 db4 d4 db4 c4 -))
  13. In your score you force the (8 8) time signature and not the length lists time signature.
  14. Please send me the score then I can explain why :-)
  15. I could write a function that tests the length lists that would make the correction to fit the list to the closest time signature, or you could use the LENGTH-SPAN function to make sure the lists are span correctly.
  16. One of the lengths can't be expressed in time signature: (get-span '(1/12 1/4 1/6 1/12 -1/4 1/6 -1/12)) => 13/12
  17. Solution: (pitch-transpose-start 'c5 (integer-to-pitch '(0 4 5 9 11))) => (c5 e5 f5 a5 b5) with &key (defun mapping-integers (l &key start) (if start (pitch-transpose-start start (integer-to-pitch l)) (integer-to-pitch l))) (mapping-integers '(0 4 5 9 11) :start 'c5) => (c5 e5 f5 a5 b5) with &optional (defun mapping-integers2 (l &optional start) (if start (pitch-transpose-start start (integer-to-pitch l)) (integer-to-pitch l))) (mapping-integers2 '(0 4 5 9 11) 'c5) => (c5 e5 f5 a5 b5)
  18. Opusmodus notation is designed in first place to help the composer with the work. To make this kind change to the notation you will need to use a dedicated scorewriter software like Sibelius or Finale.
  19. Yes the output is correct. The expression you have created outputs two pitch lists: (setf back-and-forth-p (assemble-seq pitches (reverse pitches))) The 2 pitch lists are span one by one to the length lists in a loop. 1st length list takes the 4 pitches from the 1st list. 2nd length list are rests. 3rd length list takes the pitches from the 2nd pitch list. 4th length list are rests. 5th length list takes the pitches from the 1st pitch list and so on. Good start to understand how we process lists in Opusmodus is study the SPAN function documentation. The are many ways how to sync the lists. In your case you could FLATTEN the pitch lists to one list: (setf back-and-forth-p (flatten (assemble-seq pitches (reverse pitches)))) or you could do that directly in the function MAKE-OMN with additional keyword flat: (make-omn :length back-and-forth-rh :pitch back-and-forth-p :flat t) The :span :length is not need it here - the default is :span :length Example with SPAN: (span back-and-forth-rh back-and-forth-p :flat t)
  20. Please read the posts, I have already showed you how to use the library before. (expand-chord-name (library 'modes 'iran 'dastgah-mahur) :type :pitch)This can be found in the Modes Library: ;;;--------------------------------------------------------- ;;; EXAMPLES ;;;--------------------------------------------------------- ;; With Plist (library 'modes 'acoustic 'modus-conjunctus) ;; With in OMN (no quotes) list. (library modes acoustic modus-conjunctus) ;; Expand librery (expand-libraries '(library modes acoustic modus-conjunctus)) ;; Random selection and expand (expand-chord-name (library 'modes 'acoustic nil :random 2) :type :pitch)
  21. This is correct, your list is 93/16 long. I suggest to learn and start work with bars (lists) - this is not a limitation of OMN, it is more about how you use or not use Opusmodus. Use music terminology when searching and look for solution in System Library. Check the scores from Nigel and Stephane - open in composer panel and examine the steps and the functions.
  22. The NREVERSE was the problem. You should use REVERSE or PITCH-RETROGRADE. (setf primzahlen-ab-drei (cdr (primes 8))) (setf pausen (gen-repeat (length primzahlen-ab-drei) '(-3))) (setf values (flatten (gen-mix primzahlen-ab-drei pausen))) (defun make-pattern (n) (cond ((equal n 0) nil) ((minusp n) (list -1/16 -1/16 -1/16)) (t (cons 1/16 (make-pattern (- n 1)))))) (setf sechzentel (flatten (mapcar #'make-pattern values))) (setf hin-u-zurueck-rhy (assemble-seq sechzentel (reverse (butlast sechzentel)))) (setf modulationen '(3 5 3 4 3 6 2 7 4 2 3 4 6 4 6 5 4 2 2)) (defun make-pitch (n) (cond ((equal n 0) nil) (t (cons 'c4d4 (make-pitch (- n 1)))))) (setf modu2 (mapcar #'make-pitch modulationen)) (setf tonhoehen (flatten (pitch-transpose modulationen modu2))) (setf hin-u-zurueck-toene (assemble-seq tonhoehen (reverse tonhoehen))) (make-omn :length hin-u-zurueck-rhy :pitch hin-u-zurueck-toene :span :pitch )
  23. The output you get is correct. s1u = '(c4 cs4 fs4 g4) (def-library slonimsky (:section tritone s1u '(c4 cs4 fs4 g4) s1d '(c5 g4 fs4 cs4) s2u '(c4 d4 fs4 gs4) s2d '(c5 gs4 fs4 d4) s3u '(c4 e4 fs4 as4) s3d '(c5 as4 fs4 e4) ... In modes library acoustic-scale = acoustic-scale. Modes library is made for TONALITY-MAP or TONALIT-SERIES functions. (def-library modes (:section acoustic acoustic-scale 'acoustic-scale anhemitonic-hexatonic 'anhemitonic-hexatonic heptonia-seconda 'heptonia-seconda modus-conjunctus 'modus-conjunctus protus-authentus 'protus-authentus pelog 'pelog pyramid-hexatonic 'pyramid-hexatonic symmetrical-decatonic 'symmetrical-decatonic synthetic-mixture-s5 'synthetic-mixture-s5) ... Opusmodus version 1.0.15710 allows you to do what you are looking for: (expand-chord-name (library 'modes 'pentatonic 'pentatonic) :type :pitch) => (c4 d4 f4 g4 a4) (expand-chord-name (library 'modes 'messiaen 'messiaen-mode1) :type :pitch) => (c4 d4 e4 fs4 gs4 bb4)
×
×
  • Create New...

Important Information

Terms of Use Privacy Policy