# Euclidean triplets

I’ve tried with scale, scale time, swing time and for the life of me I cannot get the Euclidean sequencer playing triplets.

I am pretty crap at maths so I’m going by ear and feel as opposed to calculation but I’ve been out of luck.

I’m basically trying to add a knob to my patchstorage percbox to triplet the hell out of it but other than getting some interesting grooviness I’m not hearing the triplet at all.

• Isn’t this all you need?

• Damn, of course. Couldn’t see the forest for the trees.

I feel my brain is filtering out all the knobs without the modulation triangle!

Morph module it is then.

Thanks!

• edited April 2023

Oh... for modulatable you can go with time scaling...

Adjust denominator for variations

• There's also the Midi Quantize module which could be placed after the Euclidean module.

• Oh yes man, MIDI quantise is indeed the ticket! 🤛

• I’d like to see an example of this in use, if anyone’s up to it.

• Do you mean Scale time module in general or it being modulated in context in musical way?

• Yeah just being used. Doesn’t have to be exactly “musical”, but just a practical application, showing how it’s used, and what one would connect it to.

• edited April 2023

It will connect to Time signal (clock* symbol), and like other time related modules, will modulate it.

*Not to be mixed with Clock in general or known from analog modular world, but they are interconnected...

• clock is a stream of pulses or gates generally, where the distance between the pulses will determine the tempo - like f.e Tap tempo in many apps; in modular analog world this is how tempo is set
• Time signal in Drambo is basically a position in your pattern or clip measured in beats, so 0 at the beginning of the clip, 1 at first beat, 2 at second etc... if your clip is 16 steps long (4beats) at the end of the clip Time signal will reach 4 and reset back to 0 for the next cycle. Imagine it like a song position in some DAWs that support it, except in Drambo it’s most effective in relation to clips instead of linear songs.

In Drambo you have various ways to play with time...

First of all you can set Clip speed relative to tempo (bpm)

Then you have these Time modules relative to clip speed to further manipulate things.

MISC/UTILITY TIME Category:

• Counter will convert clock signal (stream of pulses or gates) into Time signal
• Reset time will reset Time signal to 0 on incoming gate
• Reverse time is self explanatory
• Scale time allows drastic changes by multiplying and/or dividing Time signal
• Shift time allows to offset time
• Swing time modifies the time signal so swing is added
• Transport time will not reset time at the end of the clip but run until transport is running - useful if you want to detach certain things from clip length (f.e clip is 16 steps long and you apply modulation with CV sequencer module with 5 steps long sequence and you don’t want CV sequencer module to reset on each clip cycle)
• not in the category, but belongs here is clock generator, which is the opposite of the Counter module - converts Time signal into clock

All modules that have Time signal port will rely on these modules (sequencers, some LFOs, some time based effects) and this signal can be used consequently via Clock generator on everything that accepts Gates.

Note in the video, that while the clip runs at normal speed each of the CV sequencers do their own thing:

• CV seq 1 - doing triplets with swing added
• CV seq 2 - runs reverse without reset on each clip cycle even though it’s 7 steps long
• CV seq 3 - well, after all this mystification Time signal is just a number between 0 and ‘infinity’ so can be generated by a simple LFO (or anything else), so CV seq 3 is simply using the output of LFO (with an offset) to run back and forth.
• Wow, thank you so much for taking the time and posting such a thorough and detailed explanation!

The video really helps with understanding how these time related modules work with their respective connections.

These concepts are exactly what I’ve been looking for, as I have a project where I’ve been using Atom2 to basically shoehorn odd time signatures (7/8 for one) into a relatively “normal” 4/4 type of piece.

Eliminating Atom2 from the equation, and using native modules would make things “cleaner” and a lot more tidy I think. Your video and explanation opens up a few more doors for me, so thank you for that!

and thank you @supadom for starting this thread.

• This could be a somewhat different option, allowing you to place triplets on an otherwise straight groove by defining a “key switch” for deliberately triggering triplet repeats to add some flavor:

• edited April 2023

@rs2000 I have been studying these topics myself, trying to create random fills as you say, and that design gives some ideas. Modulating steps/fills/accents is really fun, but not all combinations work well, you have to find the sweet spots.

I have been compiling world rhythms for years, and I had this recent realization that I went through all that trouble and my list is easily replicated by combinations of steps/fill in the euclidian sequencer (shows again how amazing @giku is).

I just put a simple formula in my list (for number of steps and number of strokes--last columns in red) and it kinda perfectly maps to steps/fill in euclidean.

Here's the table:

