Jump to content

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

Recommended Posts


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)
    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))



(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)



(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)


(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)))



(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))




Link to comment
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.

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