Stephane Boussuge Posted March 20, 2020 Posted March 20, 2020 Hi, here's an example showing many possible techniques in OM like pattern matching articulations, chaining sections, row segmentation, reservoir/cells based approach etc.... SB. ;;; ================================== ;;; SCORE 139 ;;; SB.20.03.2020 ;;; COPYRIGHT 2020 S.BOUSSUGE ;;; ================================== ;;; KEYWORDS: strings quartet pcs pitch class set sets reservoir ;;; ================================== ;;; GLOBAL PARAMETERS ;;;================== ;;; LENGTH (setf lenres1 '((w)(h h)(h -q q)(q h -q)(-q q q -q)(-q h -q))) (setf lenres2 (append lenres1 '((e e q h)(e e e e -q e e)(s s s s q -e s s q)(3q = = q -q)(q e e)(e. s q -q)))) (setf lenres3 (append lenres2 '((5q = = = = q -e s s)(s s s s s s s s q e e)))) (setf lenres4 (butlast (reverse lenres3) 3)) (setf lenres5 (butlast (reverse lenres3) 6)) (setf lenres6 (butlast (reverse lenres3) 10)) ;;; PITCH (setf pmat (rnd-row :type :pitch)) (setf set1 (subseq pmat 0 4)) (setf set2 (subseq pmat 4 9)) (setf set3 (subseq pmat 6)) (setf set4 (subseq pmat 2 10)) (setf set5 (subseq pmat 0 9)) (setf set6 (subseq pmat 4)) ;;; DYNAMIC (setf velres1 '((ppp)(pp)(p))) (setf velres2 '((pp)(p)(mp))) (setf velres3 '((p)(mp)(mf))) (setf velres4 '((mp)(mf)(f))) (setf velres5 '((mf)(f))) (setf velres6 '((f))) ;;; ARTICULATION (setf articulation-map1 '( ;; mapping on reservoir motives ((w)(ord)) ((h h)(ord ord)) ((h -q q)(ord stacc)) ((q h -q)(ord ord)) ((-q q q -q)(ord ord)) ((-q h -q)(ord)) ((e e q h)(leg ord stacc ord)) ((e e e e -q e e)(leg ord leg ord stacc stacc)) ((s s s s q -e s s q)(leg leg leg ord marc stacc stacc marc)) ((3q = = q -q)(leg leg ord ord)) ((q e e)(stacc leg ord)) ((e. s q -q)(ord stacc ord)) ((5q = = = = q -e s s)(leg leg leg leg ord stacc leg ord)) ((s s s s s s s s q e e)(leg leg leg ord leg leg leg ord stacc leg ord)) ;; complementary utils mapping ((s s s s)(leg leg leg ord)) ((5q = = = =)(leg leg leg leg ord)) ((e e)(leg ord)) ((3q = =)(leg leg ord)) )) ;;; SECTIONS SIZES (setf s1.size 12) (setf s2.size 12) (setf s3.size 12) (setf s4.size 12) (setf s5.size 12) (setf s6.size 12) ;;; SECTIONS TEMPI (setf s1.tempo `("Calme" q 72 ,s1.size)) (setf s2.tempo `("Modéré" q 92 ,s2.size)) (setf s3.tempo `("Vif" q 102 ,s3.size)) (setf s4.tempo `("Décidé" q 108 ,s4.size)) (setf s5.tempo `("Vif" q 112 ,s5.size)) (setf s6.tempo `("Vif" q 112 ,s6.size)) ;;; SECTIONS INSTRUMENTS LOCAL TRANSPOSITIONS ;;; section 1 (setf s1-i1tp (rnd-number s1.size -6 6)) (setf s1-i2tp s1-i1tp) (setf s1-i3tp s1-i1tp) (setf s1-i4tp s1-i1tp) ;;; section 2 (setf s2-i1tp (rnd-number s2.size -6 6)) (setf s2-i2tp (rnd-number s2.size -6 6)) (setf s2-i3tp s2-i1tp) (setf s2-i4tp s2-i1tp) ;;; section 3 (setf s3-i1tp (rnd-number s3.size -6 6)) (setf s3-i2tp (rnd-number s3.size -6 6)) (setf s3-i3tp (rnd-number s3.size -6 6)) (setf s3-i4tp (rnd-number s3.size -6 6)) ;;; section 4 (setf s4-i1tp (rnd-number s4.size -6 6)) (setf s4-i2tp (rnd-number s4.size -6 6)) (setf s4-i3tp (rnd-number s4.size -6 6)) (setf s4-i4tp (rnd-number s4.size -6 6)) ;;; section 5 (setf s5-i1tp (rnd-number s5.size -6 6)) (setf s5-i2tp (rnd-number s5.size -6 6)) (setf s5-i3tp (rnd-number s5.size -6 6)) (setf s5-i4tp (rnd-number s5.size -6 6)) ;;; section 6 (setf s6-i1tp (rnd-number s6.size -6 6)) (setf s6-i2tp (rnd-number s6.size -6 6)) (setf s6-i3tp (rnd-number s6.size -6 6)) (setf s6-i4tp (rnd-number s6.size -6 6)) ;;; SECTION GLOBAL TRANSPOSITIONS ;;; section 1 (setf s1-gtp (rnd-number s1.size -6 6)) ;;; section 2 (setf s2-gtp (rnd-number s2.size -6 6)) ;;; section 1 (setf s3-gtp (rnd-number s3.size -6 6)) ;;; section 1 (setf s4-gtp (rnd-number s4.size -6 6)) ;;; section 1 (setf s5-gtp (rnd-number s5.size -6 6)) ;;; section 1 (setf s6-gtp (rnd-number s6.size -6 6)) ;;; SECTION GROUP INSTRUMENTATIONS (Play/Mute system) ;;; section 1 (setf s1-i1pm (gen-trim s1.size '(-))) (setf s1-i2pm (gen-trim s1.size '(-))) (setf s1-i3pm (gen-trim s1.size '(-))) (setf s1-i4pm (gen-trim s1.size '(-))) ;;; section 2 (setf s2-i1pm (gen-trim s2.size '(-))) (setf s2-i2pm (gen-trim s2.size '(-))) (setf s2-i3pm (gen-trim s2.size '(-))) (setf s2-i4pm (gen-trim s2.size '(-))) ;;; section 3 (setf s3-i1pm (rnd-sample s3.size '(- - x))) (setf s3-i2pm (rnd-sample s3.size '(- - x))) (setf s3-i3pm (rnd-sample s3.size '(- - x))) (setf s3-i4pm (rnd-sample s3.size '(- - x))) ;;; section 4 (setf s4-i1pm (rnd-sample s4.size '(- - x))) (setf s4-i2pm (rnd-sample s4.size '(- - x))) (setf s4-i3pm (rnd-sample s4.size '(- - x))) (setf s4-i4pm (rnd-sample s4.size '(- - x))) ;;; section 5 (setf s5-i1pm (rnd-sample s5.size '(- - x))) (setf s5-i2pm (rnd-sample s5.size '(- - x))) (setf s5-i3pm (rnd-sample s5.size '(- - x))) (setf s5-i4pm (rnd-sample s5.size '(- - x))) ;;; section 6 (setf s6-i1pm (rnd-sample s6.size '(- - x))) (setf s6-i2pm (rnd-sample s6.size '(- - x))) (setf s6-i3pm (rnd-sample s6.size '(- - x))) (setf s6-i4pm (rnd-sample s6.size '(- - x))) ;;; PROCESS ;;;======== ;;; SECTION 1 ;;; =================== (setf vn1-1 (make-omn :length (setf len (rnd-sample s1.size lenres1)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set1))) :velocity (rnd-sample (length len) velres1) :articulation (pattern-map articulation-map1 len :otherwise '(ord)) )) (setf spn1 (get-span vn1-1)) (setf vn2-1 (length-span spn1 (make-omn :length (setf len (rnd-sample s1.size lenres1)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set1))) :velocity (rnd-sample (length len) velres1) :articulation (pattern-map articulation-map1 len :otherwise '(ord)) ))) (setf vla-1 (length-span spn1 (make-omn :length (setf len (rnd-sample s1.size lenres1)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set1))) :velocity (rnd-sample (length len) velres1) :articulation (pattern-map articulation-map1 len :otherwise '(ord)) ))) (setf vlc-1 (length-span spn1 (make-omn :length (setf len (rnd-sample s1.size lenres1)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set1))) :velocity (rnd-sample (length len) velres1) :articulation (pattern-map articulation-map1 len :otherwise '(ord)) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-1.itp (pitch-transpose s1-i1tp vn1-1)) (setf vn2-1.itp (pitch-transpose s1-i2tp vn2-1)) (setf vla-1.itp (pitch-transpose s1-i3tp vla-1)) (setf vlc-1.itp (pitch-transpose s1-i4tp vlc-1)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-1.gtp (pitch-transpose s1-gtp vn1-1.itp)) (setf vn2-1.gtp (pitch-transpose s1-gtp vn2-1.itp)) (setf vla-1.gtp (pitch-transpose s1-gtp vla-1.itp)) (setf vlc-1.gtp (pitch-transpose s1-gtp vlc-1.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-1.r (omn :length vn1-1.gtp)) (setf vn2-1.r (omn :length vn2-1.gtp)) (setf vla-1.r (omn :length vla-1.gtp)) (setf vlc-1.r (omn :length vlc-1.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-1.arl (pattern-map articulation-map1 vn1-1.r :otherwise '(ord))) (setf vn2-1.arl (pattern-map articulation-map1 vn2-1.r :otherwise '(ord))) (setf vla-1.arl (pattern-map articulation-map1 vla-1.r :otherwise '(ord))) (setf vlc-1.arl (pattern-map articulation-map1 vlc-1.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-1.a (omn-replace :articulation vn1-1.arl vn1-1.gtp)) (setf vn2-1.a (omn-replace :articulation vn2-1.arl vn2-1.gtp)) (setf vla-1.a (omn-replace :articulation vla-1.arl vla-1.gtp)) (setf vlc-1.a (omn-replace :articulation vlc-1.arl vlc-1.gtp)) ;;; SECTION OUTPUT (setf vn1-1e vn1-1.a) (setf vn2-1e vn2-1.a) (setf vla-1e vla-1.a) (setf vlc-1e vlc-1.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-1e ,s1-i1pm vn2-1e ,s1-i2pm vla-1e ,s1-i3pm vlc-1e ,s1-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SECTION 2 ;;; =================== (setf vn1-2 (make-omn :length (setf len (rnd-sample s2.size lenres2)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set2))) :velocity (rnd-sample (length len) velres2) )) (setf spn2 (get-span vn1-2)) (setf vn2-2 (length-span spn2 (make-omn :length (setf len (rnd-sample s2.size lenres2)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set2))) :velocity (rnd-sample (length len) velres2) ))) (setf vla-2 (length-span spn2 (make-omn :length (setf len (rnd-sample s2.size lenres2)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set2))) :velocity (rnd-sample (length len) velres2) ))) (setf vlc-2 (length-span spn2 (make-omn :length (setf len (rnd-sample s2.size lenres2)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set2))) :velocity (rnd-sample (length len) velres2) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-2.itp (pitch-transpose s2-i1tp vn1-2)) (setf vn2-2.itp (pitch-transpose s2-i2tp vn2-2)) (setf vla-2.itp (pitch-transpose s2-i3tp vla-2)) (setf vlc-2.itp (pitch-transpose s2-i4tp vlc-2)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-2.gtp (pitch-transpose s2-gtp vn1-2.itp)) (setf vn2-2.gtp (pitch-transpose s2-gtp vn2-2.itp)) (setf vla-2.gtp (pitch-transpose s2-gtp vla-2.itp)) (setf vlc-2.gtp (pitch-transpose s2-gtp vlc-2.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-2.r (omn :length vn1-2.gtp)) (setf vn2-2.r (omn :length vn2-2.gtp)) (setf vla-2.r (omn :length vla-2.gtp)) (setf vlc-2.r (omn :length vlc-2.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-2.arl (pattern-map articulation-map1 vn1-2.r :otherwise '(ord))) (setf vn2-2.arl (pattern-map articulation-map1 vn2-2.r :otherwise '(ord))) (setf vla-2.arl (pattern-map articulation-map1 vla-2.r :otherwise '(ord))) (setf vlc-2.arl (pattern-map articulation-map1 vlc-2.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-2.a (omn-replace :articulation vn1-2.arl vn1-2.gtp)) (setf vn2-2.a (omn-replace :articulation vn2-2.arl vn2-2.gtp)) (setf vla-2.a (omn-replace :articulation vla-2.arl vla-2.gtp)) (setf vlc-2.a (omn-replace :articulation vlc-2.arl vlc-2.gtp)) ;;; SECTION OUTPUT (setf vn1-2e vn1-2.a) (setf vn2-2e vn2-2.a) (setf vla-2e vla-2.a) (setf vlc-2e vlc-2.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-2e ,s2-i1pm vn2-2e ,s2-i2pm vla-2e ,s2-i3pm vlc-2e ,s2-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SECTION 3 ;;; =================== (setf vn1-3 (make-omn :length (setf len (rnd-sample s3.size lenres3)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set3))) :velocity (rnd-sample (length len) velres3) )) (setf spn3 (get-span vn1-3)) (setf vn2-3 (length-span spn3 (make-omn :length (setf len (rnd-sample s3.size lenres3)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set3))) :velocity (rnd-sample (length len) velres3) ))) (setf vla-3 (length-span spn3 (make-omn :length (setf len (rnd-sample s3.size lenres3)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set3))) :velocity (rnd-sample (length len) velres3) ))) (setf vlc-3 (length-span spn3 (make-omn :length (setf len (rnd-sample s3.size lenres3)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set3))) :velocity (rnd-sample (length len) velres3) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-3.itp (pitch-transpose s3-i1tp vn1-3)) (setf vn2-3.itp (pitch-transpose s3-i2tp vn2-3)) (setf vla-3.itp (pitch-transpose s3-i3tp vla-3)) (setf vlc-3.itp (pitch-transpose s3-i4tp vlc-3)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-3.gtp (pitch-transpose s3-gtp vn1-3.itp)) (setf vn2-3.gtp (pitch-transpose s3-gtp vn2-3.itp)) (setf vla-3.gtp (pitch-transpose s3-gtp vla-3.itp)) (setf vlc-3.gtp (pitch-transpose s3-gtp vlc-3.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-3.r (omn :length vn1-3.gtp)) (setf vn2-3.r (omn :length vn2-3.gtp)) (setf vla-3.r (omn :length vla-3.gtp)) (setf vlc-3.r (omn :length vlc-3.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-3.arl (pattern-map articulation-map1 vn1-3.r :otherwise '(ord))) (setf vn2-3.arl (pattern-map articulation-map1 vn2-3.r :otherwise '(ord))) (setf vla-3.arl (pattern-map articulation-map1 vla-3.r :otherwise '(ord))) (setf vlc-3.arl (pattern-map articulation-map1 vlc-3.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-3.a (omn-replace :articulation vn1-3.arl vn1-3.gtp)) (setf vn2-3.a (omn-replace :articulation vn2-3.arl vn2-3.gtp)) (setf vla-3.a (omn-replace :articulation vla-3.arl vla-3.gtp)) (setf vlc-3.a (omn-replace :articulation vlc-3.arl vlc-3.gtp)) ;;; SECTION OUTPUT (setf vn1-3e vn1-3.a) (setf vn2-3e vn2-3.a) (setf vla-3e vla-3.a) (setf vlc-3e vlc-3.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-3e ,s3-i1pm vn2-3e ,s3-i2pm vla-3e ,s3-i3pm vlc-3e ,s3-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SECTION 4 ;;; =================== (setf vn1-4 (make-omn :length (setf len (rnd-sample s4.size lenres4)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 12 set4))) :velocity (rnd-sample (length len) velres4) )) (setf spn4 (get-span vn1-4)) (setf vn2-4 (length-span spn4 (make-omn :length (setf len (rnd-sample s4.size lenres4)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set4))) :velocity (rnd-sample (length len) velres4) ))) (setf vla-4 (length-span spn4 (make-omn :length (setf len (rnd-sample s4.size lenres4)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set4))) :velocity (rnd-sample (length len) velres4) ))) (setf vlc-4 (length-span spn4 (make-omn :length (setf len (rnd-sample s4.size lenres4)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set4))) :velocity (rnd-sample (length len) velres4) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-4.itp (pitch-transpose s4-i1tp vn1-4)) (setf vn2-4.itp (pitch-transpose s4-i2tp vn2-4)) (setf vla-4.itp (pitch-transpose s4-i3tp vla-4)) (setf vlc-4.itp (pitch-transpose s4-i4tp vlc-4)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-4.gtp (pitch-transpose s4-gtp vn1-4.itp)) (setf vn2-4.gtp (pitch-transpose s4-gtp vn2-4.itp)) (setf vla-4.gtp (pitch-transpose s4-gtp vla-4.itp)) (setf vlc-4.gtp (pitch-transpose s4-gtp vlc-4.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-4.r (omn :length vn1-4.gtp)) (setf vn2-4.r (omn :length vn2-4.gtp)) (setf vla-4.r (omn :length vla-4.gtp)) (setf vlc-4.r (omn :length vlc-4.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-4.arl (pattern-map articulation-map1 vn1-4.r :otherwise '(ord))) (setf vn2-4.arl (pattern-map articulation-map1 vn2-4.r :otherwise '(ord))) (setf vla-4.arl (pattern-map articulation-map1 vla-4.r :otherwise '(ord))) (setf vlc-4.arl (pattern-map articulation-map1 vlc-4.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-4.a (omn-replace :articulation vn1-4.arl vn1-4.gtp)) (setf vn2-4.a (omn-replace :articulation vn2-4.arl vn2-4.gtp)) (setf vla-4.a (omn-replace :articulation vla-4.arl vla-4.gtp)) (setf vlc-4.a (omn-replace :articulation vlc-4.arl vlc-4.gtp)) ;;; SECTION OUTPUT (setf vn1-4e vn1-4.a) (setf vn2-4e vn2-4.a) (setf vla-4e vla-4.a) (setf vlc-4e vlc-4.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-4e ,s4-i1pm vn2-4e ,s4-i2pm vla-4e ,s4-i3pm vlc-4e ,s4-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SECTION 5 ;;; =================== (setf vn1-5 (make-omn :length (setf len (rnd-sample s5.size lenres5)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 12 set5))) :velocity (rnd-sample (length len) velres5) )) (setf spn5 (get-span vn1-5)) (setf vn2-5 (length-span spn5 (make-omn :length (setf len (rnd-sample s5.size lenres5)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 12 set5))) :velocity (rnd-sample (length len) velres5) ))) (setf vla-5 (length-span spn5 (make-omn :length (setf len (rnd-sample s5.size lenres5)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set5))) :velocity (rnd-sample (length len) velres5) ))) (setf vlc-5 (length-span spn5 (make-omn :length (setf len (rnd-sample s5.size lenres5)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set5))) :velocity (rnd-sample (length len) velres5) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-5.itp (pitch-transpose s5-i1tp vn1-5)) (setf vn2-5.itp (pitch-transpose s5-i2tp vn2-5)) (setf vla-5.itp (pitch-transpose s5-i3tp vla-5)) (setf vlc-5.itp (pitch-transpose s5-i4tp vlc-5)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-5.gtp (pitch-transpose s5-gtp vn1-5.itp)) (setf vn2-5.gtp (pitch-transpose s5-gtp vn2-5.itp)) (setf vla-5.gtp (pitch-transpose s5-gtp vla-5.itp)) (setf vlc-5.gtp (pitch-transpose s5-gtp vlc-5.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-5.r (omn :length vn1-5.gtp)) (setf vn2-5.r (omn :length vn2-5.gtp)) (setf vla-5.r (omn :length vla-5.gtp)) (setf vlc-5.r (omn :length vlc-5.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-5.arl (pattern-map articulation-map1 vn1-5.r :otherwise '(ord))) (setf vn2-5.arl (pattern-map articulation-map1 vn2-5.r :otherwise '(ord))) (setf vla-5.arl (pattern-map articulation-map1 vla-5.r :otherwise '(ord))) (setf vlc-5.arl (pattern-map articulation-map1 vlc-5.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-5.a (omn-replace :articulation vn1-5.arl vn1-5.gtp)) (setf vn2-5.a (omn-replace :articulation vn2-5.arl vn2-5.gtp)) (setf vla-5.a (omn-replace :articulation vla-5.arl vla-5.gtp)) (setf vlc-5.a (omn-replace :articulation vlc-5.arl vlc-5.gtp)) ;;; SECTION OUTPUT (setf vn1-5e vn1-5.a) (setf vn2-5e vn2-5.a) (setf vla-5e vla-5.a) (setf vlc-5e vlc-5.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-5e ,s5-i1pm vn2-5e ,s5-i2pm vla-5e ,s5-i3pm vlc-5e ,s5-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SECTION 6 ;;; =================== (setf vn1-6 (make-omn :length (setf len (rnd-sample s6.size lenres6)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set6))) :velocity (rnd-sample (length len) velres6) )) (setf spn6 (get-span vn1-6)) (setf vn2-6 (length-span spn6 (make-omn :length (setf len (rnd-sample s6.size lenres6)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose 0 set6))) :velocity (rnd-sample (length len) velres6) ))) (setf vla-6 (length-span spn6 (make-omn :length (setf len (rnd-sample s6.size lenres6)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -12 set6))) :velocity (rnd-sample (length len) velres6) ))) (setf vlc-6 (length-span spn6 (make-omn :length (setf len (rnd-sample s6.size lenres6)) :pitch (span len (rnd-sample (length (flatten len)) (pitch-transpose -24 set6))) :velocity (rnd-sample (length len) velres6) ))) ;;; SECTION LOCAL INSTRUMENTS TRANSPOSITIONS (setf vn1-6.itp (pitch-transpose s6-i1tp vn1-6)) (setf vn2-6.itp (pitch-transpose s6-i2tp vn2-6)) (setf vla-6.itp (pitch-transpose s6-i3tp vla-6)) (setf vlc-6.itp (pitch-transpose s6-i4tp vlc-6)) ;;; SECTION GLOBAL TRANSPOSITION (setf vn1-6.gtp (pitch-transpose s6-gtp vn1-6.itp)) (setf vn2-6.gtp (pitch-transpose s6-gtp vn2-6.itp)) (setf vla-6.gtp (pitch-transpose s6-gtp vla-6.itp)) (setf vlc-6.gtp (pitch-transpose s6-gtp vlc-6.itp)) ;;; GET THE LENGTH FOR APPLYING PATTERN MATCHING ARTICULATIONS PROCESS (setf vn1-6.r (omn :length vn1-6.gtp)) (setf vn2-6.r (omn :length vn2-6.gtp)) (setf vla-6.r (omn :length vla-6.gtp)) (setf vlc-6.r (omn :length vlc-6.gtp)) ;;; GENERATE ARTICULATIONS LIST BASED ON PATTERN MATCHING (setf vn1-6.arl (pattern-map articulation-map1 vn1-6.r :otherwise '(ord))) (setf vn2-6.arl (pattern-map articulation-map1 vn2-6.r :otherwise '(ord))) (setf vla-6.arl (pattern-map articulation-map1 vla-6.r :otherwise '(ord))) (setf vlc-6.arl (pattern-map articulation-map1 vlc-6.r :otherwise '(ord))) ;;; ADDING(REPLACING) ARTICULATIONS (setf vn1-6.a (omn-replace :articulation vn1-6.arl vn1-6.gtp)) (setf vn2-6.a (omn-replace :articulation vn2-6.arl vn2-6.gtp)) (setf vla-6.a (omn-replace :articulation vla-6.arl vla-6.gtp)) (setf vlc-6.a (omn-replace :articulation vlc-6.arl vlc-6.gtp)) ;;; SECTION OUTPUT (setf vn1-6e vn1-6.a) (setf vn2-6e vn2-6.a) (setf vla-6e vla-6.a) (setf vlc-6e vlc-6.a) ;;; PLAY/MUTE SYSTEM (do-timeline `( vn1-6e ,s6-i1pm vn2-6e ,s6-i2pm vla-6e ,s6-i3pm vlc-6e ,s6-i4pm ) '(gen-pause x) ) ;;; ==================== ;;; SCORING ;;; ======= ;; THIS PARTICULAR DISPOSITION ALLOW TO COMMENT SOME SECTION LIKE HERE SECTION 5 (AS AN EXAMPLE) (setf vn1 (ambitus 'violin (assemble-seq vn1-1e vn1-2e vn1-3e vn1-4e ;vn1-5e vn1-6e ))) (setf vn2 (ambitus 'violin (assemble-seq vn2-1e vn2-2e vn2-3e vn2-4e ;vn2-5e vn2-6e ))) (setf vla (ambitus 'viola (assemble-seq vla-1e vla-2e vla-3e vla-4e ;vla-5e vla-6e ))) (setf vlc (ambitus 'violoncello (assemble-seq vlc-1e vlc-2e vlc-3e vlc-4e ;vlc-5e vlc-6e ))) (setf tempo-events (list s1.tempo s2.tempo s3.tempo s4.tempo ;s5.tempo s6.tempo )) (ps 'gm :sq (list vn1 vn2 vla vlc) :tempo tempo-events :time-signature (get-time-signature vn1) :flexible-clef nil ) ;;; =============== END OF FILE ================ SB. Score139.opmo Jorgalad, opmo, AM and 1 other 4 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.