Dynamically count cycle length?

Recently, I've been enjoying calculating the bpm by a cycles beat length. This allows for neat usage of odd time signatures, and keeps the cycles with clear start/end points (rather than using polymeters).

I was wondering if there was a way to calculate the main cycle beats dynamically, as this is the part I'm doing manually atm...

d1 $ s "k s k s" # b 4  // four beats
d1 $ s "k h k [h h] k" # b 5 // five beats

// adjust bpm by beat length
b b = cps(180/60/b)

It would be great to not have to not have to manually ensure this, as getting it wrong can create some awful racket...

Or is there an alternative way of doing this? Also I guess it should account for the @ syntax too...

1 Like

after parsing a mini-notation string, all of the structure is kindof lost, so it's not really possible to count the beats in a cycle in a non hacky way (even if it might seem straightforward)..

I'm also not sure what an alterantive way of doing this would be unfortunately

Ah thanks, its not the end of the world doing it this way, will probably be more clear doing it intentionally as well

Beatwise representation and transformations are the focus of tidal version 2, so is on the horizon..

2 Likes

2023 is going to be lit