Jump to content
Sign in to follow this  
JulioHerrlein

How to span different time signatures ?

Recommended Posts

Hello, friends !

I'm trying to make some rhythm patterns and I'd like to use the same pattern

 changing just the time signature order/or sequence.

For example, assuming an 8th note as the number 1.

2 2 1 2 2 2 1 (african bembé rhythm) as a pattern.

This pattern could match in a 12/8 time signature or also

 in a 3/4 time signature. This is ok, no problem.

But what if I like to span it as a 10/8 + 2/8 or 9/8 + 3/8

 or 7/8 + 5/8 or in a sequence like 3/8 + 2/8 + 4/8 + 3/8 always

 repeating the time signature sequences until have al the notes

 spanned ?

 

Thanks for help !

Best !

Julio

 

This works for me with ONE time signature only. I need the same

 stuff with a SEQUENCE of time signatures.

 


(setf padrao '((0 1 2 3)))
(setf pitches '((g4 g4 g4 g4  HERE COME THE PITCH LIST,  padrao :type :pitch)))
(setf lengths (span pitches '(e e -e e HERE COMES THE Rhythm pattern list - same size or less than the pitches)))
(setf text
      (span pitches padrao))
(def-score Stage-1
           (:key-signature 'chromatic
            :time-signature '(4 4)
            :tempo 80
            :layout (treble-layout 'piano-rh))
 (piano-rh
   :length lengths
   :pitch pitches
   ;text text
   :channel 1
   :sound 'gm
   :program 'clarinet)
)

 

Share this post


Link to post
Share on other sites

This is even more simple:

 

(setf pitches '((g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 g4 HERE COMES THE Pitch List :type :pitch)))
(setf lengths (span pitches '(e -e -e -e HERE COMES THE Rhythm pattern list - same size or less than the pitches)))
(def-score Stage-1
           (:key-signature 'chromatic
            :time-signature '(4 4) '(1 8)  >>>>>>>> Here is the problem: How to span the content through different Time Signatures using the same rhythm list and pitches ?
            :tempo 80
            :layout (treble-layout 'piano-rh))
 (piano-rh
   :length lengths
   :pitch pitches
   :channel 1
   :sound 'gm
   :program 'clarinet)
)

Share this post


Link to post
Share on other sites

for example if you need 3 bars of 3/4 and 2 of 6/8 you can write:

:time-signature '((3 4 3)(6 8 2))

 

you can also separate your length material with gen-divide and get the time signature.

Example here:

 

(setf some-pitches (integer-to-pitch (gen-integer-step 0 64 '(2 1 2 3 -2 -1 -2 -1 -2))))
(setf some-lengths (rnd-sample (length some-pitches) '(e e -e e)))

(setf some-division '(8 12 8 6 9))
(setf length-div (gen-divide some-division some-lengths))

(setf time-sig (get-time-signature length-div))

(def-score time
           (
            :key-signature 'chromatic
            :time-signature time-sig
            :tempo 112
            :layout (clarinet-layout 'clarinet)
            )

(clarinet
 :length length-div
 :pitch some-pitches
 :channel 1
 :sound 'gm
 :program 'clarinet
 ))

SB.

 

Share this post


Link to post
Share on other sites

Thanks a lot, Stephane ! This is great ! And thank you for

 showing me more functions.

However, there some issues: how to control to get a 12/8 instead of a 6/4?

Or: how to get always a time signature with x/8 ? Or always

with a X/4, or mix them ?

In the example you provide, a 12 generates a 6/4 instead of a 12/8.

I changed the code a little:

 

(setf some-pitches (integer-to-pitch (gen-integer-step 7 480 '(0))))

;>>> here, because I want to stay in the same note g4
(setf lengths (span some-pitches '(q q e q q q e)))

;>>> here, because I want this specific rhythm, not random sample
(setf some-division '(21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3))

;here, there's that problem of 6/4 versus 12/8 and one more problem occurred because OM stop changing the timesignature after the  number 14 (xml attached) I don't know why.
(setf length-div (gen-divide some-division some-lengths))
(setf time-sig (get-time-signature length-div))
(def-score time
           (
            :key-signature 'chromatic
            :time-signature time-sig
            :tempo 112
            :layout (clarinet-layout 'clarinet)
            )

(clarinet
 :length lengths
 :pitch some-pitches
 :channel 1
 :sound 'gm
 :program 'clarinet
 ))

 

Best !!

Julio

test_timesigchange21to3.xml

Share this post


Link to post
Share on other sites

To get the intended time signature:

:time-signature '((6 8 1) (12 8 2) (4 8 2)) ; etc...

 

Good example with series of time signature values you will find in Webern 'Variationen Fuer Klavier Op.27, II' score in the Utilities panel:

'Score Examples/Webern'.

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  

×