Jump to content

Span Slurs to Measures


NagyMusic

Recommended Posts

I'm trying to figure out how to span (attach) slurs individually to each measure in a pitch sequence. When I use :articulation key in make-omn, a single slur is spanned from the beginning until the end of the sequence. Here's a short code excerpt in case someone has a suggestion. Perhaps I need to apply vector-map to :articulation?

 

 (make-omn
             :length '(e)
             :pitch (vector-map (pitch-melodize chords) vector-chords)
             :velocity '(p)
             :articulation '(leg)
             :span :pitch)

 

Thank you!

Link to comment
Share on other sites

  (setf exile-chorale (pitch-transpose -3
         '(h c4eb4g4 c4d4f4ab4 w bb3d4f4g4
           h g3c4eb4 ab3c4d4f4 w g3bb3d4f4
           h c4eb4g4c5 d4f4ab4c5 d4g4ab4c5 w d4g4ab4c5
          )))
  
  (setf exile-chords (gen-repeat 10 (omn :pitch exile-chorale)))

  (setf vector-exile-chorale (vector-smooth 0.1 (flatten (vector-round 0.01 1.00 (pitch-to-integer (pitch-demix 1 exile-chords))))))
  (list-plot (vector-smooth 0.1 vector-exile-chorale) :join-points t :point-radius 2)
  (setf inv-num (gen-trim (length exile-chords) '(1)))
  (setf exile-chords-i (chord-inversion inv-num exile-chords
                                        :variant '?
                                        :omit '(i ri)
                                        ))
  
  (setf rh 
        (pitch-transpose
            0
            (make-omn
             :length '(e)
             :pitch (vector-map (pitch-melodize exile-chords-i) vector-exile-chorale)
             :velocity '(p)
             :articulation '(leg)
             :span :pitch)))

 

Thanks, Stephane!

Link to comment
Share on other sites

(setf exile-chorale
      (pitch-transpose
       -3
       '(h c4eb4g4 c4d4f4ab4 w bb3d4f4g4
         h g3c4eb4 ab3c4d4f4 w g3bb3d4f4
         h c4eb4g4c5 d4f4ab4c5 d4g4ab4c5 w d4g4ab4c5
         )))
         
(setf exile-chords (gen-repeat 10 (omn :pitch exile-chorale)))

(setf vector-exile-chorale
      (list-plot
       (vector-smooth
        0.1
        (flatten
         (vector-round
          0.01 1.00
          (pitch-to-integer (pitch-demix 1 exile-chords)))))
       :join-points t :point-radius 2))
       
(setf inv-num (gen-trim (length exile-chords) '(1)))

(setf exile-chords-i (chord-inversion inv-num exile-chords
                                      :variant '?
                                      :omit '(i ri)))
                                      
(setf pitches (vector-map
               (pitch-melodize exile-chords-i)
               vector-exile-chorale))
               
(setf rh 
      (pitch-transpose
       0
       (make-omn
        :length '(e)
        :pitch pitches
        :velocity '(p)
        :span :pitch)))
        
(setf count (get-count pitches))
(setf att (gen-repeat (length count) '(leg)))
(setf leg-series (mclist att count))

(attribute-series leg-series rh)

 

Link to comment
Share on other sites

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.

×
×
  • Create New...

Important Information

Terms of Use Privacy Policy