## Cyclical Poly-Rhythm

May 23, 2013 at 3:24pm

# Cyclical Poly-Rhythm

I am working on a Poly-Rhythm generator and need to be able to have running cycle of ever changing onsets. For example,  one of my series of poly-ryhthm’s base is 5. I want to cycle through that series with an onset on the 4th note.  I then want the next onset to start 3 notes later, then the next 2 notes later.  I want to be able to set this up for large scale running patterns. Just not sure how to do the calculations.

#250522
May 23, 2013 at 4:41pm

Hi, I’m having a bit of trouble with the terminology, but do you mean that you’ll be running a cycle that is:

0 0 0 X 0

And then another one that is:

0 0 X 0 0 ?

“then the next 2 notes later”… do you mean that you want to alternate between these patterns?

#250541
May 23, 2013 at 5:38pm

That is it but I want to nest them inside different groupings of say 5, 4, and 3.

I need to be able to generate and nest multiple patterns such as these:

5 tuplet = X O O O O  -  O X O O O  -  O O X O O  - O O O X O   etc.

4 tuplet = X O O O – O X O O – O O X O   etc.

3 tuplet = X O O – O X O – O O X   etc.

I would choose from a “reservoir” of patterns and apply this principle across a wide spectrum of durational/rhythmic patterns.

#250542
May 23, 2013 at 6:08pm

All your examples seem to conform to the formula: choose a division d, and articulate every a attack points of that division. Off the top of my head I’d probably use a metro synched to the transport to specify the divisions (or the tempo object, if you prefer), and then use a counter (or a % object with the output of tempo) to specify the articulation points. If that’s not clear enough, let me know and I’ll cook up an example.

#250543
May 23, 2013 at 10:01pm

Chris Dobrian could do better but I just built this starter kit using some of the objects he mentioned

– Pasted Max Patch, click to expand. –
#250549
May 24, 2013 at 3:15am

Here’s what I meant.

<code>

– Pasted Max Patch, click to expand. –

</code>

#250564
May 24, 2013 at 5:52am

Ah, so you are basically looking to generate a database of sorts of these permutations in order to recombine them?

As in, right now it’s not about polyrhythmicality at all, it’s just about generating the patterns, yeah?

because otherwise:

X O O O O – O X O O O – O O X O O – O O O X O == X 0 0 0 0 0 repeated
and
X O O O – O X O O – O O X O == X 0 0 0 0 repeated.

#250571
May 24, 2013 at 6:20am

In our class, we were presented with this article on change ringing that may be helpful (attached as pdf). A very talented classmate of mine was successful in creating a max algorithm but he would have to explain it.

#250572
May 24, 2013 at 6:24am

Sorry, that pdf did not upload. The article is “Composing Algorithms II by means of Change-Ringing” by Lejaren Hiller and Raveesh Kumra.

#250574
May 24, 2013 at 6:54am

Yes. Chris Dobrian’s gets right to the point. Notice his example mixes notevalue time arguments and ticks time arguments. In Max every 4n has 480 ticks. This is necessary when programming divisions other than duple and triple. [translate] is helpful for generating time syntax arguments.

#250576
May 24, 2013 at 8:19am

The seq~ object is also handy, since you can add event values in floating point values. (and then scale the overall tempo via changing the speed of the phasor~)

#250590
May 24, 2013 at 10:30am

@freddiemas: could you please upload it somewhere? all I could find was for-pay photocopies and such.

thanks

#250604
May 24, 2013 at 4:19pm

Been away from the computer today but this is great help.  Will try and work on this over the weekend. Christopher’s suggestion is headed the right way and Peter’s idea taps into that I am already using seq~ with phasor~.  Got something in the works but need to work it out and haven’t been able to focus on it at length today.

I’ll post my patch soon once I get somewhere with it.

I would also like to see the Hiller article.  JSTOR doesn’t seem to have it even.

#250636
May 25, 2013 at 7:32am
#250662

You must be logged in to reply to this topic.