Skip to content
This repository was archived by the owner on Jun 19, 2025. It is now read-only.
This repository was archived by the owner on Jun 19, 2025. It is now read-only.

Clarity on what third parameter of euclidian function is rotating #1345

@hellocatfood

Description

@hellocatfood

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions