# [PD] euclidean rhythms

Matt Barber brbrofsvl at gmail.com
Sun May 29 14:46:20 CEST 2011

```>
> I had a quick read of the paper just now. I might have missed the
> point altogether, but from what I understand, the results that he gets
> from the Euclidian algorithm are the same (if you accept a rotation
> pattern as being equivalent) as what you'd get from the simple
> rounding of fractions.
>
> In other words: let's say you want 5 beats in a grid of 12 (or a
> 12-sided polygon, if we use his graphical representation), the exact
> spacing between two beats would be 12/5, or 2.4.
>
> The first beat would be 0*2.4= 0.
> The second beat would 1*2.4 = 2.4, rounded to 2
> The third would be 2*2.4 = 4.8, which we round to 5.
> The fourth would be 3*2.4= 7.2, which we round to 7.
> The fifth would be 4*2.4  = 9.6, which we round to 10.
>
> We now have the pattern x.x..x.x..x.

Sorry to be late to this discussion, but:

Another way to look at this would be a cycle of the intervals 5 or 7, mod 12.

Let's look at 7:

0 7 2 9 4   (mod 12, remember)

collecting this yields:

x.x.x..x.x.. (a rotation of the above).

Note that 5 and 7 are coprime to 12 so you can keep going if you want
to, but this is also how the standard pentatonic/diatonic scales are
generated in a 12-tone universe. All of this is really well-known in
scale theory, of course, and Milton Babbitt formalized the isomorphism
between pitch/interval/octave and time-point/duration/meter (although,
if you take Bartok's music seriously it would appear he'd been
thinking about it explicitly in those terms long before).

An interesting principle would be to use the nearest number to half
the modulus as the generator (higher or lower: they're isomorphic when
you make cycles of them in a modular system). So in 12 you have 5 or
7, in 16 you have 9 or 11, in 9 you have 4 or 5. As in scale theory,
using patterns like these creates predictable distributions in the
modulus for cycles of given lengths.

Matt

>
> The way I would do it would be to store the pattern in table;
> calculate the slice size (e.g. 12/5), then multiply successfully by
> values from 0 to n-1 (0 to 4, since we want 5 divisions of 12), round
> that, and then store a "1" at the rounded index values.
>
> I'm sure there are plenty of more elegant methods.
>
> - martin
>
>
>
> On 25 May 2011 22:13, Cody Loyd <codyloyd at gmail.com> wrote:
> > Posted this on the PD forum.. but haven't heard anything yet so i
> > thought I'd try here as well.
> >
> > Euclidean Rhythms
> >
> > I am interested in implementing something like THIS:
> >
> > http://www.hisschemoller.com/
> >
> > in PD.
> >
> > I understand the algorithm for generating the rhythms on paper, but
> > i'm not sure how in Pd to go about doing it. ?I'd imagine that it
> > would involve some pretty heavy 'list surgery' and I'm not too sure
> > how to go about doing it.
> >
> > This website:
> >
> > http://ruinwesen.com/blog?id=216
> >
> > gives a little more info on how the algorithm works (especially in the
> > PDF he links to, page 2 has the relevant example), and talks about
> > coding the thing in Lisp, but i can't figure it out in PD.
> >
> > any hints?
> >
> > _______________________________________________
> > Pd-list at iem.at mailing list
> > UNSUBSCRIBE and account-management -> http://lists.puredata.info/listinfo/pd-list
> >
> -------------- next part --------------
> A non-text attachment was scrubbed...
> Name: not_exactly_euclidian_rhythms.pd
> Type: application/octet-stream
> Size: 1966 bytes
> Desc: not available
> URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20110526/56781f51/attachment.obj>
>
> ------------------------------
>
> _______________________________________________
> Pd-list mailing list
> Pd-list at iem.at
> to manage your subscription (including un-subscription) see
> http://lists.puredata.info/listinfo/pd-list
>
>
> End of Pd-list Digest, Vol 74, Issue 83
> ***************************************

```