Jump to content
Sign in to follow this  
Stephane Boussuge

Theme and development example

Recommended Posts

Here's a Theme and development example (also more generally, song construction example).

It is the start of one of my composition but i give it here as a pedagogical example.

Happy reading.

 

;;;---------------------------------------------------------
;;; Parameters
;;;---------------------------------------------------------

;;; BASIC MATERIAL
;;; PERIOD 1

(setf violin-1
      '(#|1|# (s g5 mf leg a5 leg fs5 leg f5 q gs5)
        #|2|# (e gs5 stacc b5 stacc a5 stacc g5 stacc)
        #|3|# (h eb5 tr1)
        #|4|# (q f5 -)
        #|5|# (h gs5 tr1)
        #|6|# (s a5 leg b5 leg bb5 leg fs5 q a5)
        #|7|# (s c6 leg bb5 leg fs5 leg f5 q a5)
        #|8|# (s e5 leg cs5 leg bb4 leg gs4 q b4)
        ))


(setf viola-1
      '(#|1|# (q c5 mf -)
        #|2|# (q c5 -)
        #|3|# (q bb4 -)
        #|4|# (e fs4 stacc eb4 stacc e4 stacc cs4 stacc)
        #|5|# (s e4 leg d4 leg cs4 leg e4  q f4)
        #|6|# (q fs4 -)
        #|7|# (q f4 -)
        #|8|# (h e4 tr1)
        ))

(setf cello-1
      '(#|1|# (h g3 mf tr1)
        #|2|# (s g3 leg fs3 leg cs3 leg c3 q bb2)
        #|3|# (s a2 leg d3 leg db3 leg c3 leg q g2)
        #|4|# (h eb2 tr1)
        #|5|# (q f2 -)
        #|6|# (h f2 tr1)
        #|7|# (h bb2 tr1)
        #|8|# (q a2 -)
        ))

;;; PERIOD 2
(setf violin-2
      '(#|1|# (e g4 stacc g4 stacc a4 stacc cs5 stacc)
        #|2|# (h c5 tr1)
        #|3|# (s b4 leg bb4 leg eb5 leg eb5 leg q fs5)
        #|4|# (h g5 tr1)
        #|5|# (h b5 tr1)
        #|6|# (h d6 tr1)
        #|7|# (q d6 -)
        #|8|# (h f6 tr1)
        ))

(setf viola-2
      '(#|1|# (q c3 -)
        #|2|# (q c3 -)
        #|3|# (q d3 -)
        #|4|# (e e3 stacc gs3 stacc a3 stacc gs3 stacc)
        #|5|# (h gs3 tr1)
        #|6|# (q g3 -)
        #|7|# (q g3 -)
        #|8|# (e b3 stacc d4 stacc e4 stacc e4 stacc)
        ))


(setf cello-2
      '(#|1|# (q g3 -)
        #|2|# (q g3 -)
        #|3|# (q eb3 -)
        #|4|# (e g3 stacc eb3 stacc g3 stacc gs3 stacc)
        #|5|# (h d3 tr1)
        #|6|# (q eb3 -)
        #|7|# (q g3 -)
        #|8|# (e c4 stacc fs3 stacc gs3 stacc d3 stacc)
        ))


;;; INTRO1
(setf violin-i1 (omn-replace 
                 :velocity '((pp))
                 (omn-replace 
                  :articulation'-
                  (gen-trim
                   4
                   (length-adjust
                    4/4
                    (length-augmentation 4 violin-1))))))

(setf viola-i1 (omn-replace 
                :velocity '((pp))
                (omn-replace 
                 :articulation '-
                 (gen-trim 
                  4 
                  (length-adjust
                   4/4
                   (length-augmentation 4 viola-1))))))

(setf cello-i1 (omn-replace 
                :velocity '((pp))
                (omn-replace 
                 :articulation '-
                 (gen-trim 
                  4 
                  (length-adjust
                   4/4 
                   (length-augmentation 4 cello-1))))))


;;; DEVELOPMENT 1
(setf violin-d1a (pitch-transpose-repeat '(2 4) (find-bar '(1 2) violin-1)))
(setf viola-d1a (pitch-transpose-repeat '(2 4) (find-bar '(1 2) viola-1)))
(setf cello-d1a (pitch-transpose-repeat '(2 4) (find-bar '(1 2) cello-1)))

(setf violin-d1b (pitch-transpose-repeat '(1 -2) (pitch-invert (find-bar '(1 2) violin-1))))
(setf viola-d1b (pitch-transpose-repeat '(1 -2) (pitch-invert (find-bar '(1 2) viola-1))))
(setf cello-d1b (pitch-transpose-repeat '(1 -2) (pitch-invert (find-bar '(1 2) cello-1))))

(setf violin-d1c (pitch-variant (rnd-order violin-1 :list t)))
(setf viola-d1c (pitch-variant (rnd-order viola-1 :list t)))
(setf cello-d1c (pitch-variant (rnd-order cello-1 :list t)))

(setf violin-d1 (assemble-seq violin-d1a violin-d1b violin-d1c))
(setf viola-d1 (assemble-seq viola-d1a viola-d1b viola-d1c))
(setf cello-d1 (assemble-seq cello-d1a cello-d1b cello-d1c))

;;; SCORE ASSEMBLY
(setf violin (assemble-seq 
              violin-i1 
              violin-1
              violin-2
              violin-d1
              ))
(setf viola (assemble-seq 
             viola-i1 
             viola-1 
             viola-2 
             viola-d1
             ))
(setf cello (assemble-seq 
             cello-i1
             cello-1
             cello-2
             cello-d1
             ))

;;; TIME SIGNATURE
(setf ts (get-time-signature violin))
;;;---------------------------------------------------------
;;; Score and Layout
;;;---------------------------------------------------------

(def-score string-trio
           (:title "Trio"
            :composer "S.Boussuge"
            :copyright "Copyright © 2018 s.boussuge"
            :key-signature 'chromatic
            :time-signature ts
            :tempo 100
            :layout (string-trio-layout
                     'violin 'viola 'cello))
  
  (violin
   :omn violin
   :channel 1
   :sound 'gm :program 'violin
   :volume 100
   :pan 34
   :controllers (91 '(48))
   )

  (viola
   :omn viola
   :channel 2
   :sound 'gm
   :program 'viola
   :volume 90
   :pan 64
   :controllers (91 '(60))
   )

  (cello
   :omn cello
   :channel 3
   :sound 'gm
   :program 'cello
   :volume 90
   :pan 94
   :controllers (91 '(60))
   )
  ) 

S.B

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×