Jump to content

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

 

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

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

 

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

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