Euclidean triplets

24

Comments

  • @Intrepolicious It's a rhythmical offset that allows you to offset the generated pattern by a certain number of steps. Can be most useful when playing together with other tracks because the generated rhythm can sometimes sound much better when shifted in time.

  • Thanks. Hmmm, maybe I don’t have it connected right. I’ll experiment further.

  • edited May 2023

    Each of the 8 switch inputs is connected to the corresponding output of the shift register.

    Make sure you're using the gate outputs of the two MIDI2CV modules, that's where the rhythm happens :)

  • Ah I got it! Thank you!

    I was listening for changes in the Euclidean _pattern_ itself, rather than the whole pattern being “shifted” by a certain amount of steps.

    it wasn’t evident by listening to a single kick by itself being sequenced, but when I made a separate hi hat track and started with it aligned, and then started messing with the switch, it was then that I could hear what was happening. 🫨

    I suppose the same thing could be done by modulating the various shift and step knobs on the Euclidean sequencer with an lfo, graphic modulator, or an automation lane right?

  • Yeah, it was just a fun experiment doing it this way and I wanted the Shift Register to enter the stage 😄

  • No hey, this was a good exercise (for me) in using certain modules that I normally wouldn’t think of using, and how they work with, and affect others. So thank you for that!

    I love trying things in Drambo, so I’ll be looking forward to the next one! 👍

  • I'm very happy to hear that! And I'm enjoying these challenges a lot :)

  • edited May 2023

    Updated my patch, it’s still not something to write home about (https://patchstorage.com/dueling-euclideans/).

    Inspired by @rs200 I was messing with the SR and I got an unwanted effect while using it to store gates, that it seems it merges consecutive gates (see right scope). I don't know exactly why it's doing that, but it becomes a nice gate signal to sort of derive the kick gates from the hats ones (sort of low-pass filtering the gate signal to make it less busy?). Gotta also try the slew, here…


    But at this point I'm still just collecting ideas, I still have a lot of ground to cover...

    For instance, on another patch I used the approach of zeroing the time signal of an euclidean to stop/mute it for parts of the bar, but is there a better way?

    And what approach could one use to trigger the sequencer at some point, but only have it play for two beats then stop again (until next trigger)? Maybe the same approach I mentioned (generating a gate that is 1 for the period that you want it playing and multiply it by the time signal, so time is 0 when gate is closed)?

    And finally, there was this question a while ago, but I can't find it: how do you build a "bucket" that you can add 1 or decrease 1, using for instance two up/down switches? It would preserve the actual value, but you could increase or decrease it. I think it involved an integrator.

    I need this for my dueling euclideans to preserve own state, but also for other euclideans to be able to mess their state. Like if an euclidean has had enough of another, it could decrease its steps, fill, tempo, etc.

  • I guess cross-modulating euclideans is more descriptive of what I’m after

  • @rs200

    Sorry for leaving out an order of magnitude @rs2000, only now noticed but can’t edit anymore

  • edited May 2023

    So then I started messing with the instruments themselves and this happened https://www.dropbox.com/s/ra3n1ydml6qbkxn/RPReplay_Final1685198450.MOV?dl=0

    honestly, please, is it very not totally crap?


    well it’s a WIP 😅

    and in my defense there are a couple of milliseconds where the delays hit just right

  • edited May 2023

    @pedro

    You can also mute MIDI by using 2 channel filters, one in Set and one in Filter mode. I like this way because the second one can also be modulated and used by an on/off switch for example.

    Triggering the Euclidean Sequencer at some point and only have it play for two beats could be done like this (adjust Steps/beat for other speeds):

    I have done an Up/Down counter inside this step sequencer:

    https://patchstorage.com/step-sequencer-with-manual-forward-and-reverse-buttons/

  • Thanks @rs2000 I will see how to incorporate your suggestions. Very promising, as always you get my head spinning with new ideas 🙏

  • edited May 2023

    Don’t want to impose but could you explain why the gates get merged on the SR?

    The gate never goes to zero so doesn’t retrigger?

    This configuration seems interesting to slow down busy gates while staying on tempo

    The trigs/beat dial changes the result a lot, so I’m totally using that, however it works

  • edited May 2023

    Off topic: how can you host past versions of patches for patchstorage, since to my knowledge it doesn’t have a version system. I remember @samu mentioning github, can’t find the comment. I could host it myself but what’s the least hassle?

  • edited May 2023

    @pedro It looks like the Clock Gen frequency is simply too low. If it never went to zero, you wouldn't see any pulses on the right scope at all.

    What exact bevaviour would you expect or want? I mean, "merging gates" is the natural consequence of how you've done "slowing down". BTW, it looks like you've connected the right scope to one of the SR's outputs while what you want might be to have the SR clocked at the same rate as the Euclidean Seq but slow down its readout by clocking an N-to-1 switch routing the SR outs into one re-built pulse signal. This will require two SRs to buffer the complete Euclidean sequence and it might also require a little delay here and there to compensate for processing delays that feed and read data into and out of the SRs and S&Hs at a slightly wrong time. Delays in the sub-millisecond range are usually enough.

    This one would slow down the complete sequence of an Euclidean Seq by 50%:


    re: patchstorage

    Yes, that seems to be the case. There are several possible approaches:

    • You could pack all versions into a zip and upload that
    • You could put different versions on different tracks inside one project (in case your project only has one track/rack to share)
    • You could build a rack that is configurable/switchable to include all versions in one
    • You could just upload another version under a new name (surely not the nicest approach)

    I guess my own choice would be option 3: Building an all-in-one patch. If you think that it's worth keeping different versions then most likely it would also be worth making one patch that includes all the options.

  • @rs2000 I have been trying your suggestions, one by one. Just for starters that double midi ch. filter idea is brilliant. The 2nd one can be a simple mute (by not being 1) but also can be a switch, to several euclidians on different channels

  • The writing was on the wall, I bet @rs2000 wrote that tip

  • edited May 2023

    Indeed I wrote some of the help texts including this one ;)


    // @rs2000 I have been trying your suggestions, one by one.

    Great! No question, it will take some time to get this right and it certainly helps to sketch timing on paper to make the patch work correctly.


    //  filter idea is brilliant. The 2nd one can be a simple mute (by not being 1) but also can be a switch, to several euclidians on different channels

    True. It's a bit like the N-to-1 switch for MIDI, and Note Off messages are handled automatically which is very convenient. Most hardware I remember doesn't take care of that.

  • edited May 2023

    I really love the “tips” section some of the help entries have. Wish there could be a community effort to maintain the help for each module on the online docs, and expand on the tips/usage cases department.

    I would be up for contributing my time. Even if only for scaffolding, creating entries for all modules (I realize there’s 200+), with pictures, list of i/o and parameters

  • sketch on paper

    yeah, I perhaps should start doing that 😂


  • You can send me suggestions if you like. Thanks!

    Yes!!

    Such sketches can save a lot of time when building complex patches.

  • I’ve been checking other ways, like draw.io, to easily sketch patch ideas, but I haven’t found a more immediate medium yet than pen and paper, have any of you?

  • I'm using pen and paper as well when I start to struggle with a complex patch. Like you say, I think it's still the most immediate medium.

  • edited June 2023

    I’ve been working on a custom rack that wraps an Euclidean with the math for randomly setting interesting fills/accents:

    The morph dial is for the number of steps. The fill and accent are calculated from it.

    The knobs set the random range:

    • The min and max chose a random value between % of the number of steps (in the example, between 25% and 50% of 16). That value is used for fill.
    • The accents follow the same logic but for % of fill that is used for accent.
    • I’m using a stochastic gate for the trigger of the rack (which just triggers the randoms, so it changes steps/accents).

    Although it works I feel like the design is clumsy.

    • I couldn’t find a way to change the number of steps directly with a knob, so I used a morph (I also wanted a bigger dial).
    • But then I couldn’t find a way to use the value of the morph (output seems to output nothing), so I morphed a slider and used that.
    • I am at loss of ideas for how to give some visual feedback of the morph value (display the selected value of the morph: 1 to 32). If the morph is at noon then it’s 16 steps, and all the way up is 32, but finding any number in between is impossible without calculating the exact value. I’m thinking of switching to an approach with 32 buttons (not necessarily all 32, just the interesting numbers of steps--I won’t be probably using 31 for example)

    Any ideas on improving it?

    Here's the inner workings (not that I'm proud to show them...). In this screenshot I hadn't implemented the random accents part yet, it's just the calculation for the fill, but I handled accents the same way):

    Patch:

    Just press play, and you might want to hear it with the metronome on.

  • I figured why I couldn’t use a knob directly for modulating the steps, I didn’t set range 0 to 1

  • Much nicer now


  • edited June 2023

    @rs2000 your neat trick for midi mute works great for making two euclids not play at the same time to make interlocking rhythms. I’m expanding on the idea, but just bare bones already sounds interesting

    Maybe modulating the ch.filter with the direct gate signal is too simplistic but it works 80% already

    edit: I don’t think it works as I intended, I should have thought it better, but I’ll get there

    extreme cases works as expected (I just set it like this to be able to listen for sure)

    must be the timing of the gate modulation I must work on

  • Timing could very well be the cause. In your setup, mangling the time signal could solve a few issues.

    First, adding or removing a little bit from the time signal (e.g. by using the Math => Scale+Offset module) would give you that little required shift in time.

    Second, by using larger scale numbers in Scale+Offset, you can get faster (or slower) Euclidean running speeds, adjustable much finer than on the Euclideans themselves. If your pattern is long enough (and therefore the time signal won't return to zero too often), by e.g. using logic And/Or/Xor on the note gates of the Euclideans, you'll get much longer and more varied rhythmic variations. Quite a field for experimentation I think.

    Finally, by using the Transport Time module, you can have a time signal that keeps rising as long as transport is running, if you need endless variations that only repeat when hitting Play the next time.

  • Hello @pedro , thank you for this ptach which i find very interesting!

    but I can't get it to work when there is more than one empty space with a beat from the first euclidean, it just plays the first empty space (just after a step).

    Is this intentional? Or is there something I can change? I'd like it to be able to play the beats that the first one doesn't play  (in relation to the second eculidian).

    Thanks :-)

Sign In or Register to comment.