Jump to content

Score 139, a practical example of using OM


Recommended Posts

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy