New plugin for Euclidean Rhythms

I hear you.

Your points 1, 2 and 4 resonate with me very clearly (even if that will imply a good amount of work).

Point 3 I’m not even sure I’m understanding, to be honest. I’m torn between thinking that it would be a key differentiator between this and other implementations, and thinking that I just don’t see the point. Could you please elaborate?

Thanks for your feedback.

Again, I’m likely operating from an incomplete understanding of how I would use the rhythms. My notion is that a composer might want different pulses of a given E-rhythm to trigger different notes on the “downstream” VST instrument: maybe floor tom interleaved with rack tom, or even arpeggiated notes of a synth pad.

E.g., if I want e.g. a Cmin7 arpeggio to play over the pulses of a given E-rhythm, I might specify “C4, Eb4, G4, Bb4” as the list of notes, and select “round robin” to rotate among them (the “round robin” name is probably misleading here). For the “floor tom vs. rack tom” case, I might specify “A1 C2” as the notes, and select “random”.

For the “random” vs. “round-robin” part, consider how the “follow actions” logic works in new cue page in Ardour.

I found the best way was to show the inline controls in the mixer and then you could see them all set out without having to hop to different windows. I don’t really feel you need to make a single plugin that can have multiple instances when it’s easy enough to just duplicate tracks for extra instances and group tracks together for easy hiding if you don’t want to see them.

For random midi notes. I have a plugin called MIDI Velocity Random, it’s made by x42/Robin Gareus. I am not sure how I got it, whether it’s including in Ardour but sticking that in the chain can already provide the random velocity feature.

Also you can have more than one instance of the Euclidean Rhythm on a single track by putting an external send to the instrument track after each instance and not using the fader output.

1 Like

This comment is fairly orthogonal to the rest of the thread.

I’d just like to mention Tero Parviainen’s browser-based implementation of euclidean rythms as one of the nicest and most natural feeling that I’ve ever come across

to be a full plugin would require some more controls, but the basic concept of how to offer the user control here is, to me at least, totally outstanding.

1 Like

This is amazing user experience, @paul Thanks for the reference, I was unaware of it and I find it inspiring.

Something I noticed right away is that the four rhythms have different timing. The plugin, however, receives its timing information from Ardour. Do you think I should untie them, for the sake of creativity and experimentation? And if I do, how to deal with synchronisation and repeatability? The DAW offers a host and a transport for a reason, after all.

1 Like

If I was doing this, I would make all N “loops” represent 1 measure, and have the measure start correspond to some defined point “around the circle” (e.g. the 12/00 clock position).

I would also add mute/solo controls for each loop.

1 Like

Sorry, forgot to notify you that an archlinux package exists now in the AUR.

1 Like

@Bruno_Unna, I’m very excited about the work you’re doing here. I’ve been using Ardour and the linux music ecosystem exclusively for over a decade, and very happy to do so, but the plugin you’re creating promises to fulfill a large gap in what I’ve wanted to accomplish. Thank you!

I agree with all the suggestions in this conversation thus far, and especially with Paul’s suggestion to have all the loops synchronized to the length and start of each measure in Ardour (and, thus, folllowing any tempo maps/changes in the timeline). I would absolutely love to see an interface like the one he linked to, with the parameters you’ve already put into your plugin available for each loop, and automatable. :slight_smile:

Again, I’m already very excited by the excellent work you’ve already done: thank you!

I think that would miss out on the polyrhythmic possibilities of Euclidean rhythms, or force you into some odd notation. One of the cool possibilities is having rhythms which only line up every two, three, … measures. There is a cool drum part in St. Augustine in Hell which would usually be notated as 7/8 with the ride cymbal part playing quarter notes, so the full pattern goes across two measures. It would be kind of goofy if you had to setup your entire song as 14/8 just so the pattern generator would do what you want. That is just a pop music example which came to mind, but if you look at the original Toussaint paper some of the sequences which are used in Brazilian and African music are pretty long. I don’t think anyone is going to notate the “central African necklace” rhythm as 24/4 or 24/8 measures.

Synchronized to the start, definitely yes. Forced to only be one measure long gets a no vote from me.

I’m totally ready to be wrong here :slight_smile: - but isn’t that ride part an example of a polymeter rather than a polyrhythm? (The two may or may not require different approaches - I’ll reread the Toussaint - it’s been a few years.)

Would you agree that it should be a multiple of measures? Or a certain number of beats, with beats defined as what Ardour calls a beat?

Could that be a configuration option on the plugin?

Cheers,

Keith

I’m not confident enough about the definitions to argue one way or the other. Or maybe you could analyze it as either depending on what aspect you emphasized. My point was don’t get locked into the idea of measure or bar, because there may be other reasons to organize the measures in different sub-divisions. Going back to that previous example, I originally tried to figure out how to notate the pattern in 7/4 and couldn’t really make sense of it, until a drummer pointed out that it was a lot easier if you just ignored the ride, think of the kick and snare pattern in 7/8, then layer the ride on top of it letting that pattern cross the measure lines.

Sure, that would work out eventually. It kind of has to since the notation form is a circle, the rhythms all come back around to the beginning eventually.

Yes, I think that is the original way Toussaint described the patterns, a total number of pulses, and how many “hits” you sub-divide into those pulses.

That cool generator from Wouter Hisschemöller from the older thread
Music Pattern Generator webmidi version
is a cool example because you can have multiple generators with different pattern lengths running, and they are just tied together by tempo. I don’t know if it even makes sense to try to think of some of those composite patterns in terms of measures or bars.

Yes, sorry, I didn’t mean to be so fixated on 1 measure. Any number of measures. But please not beats, because although there are corner cases for a number of beats != a number of measures, we always have myriad of Euclidean generators in Rack/Cardinal for that.

And if you want multiple different measure lengths, use more than 1 track and more than 1 plugin instance. Let a single instance be instantly comprehensible and crazily useful for polymetric stuff.

But I don’t feel super-strongly about that last part, and anyway, it’s not my plugin :slight_smile:

Also, everyone should check out Beat Scholar, which is neither libre nor free, but is an excellent newish plugin for designing complex metrical/rhythmic arrangements.

1 Like

It is good that it is now in archlinux packages list, even in AUR.
It would be great if this plugin would read the time signature of the session, or be able to select it in the plugin (like 7/8, 9/8, etc).
Nice work, thank you!

I think that you are spot on. That letting each generator use a multiple of bars as its time context will collect the best ideas already expressed here.

Actually, while I was writing the first version of the plugin it entered my mind the idea of not obeying the transport at all. But for me, repetition is an important trait of this plugin, and coordination with the rest of the piece is of paramount importance.

Using beats as the time reference, as Paul has stated elsewhere, is a bad idea.

So the question for me was: should each generator use a multiple of bars length, or an arbitrary factor? I lean towards the former, because that makes it easier to understand, and because I surmise that the gain from doing it otherwise would be marginal, or none at all.

1 Like

I think that Toussaint deliberately avoided the discussion about whether his “pulses” would fit in a bar or not. :slight_smile:

For us, Ardour users, I believe that the concept of a bar is core to the way we do music (but I can only speak for myself).

That’s not a hard thing to do, but what do you think the plugin should do with that information?

For myself, one, two, or any other integer bars length makes sense. I can’t make sense of what any other length would accomplish, other than stochasticism, which is cool, but not what I want. :smiley:

1 Like