You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Jun 19, 2025. It is now read-only.
Following the discussion in 2024 about the differences in how euclidian functions are used in tidal and strudel I updated the Tidal docs to to add clarity on what the third parameter does.
I think the same should be added for Strudel, which could be useful for those switching between Tidal and and Strudel. Suggested edits to the Euclidian rhythms reference page below
What this third parameter actually does is rotate the pattern. To better illustrate this run the following code
const line = drawLine("x(3,8)");
logger(line);
silence;
This will shows the pattern on a linear timeline, with x showing events. This can be viewed in the console in the sidebar:
|x..x..x.|x..x..x.|x..x..x.|x..x..x.|x..x..x.|x..x..x.|x..x..x.
By rotating it by one step (3,8,1) the pattern now looks like this
|.x..x..x|.x..x..x|.x..x..x|.x..x..x|.x..x..x|.x..x..x|.x..x..x
This is diffferent from how TidalCycles uses the third parameter. To replicate the way TidalCycles work you can "flip" the function by adding a `-` to the paramter
const line = drawLine("x(3,8,-1)");
logger(line);
silence;
This produces the following pattern
|..x..x.x|..x..x.x|..x..x.x|..x..x.x|..x..x.x|..x..x.x|..x..x.x