polyrhythmus

Polyrhythmus is the machine generator of notes and rhythms many of us have long dreamt of.

It does Euclidean rhythms – symmetrical divisions of time that beautifully produce common polyrhythms (not just for nerds, but modeling a lot of popular rhythms – see the research of Godfried Toussaint). It’s also capable of making other rhythms. It can be polymetrical or polyrhythmic. It’s … also an arpeggiator. It also automates parameters and MIDI Control Change messages. It has loads of modes. It’s modular. It’s dynamic. It’s amazing. It’s a music making nerd’s dream, friendly to anyone who loves rhythms, notes, and patterns.

It’s, for now, a convenient Max for Live module for Ableton Live. But the creator wants to know if we’d want a standalone version. Answer: yes.

Watch, as creator Benniy C. Bascom demonstrates:

So, in review:

  • Rhythms
  • Arpeggiators
  • Automation of MIDI CC and parameters
  • Live arpeggiation and pattern sequencing
  • Sequences that trigger other sequences
  • Skip steps
  • Randomize parameters
  • May open wormholes to other dimensions (he told you to watch the whole video tutorial – consider yourself warned)

It’s not the first to do these things, but it’s certainly one of the craziest. And it’s impressive how much he’s fit into a tiny rack space – and how efficiently he provides access to rhythmic pattern creation.

This is the latest of Benniy’s creations, but it’s not alone – think more sequencers and parameter playback via clip names.

I could say more, but … no, sorry, I’m off to play with this.

And you can also look at this pretty picture (click for a Tumblr-friendly animated GIF):

euclid

In fact, if there’s any complaint about it, it’s the license – it’s fantastic that it’s free. But it’s marked Creative Commons Non-Commercial and No Derivatives – the latter meaning that people can’t modify it and share what they’ve made, which would seem to open up some possibilities. I’d actually rather pay some money for it, but get a CC license that let you make some derivative works based on the same idea. Still, I’m glad as always to see an explicit license, I understand the reason not to allow derivatives (clones and mods distracting from the original), and it’s too good to complain.

Updated: The creator has generously removed the No Derivatives restriction. That means you are free to modify it and share those modifications, so long as you don’t receive any commercial gain (it’s still marked Non-Commercial). Thanks!

Thanks, Jesse Engel, for the tip!

