Jump to content

Stephane Boussuge

Moderators
  • Content Count

    610
  • Joined

  • Last visited

4 Followers

About Stephane Boussuge

  • Rank
    Senior Member

Contact Methods

Profile Information

  • Gender
    Male
  • Location
    Wien Austria

Recent Profile Visitors

6,085 profile views
  1. 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
  2. Merci Jean-François ! J'espère bien te revoir bientôt ! Stéphane
  3. Here i'm applying in bar 3 soprano part the method t-3 to event 6 and event 7: (setf p01 '((-e e4 stacc g4 stacc b4 stacc s e4 fs4 leg e g4 leg fs4 b3 leg))) (setf p02 '(((leg -e b5 b5 a5 a5 eb5 q eb5 leg)))) (setf voices (counterpoint (list p01 p02) '( ((1 -) :methods (- -) :polyphony (7 o)) ((2 1) :methods (t-12 -) :polyphony (7 o)) ((2 1) :methods (((t-3 1 (6 7)) t-5) r) :polyphony (7 ?)) ))) (ps 'gm :fl (list (assemble-voices 1 voices)) :cl (list (assemble-voices 2 voices)) :tempo '(80) :time-signature '(4 4) :start 1) SB.
  4. You can also try this for fun: (setf scale '(c4 d4 e4 f4 g4 a4)) (gen-euclidean-omn 24 16 1 16 scale 's '(mf)) SB.
  5. You can also use LENGTH-DIMINUTION or LENGTH-AUGMENTATION functions. SB.
  6. This ressource is fantastically useful for me, it allow me to use Opusmodus in conjonction with Sibelius with Vienna Ensemble as sound server for both of them. The workflow is very good because i'm using only one Vienna Ensemble big template with 200 instruments (with samples unloaded, they just load when midi) and i can open in Sibelius what i did in OM and drive this Vienna template from OM or Sibelius, adding instruments, testing some orchestration etc... Thanks a lot Wim !! Stéphane
  7. Thanks a lot Torsten, i will have a closer look when i will have a bit of time. Cheers SB.
  8. excuse me if i don't understand correctly but what is the difference between revise-score-harmonically and tonality-map or harmonic-path functions from Opusmodus ? I am very interested because i'm searching always for good harmonic control over polyphony and may be revise-score-harmonically could be useful for me. All the best ! Stéphane
  9. I've made a video showing a prelude composition from originally midi imported material: https://opusmodus.com/forums/videos/view-28-composing-a-piano-prelude/ As Julio mentionned before, Unfold is also another powerful way for variations. Happy Opusmodusing !! Stéphane
  10. ;;; Classical Accompaniment Exemple ;;;--------------------------------------------------------- ;;; Parameters ;;;--------------------------------------------------------- ;;; Motif definition (setf mtf1 '((s c5 leg g5 leg e6 leg g5 c5 leg g5 leg e6 leg g5))) (setf mtf2 (pitch-transpose 4 mtf1)) (setf mtf3 '((-q e5))) (setf mtf4 '((-q g4c5))) (setf mtf5 '((q c2 -))) ;;; Chords definition (setf chords (library 'harmoprog1 'minor-4vx 'prog2)) ;;; Ostinati (setf ost1 (gen-repeat (length chords) mtf1)) (setf ost2 (gen-repeat (length chords) mtf2)) (setf ost3 (gen-repeat (length chords) mtf3)) (setf ost4 (gen-repeat (length chords) mtf4)) (setf ost5 (gen-repeat (length chords) mtf5)) ;;; Tonality-map series (setf tm-path (tonality-series chords)) ;;; Here we apply the map 'tm-path' into arpegio sequence. (setf ost1.map (tonality-map tm-path ost1)) (setf ost2.map (tonality-map tm-path ost2)) ;;; Here we apply our library chords into chord sequence. ;;; The harmonic-path preserves the voice leading. (setf ost3.map (harmonic-path chords ost3)) (setf ost4.map (harmonic-path chords ost4)) (setf ost5.map (harmonic-path chords ost5)) (setf violin1 (ambitus '(g3 c7) ost2.map)) (setf violin2 (ambitus '(g3 c6) ost1.map)) (setf viola (ambitus '(c3 e4) ost3.map)) (setf violoncello (ambitus-chord 12 (pitch-transpose -12 ost4.map))) (setf bass ost5.map) ;;;--------------------------------------------------------- ;;; Score and Layout ;;;--------------------------------------------------------- (def-score Classical-accomp (:title "Classical accompaniment example" :composer "S.Boussuge" :copyright "Copyright © 2018 s.boussuge" :key-signature 'chromatic :time-signature '((1 1 1 1) 4) :tempo 108 :layout (bracket-group (violin-layout 'violin1 :name "Violin-1") (violin-layout 'violin2 :name "Violin-2") (viola-layout 'viola) (violoncello-layout 'violoncello) (contrabass-layout 'bass) ) ) (violin1 :omn violin1 :channel 1 :sound 'gm :program 'String-Ensemble-1 :volume 100 :pan 48 :controllers (91 '(68)) ) (violin2 :omn violin2 :channel 2 :sound 'gm :program 'String-Ensemble-1 :volume 100 :pan 48 :controllers (91 '(68)) ) (viola :omn viola :channel 3 :sound 'gm :program 'String-Ensemble-1 :volume 90 :pan 64 :controllers (91 '(68)) ) (violoncello :omn violoncello :channel 4 :sound 'gm :program 'String-Ensemble-1 :volume 90 :pan 80 :controllers (91 '(68)) ) (bass :omn bass :channel 5 :sound 'gm :program 'String-Ensemble-1 :volume 90 :pan 80 :controllers (91 '(68)) ) )
  11. For searching the doc for a function in composer panel, just put the cursor on it and hit ctrl + Tab. SB.
  12. You can see the correct shortcuts in Menu "Outils" Attached to this post a short video. SB. ExempleEvaluation.mp4
  13. Si vous le souhaitez, je peux vous donner un cours en Français par Skype. https://opusmodus.com/forums/lessons/ SB.
  14. For woodwinds trio and string quartet. SB.
  15. A short piece as an Hommage to Bruno Maderna. This piece was presented in Venice Italy for the "Musica Domani" in 7th December 2019. It use a lot of new functionalities from the upcoming Opusmodus Version 1.4 . SB.
×
×
  • Create New...