Jump to content

Kyrie from "Messe Brève En Forme de Haikus"


Recommended Posts

Kyrie 

from "Messe Brève En Forme de Haikus".

 

Global Pitch definition. Basic row (with D minor notes every 2 notes)

(setf row '(d4 fs4 f4 cs4 g4 gs4 a4 ds4 as4 e4 c5 b4))

 

Utility function

(defun collect-every-n (steps list)
  (loop
    for n from 0 to (- (length list)1) by steps
    collect (nth n list)))

 

Global ambitus definition

(setf sopamb '(d4 g5))
(setf altamb '(a3 c5))
(setf tenamb '(c3 c4))
(setf bassamb '(g2 g3))

 

Kyrie part-1 (canon)

Pitch definition
(setf pl1a (collect-every-n 2 row))

 

Rotations for other voices

(setf pl1b (gen-rotate 2 pl1a))
(setf pl1c (gen-rotate 4 pl1a))
(setf pl1d (gen-rotate 6 pl1a))

 

Lengths definition

(setf basery1 '(q q q q q q -e e e e q -q))
(setf rl1d (append '(-w -h) (gen-rotate 6 basery1)))
(setf rl1c (length-span (get-span rl1d) (append '(-w) (gen-rotate 4 basery1))))
(setf rl1b (length-span (get-span rl1d) (append '(-h) (gen-rotate 2 basery1))))
(setf rl1a (length-span (get-span rl1d) basery1))

 

OMN assembly

(setf p1a (make-omn :pitch pl1a :length rl1a))
(setf p1b (make-omn :pitch pl1b :length rl1b))
(setf p1c (make-omn :pitch pl1c :length rl1c))
(setf p1d (make-omn :pitch pl1d :length rl1d))

 

Voices

(setf lsop1 (ambitus '(d4 g5) (filter-tie p1a)))
(setf lalt1 (ambitus '(a3 c5) (filter-tie p1b)))
(setf lten1 (ambitus '(c3 c4) (filter-tie p1c)))
(setf lbas1 (ambitus '(g2 g3) (filter-tie p1d)))

 

Christe part-2 (tutti)

Pitch definition
(setf pl2a (subseq row 0 6))

 

Rotations for other voices

(setf pl2b (pitch-transpose -7 pl2a))
(setf pl2c (pitch-transpose -11 (pitch-invert pl2a)))
(setf pl2d (pitch-transpose -3 (pitch-invert pl2a)))

 

Lengths definition

(setf rl2a '((q q -q q q) (e e e q -e)))
(setf rl2b rl2a)
(setf rl2c rl2a)
(setf rl2d rl2a)

 

OMN

(setf p2a (make-omn :pitch pl2a :length rl2a))
(setf p2b (make-omn :pitch pl2b :length rl2b))
(setf p2c (make-omn :pitch pl2c :length rl2c))
(setf p2d (make-omn :pitch pl2d :length rl2d))

 

Global transposition

(setf tlist-2a '(0))
(setf tlist-2b tlist-2a)

 

Voices
(setf lsop2 (ambitus '(e4 g5) (filter-tie (pitch-transpose tlist-2a p2a))))
(setf lalt2 (ambitus '(c4 d5) (filter-tie (pitch-transpose tlist-2a p2b))))
(setf lten2 (ambitus '(c3 c4) (filter-tie (pitch-transpose tlist-2b p2c))))
(setf lbas2 (ambitus '(g2 g3) (filter-tie (pitch-transpose tlist-2b p2d))))

 

Kyrie2 (Spirale)

Spirale p1
(setf bass1 '(q d3 e3 d3 e3 e3 fs3 e3 fs3))
(setf psop (gen-retrograde row))
(setf lsop (ql '(16 e)))
(setf lalt lsop)
(setf lten lsop)
(setf palt (pitch-transpose -4 psop))
(setf pten (pitch-transpose -8 psop))
(setf sop1 (make-omn :pitch psop :length lsop))
(setf alt1 (make-omn :pitch palt :length lalt))
(setf ten1 (make-omn :pitch pten :length lten))
(setf bas1 bass1)

 

Spirale p2
(setf trsp2 2)
(setf sop2 (pitch-transpose trsp2 sop1))
(setf alt2 (pitch-transpose trsp2 alt1))
(setf ten2 (pitch-transpose trsp2 ten1))
(setf bas2 (pitch-transpose trsp2 bass1))
 
Spirale p3
(setf trsp3 5)
(setf sop3 (pitch-transpose trsp3 '(q b4 ff = -)))
(setf alt3 (pitch-transpose trsp3 '(q e4 ff = -)))
(setf ten3 (pitch-transpose trsp3 '(q g3a3 ff = -)))
(setf bas3 (pitch-transpose trsp3 '(q d3 ff = -)))

 

Spirale p4
(setf trsp4 5)
(setf sop4 (pitch-transpose trsp4 '(q b4 = - e b4 = q c5 b4 -)))
(setf alt4 (pitch-transpose trsp4 '(q e4 = - e e4 = q f4 e4 -)))
(setf ten4 (pitch-transpose trsp4 '(q g3a3 = - e g3a3 = q fs3gs3 g3a3 -)))
(setf bas4 (pitch-transpose trsp4 '(q d3 = - e d3 = q cs3 d3 -)))

 

Spirale assembly
(setf lbas3 (append bas1 bas2 bas3 bas4))
(setf lsop3 (append sop1 sop2 sop3 sop4))
(setf lalt3 (append alt1 alt2 alt3 alt4))
(setf lten3 (append ten1 ten2 ten3 ten4))

 

Full Assembly

(setf sopline (assemble-seq lsop1 lsop2 lsop3))
(setf altline (assemble-seq lalt1 lalt2 lalt3))
(setf tenline (assemble-seq lten1 lten2 lten3))
(setf basline (assemble-seq lbas1 lbas2 lbas3))

 

(setf path (tonality-series '(chromatic)))

 

(setf sopline (ambitus sopamb (tonality-map path sopline)))
(setf altline (ambitus altamb (tonality-map path altline)))
(setf tenline (ambitus tenamb (tonality-map path tenline)))
(setf basline (ambitus bassamb (tonality-map path basline)))

 

Lyrics

(setf soptext1 '("ky ri e ky ri e  ky - rie - 
                 chri ste chri ste e le i son 
                 chri ste e le i son
                 ky - rie - chri - ste -
                 ky - rie - chri - ste -
                 ky - rie - chri - ste -
                 ky - rie - chri - ste -
                 ky rie chri ste
                 e le i son"))

 

(setf alttext1 '("ky ri e ky ri e e le i son ky ri e chri ste e le i son
                 ky - rie - chri - ste -
                 ky - rie - chri - ste -
                 ky - rie - chri - ste -
                 ky - rie - chri - ste -
                 ky rie chri ste
                 e le i son"))

 

(setf tentext1 '("ky ri e ky rie - ki ri e e le i son
                 chri ste e le i son
                 ky - rie - chri - ste -
                 ky - rie - chri - ste -
                 ky - rie - chri - ste -
                 ky - rie - chri - ste -
                 ky rie chri ste
                 e le i son"))

 

(setf basstext1 '("ky ri - e chri ste chri ste e le i son
                  chri ste e le i son
                  ky rie chri ste
                  ky rie chri ste
                  ky rie chri ste
                  ky rie chri ste
                  ky rie chri ste
                  e le i son"))

 

Score definition
(def-score Kyrie-1
           (:key-signature atonal
            :time-signature (get-time-signature rl1a)
            :title "Kyrie"
            :composer "S.Boussuge"
            :copyright "Copyright © 2014 S.Boussuge"
            :tempo 72
            :layout (choir-satb-layout 'sop 'alt 'tnr 'bas))

(sop :omn sopline :text soptext1 :sound 'gm :program 0)
(alt :omn altline :text alttext1)
(tnr :omn tenline :text tentext1)
(bas :omn basline :text basstext1))

 

 
SB.

Kyrie.opmo

Link to post
Share on other sites
  • opmo unfeatured this topic

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 Stephane Boussuge
      Gloria from "Messe Brève en Forme de de Haikus"
       
      Melodic base.
      (setf base1 (pitch-transpose              -2             '((e a4 = f4 = c5 = g4 =)             (e a4 = f4 = c5 = g4 =)             (e a4 = f4 = c5 = g4 =)             (e d5 = a4 = e5 = b4 =)              (-w)             (e a4 = f4 = c5 = g4 =)             (e a4 = f4 = c5 = g4 =)             (e d5 = a4 = e5 = c5 =)             (e f5 e5 f5 g5 a5 = - -)             (-w)             (e a4 = f4 = c5 = g4 =)             (e a4 = f4 = c5 = g4 =)             (e d5 = a4 = e5 d5 c5 d5)             (e e5 f5 g5 d5 a5 = - -)             (-w)             (e b5 = f5 = a5 = e5 =)             (e g5 = d5 = a5 = e5 =)             (e b5 = f5 = c6 = = =)             (e c6 = - - - - - -))))  
      Create some shifted phrases and cut them to the correct length with GEN-TRIM. (setf ph1a base1) (setf ph1b (gen-trim 18 (gen-pause (gen-rotate -1 base1) :section '(0)))) (setf ph1c (gen-trim 17 (gen-pause (gen-rotate -2 base1) :section '(0 1)))) (setf ph1d (gen-trim 16 (gen-pause (gen-rotate -3 base1) :section '(0 1 2))))  
      Ambitus control. (setf sopline (ambitus '(c4 f5) ph1a)) (setf altline (ambitus '(a3 a4) ph1b)) (setf tenline (ambitus '(c3 c4) ph1c)) (setf basline (ambitus '(a2 a3) ph1d))  
      Lyrics Soprano (setf soptext1 '("glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   in ex cel sis de o                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   in ex cel sis de o                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria in ex cel sis de o"))  
      Alto (setf alttext1 '("glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   in ex cel sis de o                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   in ex cel sis de o                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria in ex cel sis de o"))  
      Tenor (setf tentext1 '("glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   in ex cel sis de o                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   in ex cel sis de o                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria in ex cel sis de o"))  
      Bass
      (setf bastext1 '("glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   in ex cel sis de o                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   in ex cel sis de o                   glo ria glo ria glo ria glo ria                   glo ria glo ria glo ria glo ria                   glo ria glo ria in ex cel sis de o"))  
      Score definition (def-score Gloria-1-02            (:title "Gloria"             :key-signature '(c maj)             :time-signature '(4 4)             :composer "S.Boussuge"             :copyright "Copyright © 2014 S.Boussuge"             :tempo 112             :layout (choir-satb-layout 'sop 'alt 'tnr 'bas)) (sop :omn sopline :text soptext1 :sound 'gm :port 0 :program 'acoustic-grand-piano) (alt :omn altline :text alttext1) (tnr :omn tenline :text tentext1) (bas :omn basline :text bastext1)) SB.
       

      Gloria.opmo
      GloriaPianoRender.mp3
      Gloria.mp3
    • By Stephane Boussuge
      Basic row definition 
      (setf row '(c4 e4 g4 bb4 d5 fs5 a5 gs5 f5 eb4 cs4 b4))  
      Extract some subsets from the row.
      (setf set1 (subseq row 0 6)) (setf set2 (subseq row 3 9)) (setf set3 (subseq row 6 12))  
      Chords generation from sets
      (setf couleur1 (gen-chord 12 5 5 -6 6 (gen-repeat 12 set1))) (setf couleur2 (gen-chord 12 5 5 -6 6 (gen-repeat 12 set2))) (setf couleur3 (gen-chord 12 5 5 -6 6 (gen-repeat 12 set3)))  
      Preparing tonality-series for futur mapping (create harmonics paths)
      (setf path1 (tonality-series couleur1)) (setf path2 (tonality-series couleur2)) (setf path3 (tonality-series couleur3))
      Section1
      Define ch1, a repeated generative process with GEN-LOOP
      (setf ch1 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((q h -q) (h =) (e = = = h) (w) (q =) (q e = q) (q -))) :pitch (rnd-sample 6 couleur1) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp)))))))))  
      Define un1, a repeated generative process with GEN-LOOP
      (setf un1 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((h -q) (w) (q -h))) :pitch (pitch-transpose -48 (rnd-sample 1 (melodize (rnd-sample 1 couleur1)))) :velocity '((ffff))))))))  
      Define ar1, a repeated generative process with GEN-LOOP
      (setf ar1 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (pitch-transpose (rnd-pick '(10 11 12 13 14 15 16 17)) (tonality-map (rnd-sample 1 path1) (rnd-sample 1 '((c2 e2 g2 b2 d3 fs3 c4 e4 g4 b4 d5 fs5) (c2 e2 g2 b2 d3 fs3 d3 fs3 a4 e5 b5) (fs5 d5 b4 g4 e4 c4 b4 g4 e4 c4 b3 g3 e3 c3) (fs5 d5 b4 d5 b4 g4 b4 g4 e4 g4 e4 c4 g3 c3))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp)))))))))  
      Define ar1b, a repeated generative process with GEN-LOOP
      (setf ar1b (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (filter-repeat 1 (pitch-transpose 12 (tonality-map (rnd-sample 1 path1) (rnd-sample 6 '(c4 d4 e4 f4 g4 a4 b4 c5 d5 e4 fs5))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp)))))))))  
      Assembly section1.
      (setf s1 (rnd-sample 24 (append ch1 un1 ar1 ar1b)))  
      Score FormeEtrange-s1
      (def-score FormeEtrange-s1 (:title "FormeEtrange" :composer "S.Boussuge" :copyright "Copyright © 2014 S.Boussuge" :key-signature atonal :time-signature (get-time-signature s1) :tempo 108 :layout (piano-grand-layout 'piano)) (piano :omn s1 :channel 1 :sound 'gm :program 'acoustic-grand-piano))
      Section2
      (setf ch2 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((q h -q) (h =) (e = = = h) (w) (q =) (q e = q) (q -))) :pitch (rnd-sample 6 couleur2) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp)))))))))  
      (setf un2 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((h -q) (w) (q -h))) :pitch (pitch-transpose -48 (rnd-sample 1 (melodize (rnd-sample 1 couleur2)))) :velocity '((ffff))))))))  
      (setf ar2 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (pitch-transpose (rnd-pick '(10 11 12 13 14 15 16 17)) (tonality-map (rnd-sample 1 path2) (rnd-sample 1 '((c2 e2 g2 b2 d3 fs3 c4 e4 g4 b4 d5 fs5) (c2 e2 g2 b2 d3 fs3 d3 fs3 a4 e5 b5) (fs5 d5 b4 g4 e4 c4 b4 g4 e4 c4 b3 g3 e3 c3) (fs5 d5 b4 d5 b4 g4 b4 g4 e4 g4 e4 c4 g3 c3))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp)))))))))  
      (setf ar2b (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (filter-repeat 1 (pitch-transpose 12 (tonality-map (rnd-sample 1 path2) (rnd-sample 6 '(c4 d4 e4 f4 g4 a4 b4 c5 d5 e4 fs5))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp)))))))))  
      Assembly section2.
      (setf s2 (rnd-sample 24 (append ch2 un2 ar2 ar2b)))  
      Score FormeEtrange-s2
      (def-score FormeEtrange-s2 (:title "FormeEtrange" :composer "S.Boussuge" :copyright "Copyright © 2014 S.Boussuge" :key-signature atonal :time-signature (get-time-signature s2) :tempo 108 :layout (piano-grand-layout 'piano)) (piano :omn s2 :channel 1 :sound 'gm :program 'acoustic-grand-piano))  
      Section3
      (setf ch3 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((q h -) (h =) (e = = = h) (w) (q =) (q e = q) (q -))) :pitch (rnd-sample 6 couleur3) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp)))))))))  
      (setf un3 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((h -q) (w) (q -h))) :pitch (pitch-transpose -48 (rnd-sample 1 (melodize (rnd-sample 1 couleur3)))) :velocity '((ffff))))))))  
      (setf ar3 (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (pitch-transpose (rnd-pick '(10 11 12 13 14 15 16 17)) (tonality-map (rnd-sample 1 path3) (rnd-sample 1 '((c2 e2 g2 b2 d3 fs3 c4 e4 g4 b4 d5 fs5) (c2 e2 g2 b2 d3 fs3 d3 fs3 a4 e5 b5) (fs5 d5 b4 g4 e4 c4 b4 g4 e4 c4 b3 g3 e3 c3) (fs5 d5 b4 d5 b4 g4 b4 g4 e4 g4 e4 c4 g3 c3))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp)))))))))  
      (setf ar3b (mclist (position-insert '(0) '(ped) (assemble-seq (gen-loop 24 (make-omn :length (rnd-sample 1 '((t = = = = q -) (t = = = = = = = = = = =) (s = = = = = = =) (t = = = = = e = q -))) :pitch (filter-repeat 1 (pitch-transpose 12 (tonality-map (rnd-sample 1 path3) (rnd-sample 6 '(c4 d4 e4 f4 g4 a4 b4 c5 d5 e4 fs5))))) :velocity (rnd-sample 1 '((f) (ff) (fff) (mf) (mp) (p) (pp)))))))))  
      Assembly Section 3
      (setf s3 (rnd-sample 24 (append ch3 un3 ar3 ar3b)))  
      Score FormeEtrange-s3
      (def-score FormeEtrange-s3 (:title "FormeEtrange" :composer "S.Boussuge" :copyright "Copyright © 2014 S.Boussuge" :key-signature atonal :time-signature (get-time-signature s3) :tempo 108 :layout (piano-grand-layout 'piano)) (piano :omn s3 :channel 1 :sound 'gm :program 'acoustic-grand-piano))   Final score (compile-score '(FormeEtrange-s1 FormeEtrange-s2 FormeEtrange-s3)) SB.
      FormeEtrange.opmo
×
×
  • Create New...