When playing around with euclidean sequencer modules, I asked myself if it would be possible to create every possible rhythm with a few knobs in a similar way, and I came up with this:
Some euclidean sequencers allow to “pad” the sequence, making the hits gravitate towards one spot of the sequence. Now what if we would make them gravitate towards multiple spots, defined by another euclidean sequence? So then a second euclidean sequence would determine a few steps in the sequence to where all the other steps gravitate.
Together with options like switching to non-euclidean sequences (like in Frozen Wastelands Quad Algorhythmic Rhythm) and variations (like in Polygene) this might come pretty close to being able to generate every possible rhythm… although I’m not sure about this
But I thought maybe there’s a developer who likes the idea.
I like the idea. But it is under-specified.
Can you give a few examples of precisely how the beats coming off one Euclidean sequence are being fed into pad holes in another?
If I even get that much right.
How were you thinking the clocks would be arranged for the two? If they are asynchronous you’ll have potential for undesirable short events. Here I suggest thinking about a clock and a derived clock, just a division of the main clock.
As for generating every possible rhythm I expect we still have a few thousand years before that work gets finished.
if you flesh out your idea a bit more, I’ll see if I can make the QAR do it
The way I imagine it, it would work like the accents in Quad Algorhythmic Rhythm, but instead of accents they would be “centers of gravity” that the other hits would gravitate towards.
I think it might be best if the gravity only acts in one direction, so all hits before an accent get padded towards it, and all hits after that accent gravitate to the next.
edit: So maybe a button that activates “Pad to Accents” would be a perfect solution, all other parameters are already there in QAR.
One heart is not enough: I love this post.
Oh, no I couldn’t do that - that would limit how accents work. When I add features, I add the feature
But I am not sure what you mean by center of gravity, right now, All Padding does is make sure the last ‘n’ spots are empty. Say you set the step length to 16, but then set padding to 6. That means the last 6 spaces will always be rests, and the Euclidean algorithm uses an effective step size of 10.
Its an interesting idea, but not quite sure I know what to do yet
Well, the accents could still work the same way, only the padding would react differently, moving the active steps toward the accents.
Something like this: You have a Euclidean Sequence, let’s say 8/16 for example and two accents
*|-|-|-|-|-|-|-|- euclidean sequence
*- - - | - - - | accents
*- - |||| - - |||| active steps padded towards accents
*The representation here is not accurate, just to get the idea across.
The accents should be set independently from the original sequence though, so they could be anywhere, not only where there are already active steps, so essentially a second euclidean sequence with the same length. But they could have their independent outputs and controls exactly like they are now on QAR.
A while back I was experimenting with max patches that had a probability distribution curve which controlled the density of events in a euclidean engine. I think QAR can do this but its been a while since I tried it. @almostEric very cool module btw.
However, what @schabbes is describing is no longer a euclidean pattern (or at least not to my knowledge). Have you tried the Hexaquark sequencer? This seems similar to what you describe although its not built on a euclidean engine.
It’s no longer a euclidean sequence then, but that’s kind of the goal, creating algorhythmic sequences that are not possible with the current algorhythmic sequencers.
The advantage of algorhythmic sequencers to me lies in being able to control relatively long sequences and switching them up completely with just a few knobs. Step sequencers like Hexaquark already offer ultimate flexibility, but you need to change each step individually, while the algorhythmic sequencers allow wild changes with the twist of a knob.
Hexaquark is a great module , and I love how it can create additional cvs, but it doesn’t come close to the rhythmical complexity QAR can do (especially with its expanders)
Ok, I think I got the gist, I’ll need to ponder on how I want to implement
This sounds cool.
The Polygene variations knob was intended to give you access to rhythms that are close to Euclidean in a way that small changes to the knob don’t change the rhythm too much and that no rhythm is ever repeated. For shorter rhythms it does cover every possibility but not in an easy to navigate way.
This gravitate towards accents idea is great! It lets you guide the rhythm to have more beats in the areas you want without having to rely on an algorithm and without having to specify each beat.
I’m imagining say some planets/magnets within a circle and beats around the circle, you control the size/position/number of planets and the beats organise themselves around the circle. A single planet in the middle is Euclidean, move the planets towards the edge and the beats clump around it.
QAR is the most sophisticated Euclidean sequencer I’ve ever come across. And as I see there is a chance that its unmatched and truly incredible feature list will even increase.
Something like this, move the centre of gravity and the beats gravitate towards it.
Qar and PW my fav modules, just said ))
I’m still conceptualizing this, but in the meantime, have you played with the Warped Space expander?
Thinking of this brings up a question i have for @Vortico. If I want two modules to communicate specialized information, is the only current means by using expanders? I’ve done that a lot, but for this feature it seems really unwieldy. What I would like is to use standard ports, but the values would not be normal voltages. Basically the inputs and outputs would be meaningless to other modules. I get this violates the spirit of modular synthesizes where you can plug any cable into anything else, but we don’t really have the equivalent of expansion cables either
I’m not sure if this will be useful or not, but we communicate some info (track names) between EQ Master and MixMaster, even though EQMaster is not an expander.
Indeed, this was a solution we derived from Jerry Sievert’s message bus technique. So it’s inter-module communication but doesn’t use the expander mechanism. It has to be done correctly for threading issues and performance, and our solution is likely not a reference, but it works well in this scenario (low throughput and non-critical latency).
ok, well Jerry is my friend, so I’ll ask him about it