POLYRHYTHMUS – a modular euclidean rhythm builder 1.0 [that description, while true, is about 25% of what it does]

  • Guest

    Truly amazing piece of M4L coding, but regardless of that it’s a brilliant bit of. Five minutes after downloading I’m generating drum patterns that would have taken hours otherwise. Hats off to Mr Bascom!

  • Mark Powell

    Truly amazing piece of M4L coding, but also a fantastic piece of work in its own right. I’d pay money for a VST version of this. Five minutes in and I’m generating drum patterns that would have taken hours otherwise. Hats of to Mr Bascom!

    • anerandros

      I’d pay as well, but only if with AU/VST comes an RTAS/AAX for Pro Tools.
      I’ve been searching for something like this, in a Pro Tools plugin. None exist.

    • Benniy C Bascom

      thank you! look a few posts down as for the topic of vst etc. probably currently this won’t unless you guys can help me out :)

  • Ganza Roza

    Wow, this is a piece of art. Thanks for your precious work Bascom.!

  • Ben Carey

    fantastic… really flexible device..

  • Benniy C Bascom

    thanks dear folks. and thanks CDM –
    considentially you’ve been one of my favorite blogs for quite a while.

    have changed license. did not mean to be greedy – was just to quick while clicking.

    • http://pkirn.com/ Peter Kirn

      Wow, thanks! Much appreciated. Updated the story. Yes, I am curious to see if anyone tries some tweaks to the patch.

    • Benniy C Bascom

      thanks peter! yes, i’d like that, too.

  • Paul

    Awesome, best M4L patch I’ve seen yet.

  • wetterberg

    Really great device, and the references to earlier work is commendable, too. I’d love the option to toggle all steps on, as I seem to be spending a fair bit of time enabling the steps whenever I program it. The hitboxes for the steps also seems fairly small for my tastes.

    It’s rare that we see “kitchen-sink” devices that really capture the mode they’re working with, but I think this one is right up there.

    • James

      Heya Wetterbug, maybe it was implemented in the last couple days, but the box to the right of each sequencer lane will toggle all steps on and off. I kinda like that they start disengaged-I guess it just opens up the realization that even the pattern can be changed without changing the distribution-so I’m one vote for them to be defaulted in the off position.

    • jimlette

      Yeah, that had me baffled for a while. Once I toggled them — fantastic!

    • Benniy C Bascom

      james got it right. the little box to the right inverts the current state of ALL (24 currently possible) steps. the device does not use javascript to create new objects / steps – it uses a bpatcher to simply change their visibility (meaning: they are “present” and therefore editable at all time). if you initally invert your sequence, all steps that you add will be active. anyhow, i like the idea of additionally being able to really toggle all steps on / off. it’s just such a hastle with the small space we have. i’d be interested what the rest of the community thinks.

  • Rocketpilot

    It’s a worry when software developers release their works under any Creative Commons license. For a start, it’s discouraged by the inventors of Creative Commons:

    http://wiki.creativecommons.org/Frequently_Asked_Questions#Can_I_apply_a_Creative_Commons_license_to_software.3F

    • http://pkirn.com/ Peter Kirn

      I think it’s not as big an issue with patches as it is code. What you’re licensing is the patch – Max or Pd or vvvv or whatever is still under whatever open or proprietary license it already has. You’re not licensing the code or the objects underneath (especially assuming this is a patch without any associated JavaScript, Java, etc.). So in this event, the patch – much like circuit board designs – can fit under a CC license.

      But yes, I recommend the software licenses. We’ve released libpd under a BSD license (the same license as Pure Data). Many patches, such as rjlib, are under a license like the GPL. Software license compatibility isn’t such an issue here – so those rjlib *patches* under GPL can be used with non-GPL software, because the patches are standalone, operational tools. (And GPL-licensed patches can even be therefore distributed on the iOS App Store.) Just not objects.

      Here’s the simple answer:

      If you want people to modify your Max for Live patch but not necessarily turn it into a product, I’d choose GPL. (because if someone does make a product out of it, they’re obligated to share their modified patch, too)

      If you want people to reuse your Max for Live patch and you don’t care whether they go and sell something with it, I’d choose LGPL.

    • Rocketpilot

      Yes, I take your point that it’s a patch rather than a standalone piece of software – though with a host as complex as Max, the line between configuration and programming is surely a blurred one.

      In any case, I’ve just seen the update where you point out the dev has lifted the no-derivs clause. I think that’s a good outcome.

  • Anil nc

    It looks great idea. But sadly there is no vst. I don’t have ableton live nor m4l. I would request for a vst version as well.

    • Benniy C Bascom

      if there’s anybody out there how knows how to do so – i’d be very happy to collaborate on different versions. i’m a lousy programmer, but i’ll wrap my mind around it. also i’ve heard that a lemur version seems quite appreciated. i’d love to get some different versions running but currently i would definitely need some help. let me know!

    • Rory Walsh

      I can think of a few ways of porting this. But how to proceed? I can’t seem to send private messages through this interface?

    • Benniy C Bascom

      hello rory,
      this sounds awesome – thank you for your reply. let’s get in touch. my mailaddress is mail (*at*) bcbas.com … are you talking vst? or lemure template? let me know (:

    • Rory Walsh

      Thinking VST. Mail on the way..

    • Guest

      Hey, I am sorry I didn’t get any notifications for your reply to my message. Yes, I am ready to help to try out in vst.

    • Benniy C Bascom

      drop me a line if you like. mail (*at*) bcbas.com

  • rmc

    First, the interview with numerology creator Jim Coker over at synthtopia, then this! The stars are aligned for me to lose a few weeks in crazy sequences.

    • http://pkirn.com/ Peter Kirn

      Ooh, just catching that – the Darwin Grosse and Art + Technology podcast, yes.

  • Aleks

    Nice work! But just one remark; the theory you’ve provided in introduction of the plug in is not correct. The concept you’ve introduced as polymeter is actually polyrhythm and the other concept you’ve introduced as polyrhythm is actually polypulse.
    Polyrhythm uses the idea of having common denominator within at least two layers playing at the same time. Usually it is a beat or beat subdivision. Polymeter uses the same concept but on the level of bar assigns or any meter measured structure.
    Polypulse is rhythmical concept of two layers playing at the same time but using no any common denominator. Hope this is clear now.
    Still your plugging is great!

    • http://pkirn.com/ Peter Kirn

      Right. Heh, I found the most succinct description on Wikipedia rather than in a theory text. Paraphrasing:

      Polymeter: The measure size differs, the beat is the same.
      Polyrhythm: The beat differs, the measure size is the same.

      “Measure” is maybe too strict a word for polyrhythm, though…

      So you have pulse and grouping.

      In a polymeter, the pulse is constant, but you have different lengths of groupings.
      In a polyrhythm, the length of the grouping is the same, but the pulse lengths are different.

    • Jesse Engel

      All good points, although it’s worth noting that in practice, I’ve seen all sorts of variability in terminology for these concepts, depending on people’s musical background / context. So it’s always worth making sure you’re on the same page with someone if you start talking polymeters, polyrhythms, crosspulses and the like

  • nayseven

    great tool ! congrats , and +1 for a standalone version please ;-)

  • http://freezedream.bandcamp.com freezedream

    Looks and sounds beautiful! I’ve just started trying to do this sort of thing more, but in Renoise (tracker) and it sometimes takes me a while to get my head around it and have it sound the way I want. This tool would make things so much easier, but I don’t have Live nor money. :’( Hopefully a VST version might be possible – I’d definitely pay for it! Respect to Benniy!

    • Benniy C Bascom

      thanks a ton (: … see below

  • Robert Thomas

    Great work Benniy!

  • Mafgar

    You should really start making VSTs and sell them.

  • mckenic

    Wow! Thank you Benniy – very exciting. Im really looking forward to trying this out!

  • James

    And it bares mentioning that these aren’t note lanes, each pattern can contain it’s own sequence of different notes. So there’s no telling what you might want to put after this fella-it’s not just for matching up separate pads.

  • James

    In the spirit of inclusiveness, we were talking over on the maxforlive comments area about the wiring on the Axon sequencer by audio damage. The retrigger section on polyrhythmus kind of reminded me of it, but Bennily better implemented it such that you don’t need to mouse about to create complicated dependencies across lanes. http://www.audiodamage.com/instruments/product.php?pid=AD026

    We started a talk over there about what it would entail to implement swing-what it’s connotations are in this regard, with variable delays already existing and considering there’s already a lot of flow and organic-sounding results.