Jump to content

Multiple concurrent tempi


Recommended Posts

Is it possible in OpusModus to run multiple tempi concurrently?

For example, if I set up a string quartet, can each voice run a different tempo?

eg   vln 1  Q=60

       vln 2  Q = 90

      vla      Q = 75

      vc       Q = 80

 

The objective would be to provide a simplified, more accurately performable score.

 

Thanks so much!

Link to comment
Share on other sites

Many years ago, I composed my inaugural string quartet, characterized by numerous tempo alterations for each instrument. Unfortunately, the notation—our primary means of communication—proved wholly ineffective.

 

In the present day, I frequently create compositions featuring varied tempos for individual instruments. However, I now ensure that the notation—a vital line of communication with the performer—is uniformly inscribed in a single tempo.

 

To facilitate this, I've developed the LENGTH-TO-TEMPO function. The concept of polytempo offers an intriguing structure, but its true potential is only realized when we manage to transcribe it into a consistent tempo for all.

 

Link to comment
Share on other sites

  • 1 month later...

This is almost working ... but what am I missing in this case which will make all parts end simultaneously?

(setf pattern1 (gen-repeat 3 (list '(e g3 g3 g3 g3d4 g3 g3 g3 g3eb4 g3 g3 g3 g3d4 g3) '(e bb3f4 f c4g4 bb3f4 c4g4 bb3f4)))
)
(setf pattern2 (gen-repeat 2 (list '(e c4 g4 c5 d5 eb5 d5 bb4 a4 g4 bb3 c4 g4 bb4 f4 c5 d5 eb5))))
(setf pattern3 (gen-repeat 4 (list '(s d4 d4 d4 eb4 eb4 eb4 f4 f4 f4 g4 g4 g4 a4 a4 a4 bb4 bb4 bb4))))
(setf pattern4 (gen-repeat 3 (list '(q c1 d1 eb1 f1 g1 a1 bb1 e d2 eb2 ff))))
(setf tempo (mclist (gen-integer 0 10) (gen-repeat 1 1)))

(def-score score1
           (
            :key-signature 'chromatic
            :time-signature '(4 4)                             
            :tempo 60
            )
 
  (inst1 :omn pattern1
         :port 1
         :channel 1
))
(def-score score2
           (
            :key-signature 'chromatic
            :time-signature '(4 4)                             
            :tempo 40
            )
 
  (inst2 :omn pattern2
         :port 1
         :channel 2
))
(def-score score3
           (
            :key-signature 'chromatic
            :time-signature '(4 4)                             
            :tempo 45
            )
 
  (inst3 :omn pattern3
         :port 1
         :channel 3
))
(def-score score4
           (
            :key-signature 'chromatic
            :time-signature '(4 4)                             
            :tempo 60
            )
 
  (inst4 :omn pattern4
         :port 1
         :channel 4
))
(progn
  (score-player 'score1)
  (score-player 'score2)
  (score-player 'score3)
  (score-player 'score4)
  )

 

Link to comment
Share on other sites

First get-span (to find the max length from your patters:

 

(setf max (find-max (list (get-span pattern1)
                          (get-span pattern2)
                          (get-span pattern3)
                          (get-span pattern4))))

 

After:

 

(length-span max pattern1)


etc...

or you need to add pauses.

Link to comment
Share on other sites

  • opmo changed the title to Multiple concurrent tempi

can't seem to make that work, as I'm not yet understanding what goes where. I'm not at this level yet, but the topic has always been of such interest to me that I'm trying to jump ahead of my knowledge. Back to study I reckon, and I will continue to experiment.  many thanks.

 

Link to comment
Share on other sites

Thank you. I was not inquiring about  score-player, which has been a part of several posts here on the forum.  I was inquiring about how to make 4 parts end at the same time using some form of the span function. I was trying to make something work based on the various posts in this thread.  I'm so sorry.

 

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