At first I was thinking of schemes to store this table in a graphic shaper (I'd probably have to figure how to edit the xml directly), but then I realized I just need to store these ranges for modulating steps/fill:

Any suggestions on how to efficiently store these values, and how to design a patch so I can modulate the euclidean using only these combinations?

BTW: I invite you guys to try the Aka pygmies settings, steps=24 fill=9 to 13. I love these little genius!

And an amazing book about this world rhythm/euclidean connection among other topics is "The Geometry of Musical Rhythm" by Godfried T. Toussaint

• edited April 2023

@pedro i anticipate @rs2000 will advocate the use of graphic shaper and I’d second that. It’s quite work intensive but defo can be done that way.

Thanks for sharing these. Any chance you could upload a higher res of the first image? Thanks.

• edited April 2023

Yeah I was thinking graphic shapers, as in plural. This is just a few values, so not too much hassle. I’m just sure that there is an elegant solution that doesn’t involve separate sequencers for each row of the table, but a dynamic lookup that sets one single sequencer, and can be index modulated.

Part of the fun is understanding how to do it myself, but if you guys could give me a head start...

• I think it’s the forum that really compresses the picture, but I’ll upload a zip with picture and the actual excel file

• Here you go @supadom

• Thank you @pedro, that's great stuff here!

These modules come to my mind whenever I want to store values or create odd sequences:

• Graphic Shaper and Graphic Modulator
• CV/Gate Sequencers (not only the values but also modified time input)
• Buttons module storing numbers and N-1 switch advancing from number to number (advantage: You can have many steps of arbitrary amount)
• Euclidean Sequencer plus math modules to change its function as desired
• Sequencer step components and Scenes
• Using multiple chained Shift Registers to make sequences from single values (Advantage: You don't need to pre-set values and can sequence calculated values on the fly)
• Using different delay-with-feedback modules for different beat meters and switch between them (Again using the N-1 switch) to pick up gate values and generate notes
• Imagine what you can do with multiple N-1 switches, delay lines between multiple Shift Registers and CV/Gate sequencers all served with some math and time signal processing!
• @rs2000 thank you so much for your trouble and that valuable breakdown. You have given me much ground to experiment.

What I like most is that going through your list I can actually get what you’re talking about and how to implement your suggestions. I guess I’m making progress.

This modulatable within parameters euclidian is just one of the ideas I’ve been toying with, but now with your help I might be able to build something worth sharing.

Thanks for the ideas, you never fail to deliver 🙏

• I’m thinking dueling euclidians, now. Like call and response, one euclidian for the bass, another faster one for treble, but have them interact somehow.

The shift register is going to have a play here, didn’t think of it at first. And the feedback modules. Wish I had a brain just for drambo

• edited April 2023

.

• Duelling Euclideans sounds like a fun idea 😊

The shift register helps building a simple offset switch. Definitely a source of new, more interesting rhythmic material that does not necessarily repeat on each bar.

• That looks really interesting but I’m not sure I understand what you’re doing with the SR there… could you share the patch?

• I’ve tried to replicate but not getting quite to what the data socket is connected @rs2000

I wouldn’t mind trying the pre wired patch if possible.

• edited May 2023

No secret here, Data is connected to the "SEQ" MIDI2CV's Gate and Clock is connected to the "CLK" MIDI2CV's Gate output.

This setup will ignore the pitch set in the Euclideans but as we're only creating single pulses anyway, you can always generate new MIDI notes later using MIDI Note Generator modules.

• edited May 2023

The idea is to use one Euclidean as-is but the second one to forward notes from the first one at irregular intervals in order to get weird rhythmic patterns going beyond common euclidean beats.

The SR only shifts the result, no real magic here other than provided clock/shifted versions of the weird generated patterns.

I could also have used a Sample & Hold (S & H) module but the Shift Register conveniently provides 8-bit storage for providing the shifted beat versions.

Many other possibilities can be done with similar configurations, like chaining two or more SRs clocked by the same source (output 8 of the first one goes into the input of the second SR, output 8 of the second one goes into SR3's input etc.) and then modulating a N-1 switch with another generated pattern to pick from all the SR outputs in a certain manner...

Random LFOs and Time Signal into Graphic Shapers can help generating pseudo random values that have a higher likelihood on certain values like onbeats and so on.

• edited May 2023

@rs2000 I think I get it now, your idea is kinda what I had going in my head as an end result. Maybe more structured, like only letting the second euclidian fire on some beats (I can do this with a cv sequencer and an AND). I’d also like to send back some feedback from the 2nd to the 1st, so they evolve in complexity together, and maybe have them exclude one another so they don’t play together (and I still want to restrict them to those combinations from the table I posted, but I think I have that problem tackled). I’m still digesting your list, specially the last three are giving me a handful

But these are all ideas I must mature, it’s hard coming home from 8h of looking at the “bad screen” and spending another 2h looking at the “good screen”. Also I lose track of time when I’m immersed in Drambo, and I must remember to eat… and sleep…

But thanks again for the help, just give me sometime to figure at least part of it myself, don’t steal all the fun 😂

• Exactly @pedro!

I can't get rid of the computer screen in my day job either so it's more of a spare time activity.

I was lucky to work a lot with synths when I was young and had plenty of spare time and dedication energy.

At least Drambo runs on the phone too so it can literally be fired up anywhere, just to try something etc.

Great to hear you're getting into the concepts more and more 😊

• Anyay, here”s some kuduro https://patchstorage.com/dueling-euclideans/

• Hey, I know I’m late to the party here, but I just wanted to mention that it took me a minute to figure out that your “OFFSET” was actually a switch that you renamed “OFFSET”. I was like “that doesn’t look like the “Offset” module that i have!” lol

Now that I know what it is, I’ve built what you’ve shown here, and made all the connections, but can’t figure out what the switch is actually doing.

Any pointers?