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.

  • Similar Topics

    • By Richardbartlett
      I am trying to get my PIANOTEQ Instrument to be recognized when i go to play the score
      this score, is an experiment that i basically copied, changing a few parameters for diversity and fun. The PIANOTEQ Instrument works perfectly with Opusmodus except for when i go to play the score. It will play back any of the individual aspects, just not the whole score. Can someone please help. I cannot stand the sound of the GM piano
       
      score.opmo
    • By NagyMusic
      I was able to set up Logic or Opusmodus playback via IAC driver by loading a Logic setup file into my workspace (saved in Documents folder). In this way, I can audition short snippets and lines of code, which playback through Logic just fine (OMN Audition + Notation). However, I'm having difficulties with evaluating and auditioning the whole score (Evaluate Score Audition + Notation).
       
      I'm including a short code example for your reference in case you have any feedback. And here's the listener error code:
       
      > Error: OMN Parse Error: fail
      > While executing: omn-to-ast, in process Listener-8(63).
       
      Thank you for your time and help!
       
      Zvony

       
      (setf piano-righthand '((e. b4 s a4 e b4 e. d4 s g4 e b4) (e. a4 mordent2 s g4 e a4 q. d5) (e. g5 lmordent1 s fs 5 e g5 e. a4 s e5 e g5) (e. fs5 mordent1 s e5 e fs5 q. d5 tie) (q d5 t e5 leg fs5 leg g5 leg a5 leg e. b5 s g5 e d5) (q e5 t fs5 leg g5 leg a5 leg b5 leg e. c6 s a5 e e5) (e. fs5 s d5 e g5 e. a4 s b4 e c5) ((app. e c5) q._e. b4 s a4 g4 fs4) (q g4 e d5 q. g5 tie+lmordent1) (e g5 s a5 g5 fs5 e5 q. fs5 tie+lmordent2) (e. fs5 s g5 e fs5 e. e5 s cs5 e d5) (e. cs5 mordent1 s d5 e e5 q. a4 tie) (q a4 t b4 leg cs5 leg d5 leg e5 leg e. fs5 s d5 e a4) (q b4 t cs5 leg d5 leg e5 leg fs5 leg e. g5 s e5 e b4) ((app. e b4) e. cs5 s a4 e a5 e. d5 s e5 e cs5) ((app e cs5) q d5 tie h))) (setf piano-lefhand '((q g3 lmordent2 e g2 q. g3 tie+lmordent2) (q. g3 e. fs3 mordent1 s e3 e d3) (q e3 e d4 q cs4 e a3) (q._e. d4 s e4 e c4) (e. b3 s c4 e a3 e. g3 s a3 e b3) (e. c4 s d4 e b3 e. a3 s b3 e c4) (e. d4 s c4 e a3 q c4 e d4) (e. g3 s fs3 e g3 e. d3 s a3 e c4) (e. b3 mordent1 s a3 e b3 e. e3 s b3 e d4) (e. cs4 mordent1 s b3 e a3 e. d4 s cs4 e d4) (e. g3 s b3 e d4 q. g4 tie) (e g4 s a4 g4 fs4 e4 e. fs4 s g4 e a4) (e. d4 s a3 e fs3 e. d3 s e3 e fs3) (e. g3 s a3 e fs3 e. e3 s fs3 e g3) (e. a3 s g3 e fs3 e. b3 s g3 e a3) (e. d3 s fs3 e a3 q. d4))) (def-score goldberg-var7 (:title "Goldberg Variationen" :subtitle "Var 17 (extract)" :composer "J. S. Bach" :key-signature '(g major) :time-signature '(6 8) :tempo '("al tempo di Giga" e 155) :layout (piano-solo-layout 'piano-rh 'piano-lh)) (piano-rh :omn piano-righthand :port "Logic" :channel 1) (piano-lh :omn piano-lefthand) )  
       
    • By etu
      After a few days of testing and reading I'm starting to understand the power of OpusModus.  What would be beneficial to me (and perhaps other new users) is a collection of relatively simple scores.  I see references to such scores in the forums, but I cannot find them.  Perhaps they are not available in the newer versions of OpusModus?  Here is an example of a score I cannot find:
       
       
       
×
×
  • Create New...