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

Excellent cet exemple pédagogique sur le développement d'un thème, d'un motif. Merci Stéphane.

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  

×